def get_bc_grouped_pair_iter(bam):
""" Yields (bc, pair_iter)
where pair_iter yields (AugmentedFastqHeader, (read1, read2)) for the barcode """
wrap_header = lambda pair: (cr_fastq.AugmentedFastqHeader(pair[0].qname), pair)
get_barcode = lambda hdr_pair: hdr_pair[0].get_tag(cr_constants.PROCESSED_BARCODE_TAG)
return itertools.groupby(
itertools.imap(wrap_header, get_pair_iter(bam)),
key=get_barcode)
评论列表
文章目录