示例#1
0
def main():
    args = parse_args()
    with args.bam_file:
        bam_reader = AlignmentFile(args.bam_file)
        
        if not bam_reader.has_index():
            print('Adding index...')
            index_args = ['samtools', 'index', args.bam_file.name]
            run(index_args, check=True)
            args.bam_file.seek(0)  # Go back to start of header.
            bam_reader = AlignmentFile(args.bam_file)
            bam_reader.check_index()
        x = bam_reader.parse_region(region=args.target_region)
        sequences = sorted(bam_reader.fetch(region=args.target_region),
                           key=attrgetter('qname'))
        print(len(sequences))
        for seq in sequences:
            print(seq.qname)