群集模式下的Snakemake与--no-shared-fs:如何设置群集状态

时间:2018-01-24 04:18:08

标签: snakemake

我在集群环境中运行Snakemake,并希望使用S3作为共享文件系统来编写输出文件。

相应地设置选项--default-remote-provider--default-remote-prefix--no-shared-fs。群集使用UGE作为调度程序,因此设置--cluster很简单,但如何设置--cluster-status,在使用--no-shared-fs时强制使用?

我最好的猜测是天真--cluster-status "qstat -j"导致

subprocess.CalledProcessError: Command 'qstat Your job 2 ("snakejob.bwa_map.1.sh") has been submitted' returned non-zero exit status 1. 

所以我想我的问题是,如何在那里得到实际的工作?

谢谢!

安德烈亚斯

编辑1: 我找到了https://groups.google.com/forum/#!topic/snakemake/7cyqAIfgeq4,因此集群状态必须是一个脚本。所以我编写了一个能够解析上述行的Python脚本,但是snakemake仍然失败了:

/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `/home/ec2-user/clusterstatus.py Your job 2 ("snakejob.bwa_map.1.sh") has been submitted'
...
subprocess.CalledProcessError: Command '/home/ec2-user/clusterstatus.py 
Your job 2 ("snakejob.bwa_map.1.sh") has been submitted' returned non-zero exit status 1.

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

首先,我需要qsub的-terse选项(在我的情况下我首先没有添加,而snakemake以某种方式记住错误的群集命令

其次,cluster-status参数需要指向能够获取作业状态的脚本(作业id是唯一参数)和输出"失败","运行"或者"成功"。