From: peterjc Date: Thu, 22 Mar 2012 17:48:47 +0000 (+0000) Subject: Helpful error message on bad CIGAR in unpad_seq X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=83a75621d9b3d0dcdef7848e9170a0c5e0aac242;p=samtools.git Helpful error message on bad CIGAR in unpad_seq --- diff --git a/padding.c b/padding.c index fb3bc13..17da758 100644 --- a/padding.c +++ b/padding.c @@ -37,14 +37,16 @@ static void unpad_seq(bam1_t *b, kstring_t *s) int op, ol; op = bam_cigar_op(cigar[k]); ol = bam_cigar_oplen(cigar[k]); - assert(op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CSOFT_CLIP); if (op == BAM_CMATCH) { for (i = 0; i < ol; ++i) s->s[s->l++] = bam1_seqi(seq, j); ++j; } else if (op == BAM_CSOFT_CLIP) { j += ol; - } else { + } else if (op == BAM_CDEL) { for (i = 0; i < ol; ++i) s->s[s->l++] = 0; + } else { + fprintf(stderr, "[unpad_seq] Didn't expect CIGAR op %c in %s\n", BAM_CIGAR_STR[op], bam1_qname(b)); + assert(-1); } } }