X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bam.c;h=ee7642b3434248c9b44ef918435f150f101cae00;hb=87d9ea7a580d0d1a58b8f0dca3ba3528ca118e46;hp=2d0f7f46b054293a1c2734ed1a581db8dcea95ed;hpb=2081e538f742bd619a60c32cef0465a1ea2680f9;p=samtools.git diff --git a/bam.c b/bam.c index 2d0f7f4..ee7642b 100644 --- a/bam.c +++ b/bam.c @@ -292,11 +292,12 @@ void bam_view1(const bam_header_t *header, const bam1_t *b) free(s); } +// FIXME: we should also check the LB tag associated with each alignment const char *bam_get_library(bam_header_t *h, const bam1_t *b) { const uint8_t *rg; if (h->dict == 0) h->dict = sam_header_parse2(h->text); - if (h->rg2lib) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB"); + if (h->rg2lib == 0) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB"); rg = bam_aux_get(b, "RG"); return (rg == 0)? 0 : sam_tbl_get(h->rg2lib, (const char*)(rg + 1)); }