我在集群环境中运行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.
答案 0 :(得分:0)
回答我自己的问题:
首先,我需要qsub的-terse选项(在我的情况下我首先没有添加,而snakemake以某种方式记住错误的群集命令
其次,cluster-status参数需要指向能够获取作业状态的脚本(作业id是唯一参数)和输出"失败","运行"或者"成功"。