]> git.donarmstrong.com Git - samtools.git/commitdiff
* samtools-0.1.5-5 (r395)
authorHeng Li <lh3@live.co.uk>
Mon, 13 Jul 2009 09:12:57 +0000 (09:12 +0000)
committerHeng Li <lh3@live.co.uk>
Mon, 13 Jul 2009 09:12:57 +0000 (09:12 +0000)
 * added bam_pileup_file() and removed bam_lpileup_file()

bam.h
bam_lite.c
bam_lpileup.c
bam_pileup.c
bamtk.c

diff --git a/bam.h b/bam.h
index 124817e71f50db325abe220be8420eeb1442ed84..64867f10733f6889c1a0e0fa7a61e8e2802c2407 100644 (file)
--- a/bam.h
+++ b/bam.h
@@ -509,6 +509,8 @@ extern "C" {
         */
        int bam_plbuf_push(const bam1_t *b, bam_plbuf_t *buf);
 
+       int bam_pileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data);
+
        struct __bam_lplbuf_t;
        typedef struct __bam_lplbuf_t bam_lplbuf_t;
 
@@ -523,9 +525,6 @@ extern "C" {
        /*! @abstract  bam_plbuf_push() equivalent with level calculated. */
        int bam_lplbuf_push(const bam1_t *b, bam_lplbuf_t *buf);
 
-       /*! @abstract  bam_plbuf_file() equivalent with level calculated. */
-       int bam_lpileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data);
-
        struct __bam_index_t;
        typedef struct __bam_index_t bam_index_t;
 
index 12c719cccde34ce67916530e7dc299454d7591c5..93af6c4a8d96e226f2998c80ab929b93f61a4843 100644 (file)
@@ -552,6 +552,22 @@ int bam_plbuf_push(const bam1_t *b, bam_plbuf_t *buf)
        return 0;
 }
 
+int bam_pileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data)
+{
+       bam_plbuf_t *buf;
+       int ret;
+       bam1_t *b;
+       b = bam_init1();
+       buf = bam_plbuf_init(func, func_data);
+       bam_plbuf_set_mask(buf, mask);
+       while ((ret = bam_read1(fp, b)) >= 0)
+               bam_plbuf_push(b, buf);
+       bam_plbuf_push(0, buf);
+       bam_plbuf_destroy(buf);
+       bam_destroy1(b);
+       return 0;
+}
+
 /**********************
  *** from bam_aux.c ***
  **********************/
index 425290e26f11d29cd9b3cc4633287ca5e8ea41e2..d4dd63b99b85dd4c5811758153a56757c908a52c 100644 (file)
@@ -196,19 +196,3 @@ int bam_lplbuf_push(const bam1_t *b, bam_lplbuf_t *tv)
 {
        return bam_plbuf_push(b, tv->plbuf);
 }
-
-int bam_lpileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data)
-{
-       bam_lplbuf_t *buf;
-       int ret;
-       bam1_t *b;
-       b = (bam1_t*)calloc(1, sizeof(bam1_t));
-       buf = bam_lplbuf_init(func, func_data);
-       bam_plbuf_set_mask(buf->plbuf, mask);
-       while ((ret = bam_read1(fp, b)) >= 0)
-               bam_lplbuf_push(b, buf);
-       bam_lplbuf_push(0, buf);
-       bam_lplbuf_destroy(buf);
-       free(b->data); free(b);
-       return 0;
-}
index 3ffd52851e3be64bed628081b2b57d8ca6378b8b..d2d2aa6a8f1890b22344d330d0ca7e612c93b244 100644 (file)
@@ -212,3 +212,19 @@ int bam_plbuf_push(const bam1_t *b, bam_plbuf_t *buf)
        }
        return 0;
 }
+
+int bam_pileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data)
+{
+       bam_plbuf_t *buf;
+       int ret;
+       bam1_t *b;
+       b = bam_init1();
+       buf = bam_plbuf_init(func, func_data);
+       bam_plbuf_set_mask(buf, mask);
+       while ((ret = bam_read1(fp, b)) >= 0)
+               bam_plbuf_push(b, buf);
+       bam_plbuf_push(0, buf);
+       bam_plbuf_destroy(buf);
+       bam_destroy1(b);
+       return 0;
+}
diff --git a/bamtk.c b/bamtk.c
index 0846a70ef5585ead7d773fb1a807d27841059749..e071d31c5953564df4868906cbf3bec65c1a1940 100644 (file)
--- a/bamtk.c
+++ b/bamtk.c
@@ -4,7 +4,7 @@
 #include "bam.h"
 
 #ifndef PACKAGE_VERSION
-#define PACKAGE_VERSION "0.1.5-4 (r394)"
+#define PACKAGE_VERSION "0.1.5-5 (r395)"
 #endif
 
 int bam_taf2baf(int argc, char *argv[]);