[med-svn] samtools 02/02: Refreshed to for upstream version 1.0.
Charles Plessy
plessy at moszumanska.debian.org
Thu Aug 21 22:54:35 UTC 2014
This is an automated email from the git hooks/post-receive script.
plessy pushed a commit to branch debian/unstable
in repository samtools.
commit d062687c6fed2a74712a9ea426335781f351efbc
Author: Charles Plessy <plessy at debian.org>
Date: Fri Aug 22 07:53:22 2014 +0900
Refreshed to for upstream version 1.0.
---
debian/patches/fix_segfault_with_small_ref.patch | 96 ++++++++++++------------
1 file changed, 47 insertions(+), 49 deletions(-)
diff --git a/debian/patches/fix_segfault_with_small_ref.patch b/debian/patches/fix_segfault_with_small_ref.patch
index 0f1f665..00f7f75 100644
--- a/debian/patches/fix_segfault_with_small_ref.patch
+++ b/debian/patches/fix_segfault_with_small_ref.patch
@@ -1,53 +1,51 @@
Description: Fix segfault if position is outside of the reference sequence length
Origin: Don Armstrong <don at donarmstrong.com>
-Index: samtools/bam_plcmd.c
-===================================================================
---- samtools.orig/bam_plcmd.c
-+++ samtools/bam_plcmd.c
-@@ -96,6 +96,7 @@
- bam_iter_t iter;
- bam_header_t *h;
- int ref_id;
-+ int ref_len;
- char *ref;
- const mplp_conf_t *conf;
+--- a/bam_plcmd.c
++++ b/bam_plcmd.c
+@@ -127,6 +127,7 @@
+ hts_itr_t *iter;
+ bam_hdr_t *h;
+ int ref_id;
++ int ref_len;
+ char *ref;
+ const mplp_conf_t *conf;
} mplp_aux_t;
-@@ -139,6 +140,11 @@
- qual[i] = qual[i] > 31? qual[i] - 31 : 0;
- }
- has_ref = (ma->ref && ma->ref_id == b->core.tid)? 1 : 0;
-+ if (has_ref && (ma->ref_len <= b->core.pos)) { // exclude reads outside of the reference sequence
-+ fprintf(stderr,"[%s] Skipping because %d is outside of %d [ref:%d]\n",__func__,b->core.pos,ma->ref_len,ma->ref_id);
-+ skip = 1;
-+ continue;
-+ }
- skip = 0;
- if (has_ref && (ma->conf->flag&MPLP_REALN)) bam_prob_realn_core(b, ma->ref, (ma->conf->flag & MPLP_REDO_BAQ)? 7 : 3);
- if (has_ref && ma->conf->capQ_thres > 10) {
-@@ -307,7 +313,11 @@
- if (tid0 >= 0 && conf->fai) { // region is set
- ref = faidx_fetch_seq(conf->fai, h->target_name[tid0], 0, 0x7fffffff, &ref_len);
- ref_tid = tid0;
-- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid0;
-+ for (i = 0; i < n; ++i) {
-+ data[i]->ref = ref;
-+ data[i]->ref_id = tid0;
-+ data[i]->ref_len = ref_len;
-+ }
- } else ref_tid = -1, ref = 0;
- iter = bam_mplp_init(n, mplp_func, (void**)data);
- max_depth = conf->max_depth;
-@@ -325,7 +335,11 @@
- if (tid != ref_tid) {
- free(ref); ref = 0;
- if (conf->fai) ref = faidx_fetch_seq(conf->fai, h->target_name[tid], 0, 0x7fffffff, &ref_len);
-- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid;
-+ for (i = 0; i < n; ++i) {
-+ data[i]->ref = ref;
-+ data[i]->ref_id = tid;
-+ data[i]->ref_len = ref_len;
-+ }
- ref_tid = tid;
- }
- if (conf->flag & MPLP_GLF) {
+@@ -172,6 +173,11 @@
+ qual[i] = qual[i] > 31? qual[i] - 31 : 0;
+ }
+ has_ref = (ma->ref && ma->ref_id == b->core.tid)? 1 : 0;
++ if (has_ref && (ma->ref_len <= b->core.pos)) { // exclude reads outside of the reference sequence
++ fprintf(stderr,"[%s] Skipping because %d is outside of %d [ref:%d]\n",__func__,b->core.pos,ma->ref_len,ma->ref_id);
++ skip = 1;
++ continue;
++ }
+ skip = 0;
+ if (has_ref && (ma->conf->flag&MPLP_REALN)) bam_prob_realn_core(b, ma->ref, (ma->conf->flag & MPLP_REDO_BAQ)? 7 : 3);
+ if (has_ref && ma->conf->capQ_thres > 10) {
+@@ -419,7 +425,11 @@
+ if (tid0 >= 0 && conf->fai) { // region is set
+ ref = faidx_fetch_seq(conf->fai, h->target_name[tid0], 0, 0x7fffffff, &ref_len);
+ ref_tid = tid0;
+- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid0;
++ for (i = 0; i < n; ++i) {
++ data[i]->ref = ref;
++ data[i]->ref_id = tid0;
++ data[i]->ref_len = ref_len;
++ }
+ } else ref_tid = -1, ref = 0;
+
+ // begin pileup
+@@ -442,7 +452,11 @@
+ if (tid != ref_tid) {
+ free(ref); ref = 0;
+ if (conf->fai) ref = faidx_fetch_seq(conf->fai, h->target_name[tid], 0, 0x7fffffff, &ref_len);
+- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid;
++ for (i = 0; i < n; ++i) {
++ data[i]->ref = ref;
++ data[i]->ref_id = tid;
++ data[i]->ref_len = ref_len;
++ }
+ ref_tid = tid;
+ }
+ if (conf->flag & MPLP_BCF) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/samtools.git
More information about the debian-med-commit
mailing list