r567: minor change to #56

This commit is contained in:
Heng Li 2017-11-09 19:17:45 -05:00
parent 032068a747
commit 99a2709913
3 changed files with 7 additions and 9 deletions

View File

@ -266,14 +266,14 @@ static void write_sam_cigar(kstring_t *s, int sam_flag, int in_tag, int qlen, co
clip_len[0] = r->rev? qlen - r->qe : r->qs; clip_len[0] = r->rev? qlen - r->qe : r->qs;
clip_len[1] = r->rev? r->qs : qlen - r->qe; clip_len[1] = r->rev? r->qs : qlen - r->qe;
if (in_tag) { if (in_tag) {
int clip_char = (sam_flag&0x800 && !(opt_flag&MM_F_SOFTCLIP))? 5 : 4; int clip_char = (sam_flag&0x800) && !(opt_flag&MM_F_SOFTCLIP)? 5 : 4;
mm_sprintf_lite(s, "\tCG:B:I"); mm_sprintf_lite(s, "\tCG:B:I");
if (clip_len[0]) mm_sprintf_lite(s, ",%u", clip_len[0]<<4|clip_char); if (clip_len[0]) mm_sprintf_lite(s, ",%u", clip_len[0]<<4|clip_char);
for (k = 0; k < r->p->n_cigar; ++k) for (k = 0; k < r->p->n_cigar; ++k)
mm_sprintf_lite(s, ",%u", r->p->cigar[k]); mm_sprintf_lite(s, ",%u", r->p->cigar[k]);
if (clip_len[1]) mm_sprintf_lite(s, ",%u", clip_len[1]<<4|clip_char); if (clip_len[1]) mm_sprintf_lite(s, ",%u", clip_len[1]<<4|clip_char);
} else { } else {
int clip_char = (sam_flag&0x800 && !(opt_flag&MM_F_SOFTCLIP))? 'H' : 'S'; int clip_char = (sam_flag&0x800) && !(opt_flag&MM_F_SOFTCLIP)? 'H' : 'S';
if (clip_len[0]) mm_sprintf_lite(s, "%d%c", clip_len[0], clip_char); if (clip_len[0]) mm_sprintf_lite(s, "%d%c", clip_len[0], clip_char);
for (k = 0; k < r->p->n_cigar; ++k) for (k = 0; k < r->p->n_cigar; ++k)
mm_sprintf_lite(s, "%d%c", r->p->cigar[k]>>4, "MIDN"[r->p->cigar[k]&0xf]); mm_sprintf_lite(s, "%d%c", r->p->cigar[k]>>4, "MIDN"[r->p->cigar[k]&0xf]);
@ -381,18 +381,13 @@ void mm_write_sam2(kstring_t *s, const mm_idx_t *mi, const mm_bseq1_t *t, int se
if (t->qual) sam_write_sq(s, t->qual, t->l_seq, 0, 0); if (t->qual) sam_write_sq(s, t->qual, t->l_seq, 0, 0);
else mm_sprintf_lite(s, "*"); else mm_sprintf_lite(s, "*");
} else { } else {
if ((flag & 0x900) == 0) { if ((flag & 0x900) == 0 || (opt_flag & MM_F_SOFTCLIP)) {
sam_write_sq(s, t->seq, t->l_seq, r->rev, r->rev); sam_write_sq(s, t->seq, t->l_seq, r->rev, r->rev);
mm_sprintf_lite(s, "\t"); mm_sprintf_lite(s, "\t");
if (t->qual) sam_write_sq(s, t->qual, t->l_seq, r->rev, 0); if (t->qual) sam_write_sq(s, t->qual, t->l_seq, r->rev, 0);
else mm_sprintf_lite(s, "*"); else mm_sprintf_lite(s, "*");
} else if (flag & 0x100) { } else if (flag & 0x100) {
mm_sprintf_lite(s, "*\t*"); mm_sprintf_lite(s, "*\t*");
} else if (opt_flag & MM_F_SOFTCLIP) {
sam_write_sq(s, t->seq, t->l_seq, r->rev, r->rev);
mm_sprintf_lite(s, "\t");
if (t->qual) sam_write_sq(s, t->qual, t->l_seq, r->rev, 0);
else mm_sprintf_lite(s, "*");
} else { } else {
sam_write_sq(s, t->seq + r->qs, r->qe - r->qs, r->rev, r->rev); sam_write_sq(s, t->seq + r->qs, r->qe - r->qs, r->rev, r->rev);
mm_sprintf_lite(s, "\t"); mm_sprintf_lite(s, "\t");

2
main.c
View File

@ -6,7 +6,7 @@
#include "mmpriv.h" #include "mmpriv.h"
#include "getopt.h" #include "getopt.h"
#define MM_VERSION "2.4-r562-dirty" #define MM_VERSION "2.4-r567-dirty"
#ifdef __linux__ #ifdef __linux__
#include <sys/resource.h> #include <sys/resource.h>

View File

@ -302,6 +302,9 @@ is given,
.I short .I short
is assumed. [none] is assumed. [none]
.TP .TP
.B -Y
In SAM output, use soft clipping for supplementary alignments.
.TP
.BI --seed \ INT .BI --seed \ INT
Integer seed for randomizing equally best hits. Minimap2 hashes Integer seed for randomizing equally best hits. Minimap2 hashes
.I INT .I INT