1

我感觉很愚蠢,但我无法弄清楚下面的语法,而且我已经在谷歌上搜索了一段时间没有成功。

很容易,我想在脚本中使用 pybedtools 将其转换为 bedpe。

以下效果很好:

pybed_BAM = pybedtools.BedTool("path/to/sorted/bam")
bedpe = pybed_BAM.bam_to_bed().to_dataframe()

但是,当然,它会导致正常的床文件。如果我尝试添加 bedpe 参数,pybed_BAM.bam_to_bed("-bedpe")或者pybed_BAM.bam_to_bed("bedpe")它失败:

TypeError: handle_kwargs() keywords must be strings

不幸的是,bam_to_bed() 页面没有提供语法解释,而只是命令行工具帮助的复制粘贴。上述尝试是试图从其他 pybedtools 函数中借用语法,但显然是不正确的。我错过了什么?

PS该文件很好,因为使用bedtools bamtobed从命令行转换可以正常工作。

PPS 我想避免子进程管道并使用 pybedtools

4

1 回答 1

1

在 Patrick Artner 的建议下,我找到了解决方案

pybed_BAM.bam_to_bed(bedpe=True)做这项工作!

于 2021-06-22T11:53:29.557 回答