From 33657bf170632d332089c654723df710c12e9755 Mon Sep 17 00:00:00 2001 From: peterjc Date: Mon, 26 Mar 2012 15:57:46 +0100 Subject: [PATCH] Check reference length in BAM header against embedded reference in 'samtools depad' --- padding.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/padding.c b/padding.c index f839c3b..cf8ebfd 100644 --- a/padding.c +++ b/padding.c @@ -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 %i 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)); -- 2.39.2