如何在群集中运行时保留snakemake shell文件

时间:2017-12-05 04:14:44

标签: snakemake

在群集中运行我的snakemake文件时,我一直收到错误,

snakemake -j 20 --cluster "qsub -o out.txt -e err.txt -q debug" -s 
seadragon/scripts/viral_hisat.snake --config json="<input file>" 
output="<output file>"

现在这给了我以下错误,

Error in job run_salmon while creating output file 
/gpfs/home/user/seadragon/output/quant_v2_4/test.
ClusterJobException in line 58 of seadragon/scripts/viral_hisat.snake
:
Error executing rule run_salmon on cluster (jobid: 1, external: 156618.sn-mgmt.cm.cluster, jobscript: /gpfs/home/user/.snakemake/tmp.j9nb0hyo/snakejob.run_salmon.1.sh). For detailed error see the cluster log.
Will exit after finishing currently running jobs.
Exiting because a job execution failed. Look above for error message

现在我找不到任何方法来跟踪错误,因为我的群集没有给我一种存储日志文件的方法,另一方面/gpfs/home/user/.snakemake/tmp.j9nb0hyo/snakejob.run_salmon.1.sh文件在完成后立即被删除。 如果有一种方法可以保留这个shell文件,即使snakemake失败也请告诉我。

2 个答案:

答案 0 :(得分:0)

我不再是qsub用户,但是如果我没记错的话,stdout和stderr存储在工作目录中,在错误消息中Snakemake在external下提供的jobid下。

答案 1 :(得分:0)

您需要自己将标准输出和标准错误输出重定向到文件,而不是依靠群集或snakemake来为您执行此操作。

而不是以下

my_script.sh

运行以下

my_script.sh > output_file.txt 2> error_file.txt