首先,我想说,任何帮助都是非常感谢的。一般来说,我对Python和脚本还不熟悉。我尝试使用一个名为samtools view的程序将文件从.sam转换为.bam我需要能够执行以下BASH命令在Python中执行的操作:
samtools view -bS aln.sam > aln.bam
我知道像|>;<;这样的BASH命令是使用Python中的子进程stdin、stdout和stderr完成的。我尝试了几种不同的方法,但仍然无法正确转换BASH脚本。我试过:
^{pr2}$以及
from subprocess import Popen
with open(SAMPLE+ "."+ TARGET+ ".sam",'wb',0) as input_file:
with open(SAMPLE+ "."+ TARGET+ ".bam",'wb',0) as output_file:
cmd = Popen([Dir+ "samtools-1.1/samtools view",'-bS'],
stdin=(input_file), stdout=(output_file), shell=True)
在Python中,我仍然不能让samtools将.sam转换为.bam文件。我做错什么了?在
您可以通过kwarg'shell=True'将执行传递给shell
subprocess.call('samtools view -bS aln.sam > aln.bam', shell=True)
Abukamel是对的,但是如果你(或其他人)想知道你的具体例子。。。。在
你离你的第一次尝试已经不远了,只是一些小项目:
所以你可以:
您的第二个示例或多或少有相同的问题,因此需要将其更改为以下内容:
^{pr2}$相关问题 更多 >
编程相关推荐