我正在尝试创建一个简单的脚本来逐个运行不同的任务(一个接一个),但我不知道如何通过python脚本运行该程序!我知道它应该很简单!但我找不到任何地方。我的例子就是这样:
samtools merge filename.bam file1.sorted.bam file2.sorted.bam file3.sorted.bam file4.sorted.bam
samtools index filename.bam
samtools idxstats filename.bam > filename.txt
samtools pileup -vcf path/filename.fa filename_sorted.bam
我希望python运行第一个命令,然后完成后转到下一个命令!它等待直到它完成是很重要的!
答案 0 :(得分:3)
使用subprocess module。页面底部有很多例子。
答案 1 :(得分:3)
from subprocess import call # call runs an external program and waits for it to quit
for command in ("samtools merge filename.bam file1.sorted.bam file2.sorted.bam file3.sorted.bam file4.sorted.bam",
"samtools index filename.bam",
"samtools idxstats filename.bam > filename.txt",
"samtools pileup -vcf path/filename.fa filename_sorted.bam"):
# shell=True is so you can handle redirects like in the 3rd command
call(command, shell=True)