我正在尝试使用以下命令将一些蛇制作作业汇总到秃鹰群集上。
snakemake -f TestJob --cluster-config cluster.json -j 30 --cluster condor_submit
在SnakeFile中指定了TestJob规则的地方
rule TestJob:
input:
output: "test.txt"
shell:
"touch test.txt;"
和群集配置文件如下:
{
"__default__" :
{
"output" : "workdir/logs/cluster/{rule}.{wildcards}.out",
"error" : "workdir/logs/cluster/{rule}.{wildcards}.err",
"log" : "workdir/logs/cluster/{rule}.{wildcards}.log"
},
}
执行此操作时,出现以下错误:
Building DAG of jobs...
Using shell: /bin/bash
Provided cluster nodes: 30
Job counts:
count jobs
1 TestJob
1
[Mon Jul 1 11:18:04 2019]
rule TestJob:
output: test.txt
jobid: 0
ERROR: on Line 11 of submit file:
ERROR: Failed to parse command file (line 11).
Error submitting jobscript (exit code 1):
Submitting job(s)
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
有人对可能发生的事情有任何想法吗? 谢谢
答案 0 :(得分:0)
Snakemake应该将shell
伪指令下的字符串写入一个临时文件,并将该文件作为命令参数传递给condor_submit
。也就是说,在您的情况下,临时文件将仅包含行touch test.txt;
,然后snakemake将执行condor_submit temp.sh
。
那么,如果您实际上只用touch test.txt;
行写一个文件然后执行condor_submit temp.sh
,会发生什么?只是一个疯狂的猜测,因为我对秃鹰不熟悉...
(但是,错误消息显示ERROR: on Line 11 of submit file:
,所以提交的文件可能有多于1行)