From 33657bf170632d332089c654723df710c12e9755 Mon Sep 17 00:00:00 2001
From: peterjc
Date: Mon, 26 Mar 2012 15:57:46 +0100
Subject: [PATCH 1/1] 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