使用subprocess.run运行Snakemake

时间:2019-10-28 19:12:18

标签: python subprocess snakemake

我正在尝试使用群集配置在python脚本中运行xargs: .docx: No such file or directory,其中sankemake是我的输出结果之一:

myoutput/output.txt

我遇到此错误:

cluster = """ "qsub -A {cluster.account}  -l walltime={cluster.time} -q {cluster.queue} -l nodes=1:ppn={cluster.nCPUs} -l mem={cluster.memory}" """  

subprocess.run(['snakemake',  '-p', "myoutput/output.txt", '-j 200', '--cluster-config', cluster_config, '--cluster', cluster])

我看到该蛇形要提交到/bin/sh: qsub -A proj_A -l walltime=72:00:00 -q analysis -l nodes=1:ppn=20,mem=30G: command not found 实际位于/bin/sh中的qsub

任何想法如何解决它还是有更好的实施方案?

谢谢

1 个答案:

答案 0 :(得分:1)

因此,我认为我需要根据文档建议将双引号的群集传递到--cluster标志,以便使用。

cluster = """ "qsub -A {cluster.account}  -l walltime={cluster.time} -q {cluster.queue} -l nodes=1:ppn={cluster.nCPUs} -l mem={cluster.memory}" """  

但实际上,当我以这种方式使用时,会导致错误:

cluster = "qsub -A {cluster.account}  -l walltime={cluster.time} -q {cluster.queue} -l nodes=1:ppn={cluster.nCPUs} -l mem={cluster.memory}" 

它应该运行。