使用subprocess.run运行Snakem

2024-05-23 22:12:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用集群配置在python脚本中运行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实际上在/usr/bin/qsub

你知道如何解决这个问题吗?或者有更好的实施方案吗

谢谢


Tags: txt脚本configoutputbinsh集群mem
1条回答
网友
1楼 · 发布于 2024-05-23 22:12:22

所以我认为我需要将集群用双引号传递给 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}" 

它正常运转

相关问题 更多 >