파이썬 pysam 패키지

자, 일단 설치부터!

기본적인 pysam 이용방법은 아래와 같다.

import pysam

bam = pysam.AlignmentFile(in_file_bam)

for read in bam.fetch():
    print(read)

동일한 값을 갖고 있는 read 의 인스턴스 변수들

pysam에는 이름은 미묘하게 차이가 나지만 동일한 값을 갖고 있는 것들이 많다. 다음과 같은 python의 assert 문으로 만들어 보았다. (아직까지 읽었던 bam 파일들에서 assertion error가 나지는 않음)

def check_pysam_assertions(read):

    ## read name
    assert read.query_name == read.qname

    ## read sequence
    assert read.seq == read.query
    assert read.seq == read.query_sequence
    assert read.seq == read.query_alignment_sequence

    ## read phread quality score
    assert read.qual == read.qqual

    ## end position of aligned read
    assert read.reference_end == read.aend

    ## reference length of aligned read
    assert read.reference_length == read.reference_alen

    ## aligned pairs
    assert read.aligned_pairs == read.get_aligned_pairs()

    ## mapping quality
    assert read.mapping_quality == read.mapq