X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=padding.c;h=033a7916237f94314bcf9661880a3fcde4604156;hb=1ef8ee37fa796dd58e4c18681939a2fafe84ee0c;hp=f839c3bc57d37fc153880fb12a17230dcdb8b0f1;hpb=73272534935626214df3584e6287c3f652f10f32;p=samtools.git diff --git a/padding.c b/padding.c index f839c3b..033a791 100644 --- a/padding.c +++ b/padding.c @@ -57,7 +57,7 @@ int bam_pad2unpad(bamFile in, bamFile out) bam_header_t *h; bam1_t *b; kstring_t r, q; - int r_tid = -1; + int r_tid = -1; uint32_t *cigar2 = 0; int n2 = 0, m2 = 0, *posmap = 0; @@ -76,6 +76,10 @@ int bam_pad2unpad(bamFile in, bamFile out) */ r_tid = b->core.tid; unpad_seq(b, &r); + if (h->target_len[r_tid] != r.l) { + fprintf(stderr, "[depad] ERROR: (Padded) length of %s is %i in BAM header, but %ld in embedded reference\n", bam1_qname(b), h->target_len[r_tid], r.l); + return -1; + } write_cigar(cigar2, n2, m2, bam_cigar_gen(b->core.l_qseq, BAM_CMATCH)); replace_cigar(b, n2, cigar2); posmap = realloc(posmap, r.m * sizeof(int));