如何从Python脚本读取和更改BAM文件?

2024-03-29 07:13:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我计划使用Python脚本来更改不同的BAM(Binary Alignment Map)文件头。现在我只是测试一个bam文件的输出,但是每次我想检查我的输出时,stdout不是人类可读的。如何查看脚本的输出?我应该在脚本中使用samtools view bam.file吗?这是我的密码

#!/usr/bin/env python

import os
import subprocess


if __name__=='__main__':
    for file in os.listdir(os.getcwd()):
        if file == "SRR4209928.bam":
            with open("SRR4209928.bam", "r") as input:
                content = input.readlines()
                for line in content:
                    print(line)

Tags: 文件inimport脚本forinputifos
1条回答
网友
1楼 · 发布于 2024-03-29 07:13:59

因为BAMSAM的二进制类型,所以在从压缩数据中提取有意义的内容之前,您需要编写知道如何处理压缩数据的内容。不幸的是,您不能仅从该类型的文件中open()readlines()

如果您打算自己编写一个模块,则需要读取Sequence Alignment/Map Format Specification

幸运的是,已经有人这样做了,并创建了一个Python模块:您可以继续并签出^{}。这肯定会让你的生活更轻松

我希望有帮助

相关问题 更多 >