【问题标题】:snakemake with cluster, how to make to command line shorter带集群的snakemake,如何使命令行更短
【发布时间】:2020-05-17 21:44:34
【问题描述】:

我开始阅读有关蛇形的东西。我想将它与集群一起使用。

我想把所有/大部分的snakemake命令发送的参数放在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] [--dry-run] [--profile PROFILE]
[--cache [RULE [RULE ...]]] [--snakefile 文件] [--cores [N]]
[--local-cores N] [--resources [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 lsf


    【解决方案1】:

    我猜你可以在你的 bash 配置文件中添加一个蛇形的别名,比如:

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

    也许更好地调用别名与 snakemake 不同的东西,比如 my_snakemake

    但在我看来,这不是一个好主意,因为有人,甚至你自己,后来阅读代码时并不知道 my_snakemake 究竟做了什么。

    【讨论】:

    • 有没有办法把所有的集群定义放到Snakemake文件中?
    猜你喜欢
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多