From: peterjc Date: Mon, 2 Apr 2012 10:26:27 +0000 (+0100) Subject: Revert one of my earlier changes - Heng was right, CIGAR P not sensible in a padded... X-Git-Url: https://git.donarmstrong.com/?p=samtools.git;a=commitdiff_plain;h=ccb7838cb53bf0ca6917a77f7991d940057c12db Revert one of my earlier changes - Heng was right, CIGAR P not sensible in a padded reference --- diff --git a/padding.c b/padding.c index b544aab..4061f24 100644 --- a/padding.c +++ b/padding.c @@ -35,13 +35,13 @@ static void unpad_seq(bam1_t *b, kstring_t *s) uint8_t *seq = bam1_seq(b); // b->core.l_qseq gives length of the SEQ entry (including soft clips, S) // We need the padded length after alignment from the CIGAR (excluding - // soft clips S, but including pads) + // soft clips S, but including pads from CIGAR D operations) length = 0; for (k = 0; k < b->core.n_cigar; ++k) { int op, ol; op= bam_cigar_op(cigar[k]); ol = bam_cigar_oplen(cigar[k]); - if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF || op == BAM_CDEL || op == BAM_CPAD) + if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF || op == BAM_CDEL) length += ol; } ks_resize(s, length); @@ -55,7 +55,7 @@ static void unpad_seq(bam1_t *b, kstring_t *s) j += ol; } else if (op == BAM_CHARD_CLIP) { /* do nothing */ - } else if (op == BAM_CDEL || op == BAM_CPAD) { + } else if (op == BAM_CDEL) { for (i = 0; i < ol; ++i) s->s[s->l++] = 0; } else { fprintf(stderr, "[depad] ERROR: Didn't expect CIGAR op %c in read %s\n", BAM_CIGAR_STR[op], bam1_qname(b));