X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=misc%2Fmaq2sam.c;h=758a698ed59aba300720599cda96c2759317887f;hb=b0ed19dc2d8fb84998d41d6c3588611185707137;hp=6eaf2c6257a33a43e81b62f5ce948253ade81590;hpb=187343102a19bfb8f83669b53d6b34039f613bc6;p=samtools.git diff --git a/misc/maq2sam.c b/misc/maq2sam.c index 6eaf2c6..758a698 100644 --- a/misc/maq2sam.c +++ b/misc/maq2sam.c @@ -5,7 +5,7 @@ #include #include -#define PACKAGE_VERSION "0.1.1 (20090120)" +#define PACKAGE_VERSION "0.1.2 (20090521)" //#define MAQ_LONGREADS @@ -94,7 +94,7 @@ void maq2tam_core(gzFile fp, const char *rg) m1 = &mm1; mm = maqmap_read_header(fp); while ((ret = gzread(fp, m1, sizeof(maqmap1_t))) == sizeof(maqmap1_t)) { - int j, flag = 0; + int j, flag = 0, se_mapq = m1->seq[MAX_READLEN-1]; if (m1->flag) flag |= 1; if ((m1->flag&PAIRFLAG_PAIRED) || ((m1->flag&PAIRFLAG_SW) && m1->flag != 192)) flag |= 2; if (m1->flag == 192) flag |= 4; @@ -130,6 +130,7 @@ void maq2tam_core(gzFile fp, const char *rg) if (c > 0) printf("%dM%dI%dM\t", m1->map_qual, c, m1->size - m1->map_qual - c); else printf("%dM%dD%dM\t", m1->map_qual, -c, m1->size - m1->map_qual); } + se_mapq = 0; // zero SE mapQ for reads aligned by SW } else { if (flag&4) printf("0\t*\t"); else printf("%d\t%dM\t", m1->map_qual, m1->size); @@ -144,11 +145,11 @@ void maq2tam_core(gzFile fp, const char *rg) putchar((m1->seq[j]&0x3f) + 33); putchar('\t'); if (rg) printf("RG:Z:%s\t", rg); - if (flag&4) { + if (flag&4) { // unmapped printf("MF:i:%d\n", m1->flag); } else { printf("MF:i:%d\t", m1->flag); - if (m1->flag) printf("AM:i:%d\t", m1->alt_qual); + if (m1->flag) printf("AM:i:%d\tSM:i:%d\t", m1->alt_qual, se_mapq); printf("NM:i:%d\tUQ:i:%d\tH0:i:%d\tH1:i:%d\n", m1->info1&0xf, m1->info2, m1->c[0], m1->c[1]); } }