pysam模塊
因為要分析sam文件中序列的情況,因此要對reads進行細分,所以之前想用數據庫將sam文件信息存儲,然后用sql語句進行分類。后來發現很麻煩,pysam就是一個高效讀取存儲在SAM / BAM / CRAM格式文件中的映射短讀序列數據信息的python模塊,可以輕松地對reads進行操作。
1.安裝Pysam
$ pip install pysam
2.檢查是否安裝成功
import pysam # 注意,此步是進入python交互環境
3.讀取bam文件
import pysam samfile = pysam.AlignmentFile("ex1.bam", "rb")
提取指定區域reads
for read in samfile.fetch('chr1', 100, 120): print read samfile.close()
結果如下:
EAS56_57:6:190:289:82 0 99 <<<7<<<;<<<<<<<<8;;<7;4<;<;;;;;94<; 69 CTCAAGGTTGTTGCAAGGGGGTCTATGTGAACAAA 0 192 1 EAS56_57:6:190:289:82 0 99 <<<<<<;<<<<<<<<<<;<<;<<<<;8<6;9;;2; 137 AGGGGTGCAGAGCCGAGTCACGGGGTTGCCAGCAC 73 64 1 EAS51_64:3:190:727:308 0 102 <<<<<<<<<<<<<<<<<<<<<<<<<<<::<<<844 99 GGTGCAGAGCCGAGTCACGGGGTTGCCAGCACAGG 99 18 1 ...
