Snakemake如何为每个任务设置qsub ppn?

弗里克

我像这样在我们的qsub群集上启动Snakemake:

snakemake -s Snakefile.snakefile --cluster-config cluster.json --cluster "qsub -l nodes={cluster.nodes}:ppn={cluster.ppn}" --jobs 70

cluster.json看起来像这样:

{
"__default__" :
{
    "cluster"   : "qsub",
    "jobs"      : 70 ,
    "nodes"     : 1,
    "ppn"       : 8
},

}

对于某些规则,我将线程设置为8,但是对于某些规则,我将其设置为1(例如某些RSeQC模块,如下所示:

rule bam_stat:
input:
    rseqc_input_bam
output:
    os.path.join(rseqc_dir, '{sample}.bam_stat.txt')
threads: 1
shell:
    '''
    #!/bin/bash
    # Enter the Python 2 conda environment where rseqc is installed
    source activate rseqc
    bam_stat.py -i {input} > {output}
    '''

现在,如果我查看集群排队系统,它会告诉我该作业仍保留8个核心,就像使用--nodes = 1,ppn = 8提交一样

如何为每个任务设置ppn?

最高的问候,

弗里克

马那瓦兰(Manavalan)

在这里,rule_X将使用12 ppn,这与其他使用默认设置为8的规则不同。

{
    "__default__" :
    {
        "cluster"   : "qsub",
        "jobs"      : 70 ,
        "nodes"     : 1,
        "ppn"       : 8
    },

    "rule_X" :
    {
        "ppn"       : 12
    },

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章