如何使用 pysam.view() 将 SAM 转换为 BAM
Posted
技术标签:
【中文标题】如何使用 pysam.view() 将 SAM 转换为 BAM【英文标题】:How to use pysam.view() to convert SAM to BAM 【发布时间】:2021-08-23 05:06:30 【问题描述】:我想使用 pysam 库将我的 SAM 文件转换为 BAM。我正在尝试从 samtools 编写此命令:
samtools view -S -b sample.sam > sample.bam
像这样的python代码:
pysam.view("-S", "-b", "sample.sam", ">", "sample.bam")
据此documentation。但不幸的是,它不起作用。我该怎么做?我应该先创建一个空的 BAM 文件还是自动创建它?最后我有这个错误:
SamtoolsError: 'samtools 返回错误 1: stdout=b'\x1f\x8b\x08\x04\x00\x00\x00\x00\x00\xff\x06\x00BC\x02\x004\x01\x9dQMO\x83 @\x10\xa5G\xfa#\xccz\xb3\x87\xfd\xa2\xa0\x86\x83\xa9\xad\xd86i\t\x16\xc3u\xb3P\xc0&,PvcC\xff\xa6\x7f\xc8 \xc5\x88&\xe8\xc1xx\x99\xc9\xbcyy\x937\xf3\xfb\xed\xe8md\x18\xb3\xf0\xc9\x0c\xd7"\x90\x90)a\xa1\xc5\xe8 .\xcdX\xd2&\x8cPv\xb9\xf2"\xb8\x8av\xac\xac\xd6\xa5L\x1ben\xf4\xee\xed\xf5x\x16,\xcd\xf5\x83\x1b\x9f\xb8\ x19\xf8\x1f%\xf2]\x82n\x10u`C\xa9M\xcc\xc5\xa6\x1b\x03\x91\n\x00\x95E\x00\x9c[\x00>;\x00\xcb\xa4 \xe1*y\xc1\xbcP\x82\x97e\x8c\xfde\xc8\x1e\x97\xd4\xc1\xbd\x99\x97W\r\x1e\\\x84\x89\xcd\x9a\x94\xef %\x13\xbc\xae\xd3=\xde\xf2z\xd1&\x84~5l\xa0@\x19\x97\x8a\xff\xdfo\xfa\xe9\x97\x1dJ^\x0ci\x16z(;\xa2 \xfc\xdc\'!\xb9PUU\xc8.\x8e\xef>\xe8\xa3\xa1\x88\x12pU\xb7\x9a\x9at\xd1\xf4+\xe0\xf5\x90\x9e\x00\x0c\ x01\x8c\x01\xac\x00V\xa2\xee\x10g\xb6
提前谢谢你!
【问题讨论】:
【参考方案1】:您是否尝试过关闭捕获标准输出?
pysam.view("-S", "-b", "sample.sam", ">", "sample.bam", catch_stdout=False)
【讨论】:
以上是关于如何使用 pysam.view() 将 SAM 转换为 BAM的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Kotlin 中将函数接收器类型与 SAM 接口一起使用
“aws cloudformation delete-stack”不能使用 SAM CLI 使用的 StackName?