From 3bd33508d7e046c7256684c2ada0fe5644ac98ae Mon Sep 17 00:00:00 2001
From: peterjc
Date: Wed, 16 Nov 2011 10:04:16 +0000
Subject: [PATCH] bam_calend should count CIGAR X/= operators
---
bam.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bam.c b/bam.c
index 0055e84..71132d3 100644
--- a/bam.c
+++ b/bam.c
@@ -20,7 +20,7 @@ uint32_t bam_calend(const bam1_core_t *c, const uint32_t *cigar)
end = c->pos;
for (k = 0; k < c->n_cigar; ++k) {
int op = cigar[k] & BAM_CIGAR_MASK;
- if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP)
+ if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF || op == BAM_CDEL || op == BAM_CREF_SKIP)
end += cigar[k] >> BAM_CIGAR_SHIFT;
}
return end;