snakemake与群集,如何使命令行更短

问题描述 投票:0回答:1

我开始阅读有关蛇形的知识。我想将其与群集一起使用。

我想将发送/发送的所有/大部分参数放在Snakemake文件中,并使命令行更短。而不是运行:

snakemake -j 2  --cluster ...

我只想运行:

snakemake

我希望将群集的参数保存在文件中。我创建文件config.yaml,放入它:

cluster: bsub
jobs: 5

__default__ :
        job-name      : "{rule}"
        output        : "logs/{rule}/{wildcards}.out"
        ntasks        : 1
        cpus-per-task : 1
        mem           : "200M"
        time          : "00-00:05:00"
        queue         : "myqueue1"
        account       : "my_account"
        partition     : "my_partition"

# Override the above defaults, with job specific values
a :
        cpus-per-task : 16
        queue         : "myqueue2"
        mem           : "10000M"
        time          : "00-01:00:00"

我跑步时:

snakemake -j 1 --profile aa

我得到:

用法:snakemake [-h] [-干运行] [--profile配置文件][--cache [RULE [RULE ...]]] [--snakefile文件] [--cores [N]][--local-cores N] [-资源[NAME = INT [NAME = INT ...]]] ...[目标[目标...]] snakemake:错误:不明确选项:--a = {'cpus-per-task':16,'queue':'myqueue2','mem':'10000M','time':'00 -01:00:00'}可以匹配--archive,--allow-ambiguity,--allowed-rules,--attempt

还有我在哪里可以找到关于带有集群的snakemake的完整示例?

谢谢。

snakemake lsf
1个回答
0
投票

我想您可以将蛇形的别名添加到您的bash个人资料中,例如:

alias snakemake='snakemake -j 2  --cluster ...' 

也许最好给别名起一个不同于snakemake的称呼,例如my_snakemake

但是我认为这不是一个好主意,因为有人,甚至您自己,后来阅读代码也不知道my_snakemake的确切作用。

© www.soinside.com 2019 - 2024. All rights reserved.