+static char *g_library;
+
+static inline int __g_skip_aln(const bam_header_t *h, const bam1_t *b)
+{
+ if (b->core.qual < g_min_mapQ || ((b->core.flag & g_flag_on) != g_flag_on) || (b->core.flag & g_flag_off))
+ return 1;
+ if (g_library) {
+ uint8_t *s = bam_aux_get(b, "RG");
+ if (s) {
+ const char *p = bam_strmap_get(h->rg2lib, (char*)(s + 1));
+ return (p && strcmp(p, g_library) == 0)? 0 : 1;
+ } else return 1;
+ } else return 0;
+}