snakemake - 带集群的snakemake,如何使命令行更短
问题描述
我开始阅读有关蛇形的东西。我想将它与集群一起使用。
我想将所有/大部分发送的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 FILE] [--cores [N]]
[- -local-cores N] [--resources [NAME=INT [NAME=INT ...]]] ...
[target [target ...]] snakemake:错误:不明确的选项:--a={'cpus -per-task': 16, 'queue': 'myqueue2', 'mem':
'10000M', 'time': '00-01:00:00'} 可以匹配 --archive,
--allow-ambiguity, --allowed-rules, --attempt
另外,我在哪里可以找到带有集群的蛇形制作的完整示例?
谢谢。
解决方案
我想你可以在你的 bash 配置文件中添加一个snakemake 的别名,例如:
alias snakemake='snakemake -j 2 --cluster ...'
也许更好地将别名称为与snakemake不同的东西,比如my_snakemake。
但在我看来,这不是一个好主意,因为有人,甚至你自己,后来阅读代码并不知道究竟是什么my_snakemake
。
推荐阅读
- java - Android Studio 抛出“找不到图像”异常
- eigen3 - 在球坐标中定义单位向量以与 Eigen3 一起使用
- c# - 从服务器上的谷歌驱动器下载文件
- amazon-s3 - AWS / S3 / 静态站点:如何过滤 sourcemap 或 .map 文件以防止提供服务
- typescript - TypeScript:强制接口仅包含特定类中存在的属性键
- html - 如何显示相同在页面上多次阻止?
- python-3.x - 如何合并具有重复行的两个数据框?
- c# - 如何从 .net 核心项目运行“dotnet myDll.dll”?
- java - 如何在 While 循环中增加整数并将其转换为字符串?
- java - 春季启动响应没有得到正确的输出