]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_rmdupse.c
r579: after merging Peter's depad changes
[samtools.git] / bam_rmdupse.c
index 149d844c976dbe3b0561b61656e29a0fa7dd5255..e7dbdc77d05f05d9c9622b484557df3504d6f4c1 100644 (file)
@@ -53,7 +53,8 @@ static inline elem_t *push_queue(queue_t *queue, const bam1_t *b, int endpos, in
        elem_t *p = kl_pushp(q, queue);
        p->discarded = 0;
        p->endpos = endpos; p->score = score;
-       p->b = bam_dup1(b);
+       if (p->b == 0) p->b = bam_init1();
+       bam_copy1(p->b, b);
        return p;
 }
 
@@ -116,13 +117,11 @@ void bam_rmdupse_core(samfile_t *in, samfile_t *out, int force_se)
                        push_queue(queue, b, endpos, score);
                } else {
                        const char *lib;
-                       const uint8_t *rg;
                        lib_aux_t *q;
                        besthash_t *h;
                        uint32_t key;
                        int ret;
-                       rg = bam_aux_get(b, "RG");
-                       lib = (rg == 0)? 0 : bam_strmap_get(in->header->rg2lib, (char*)(rg + 1));
+                       lib = bam_get_library(in->header, b);
                        q = lib? get_aux(aux, lib) : get_aux(aux, "\t");
                        ++q->n_checked;
                        h = (c->flag&BAM_FREVERSE)? q->rght : q->left;