gpt4 book ai didi

python - Snakemake 多个配置文件?

转载 作者:行者123 更新时间:2023-12-05 01:35:44 26 4
gpt4 key购买 nike

关于 snakemake 和使用多个配置文件的快速问题。

我正在为基因组预处理创建一个相当大的管道,其想法是它对用户友好,并且在用户能力方面占最低公分母。

因此,不是允许用户在主配置文件中定义某些工具使用的线程。我想实现 snakemake 的“workflow.cores * percentage”功能,即;我可以为每个工具指定总内核的百分比(在命令行中用 --cores # 定义)。

这使事情变得简单,并且不会让用户对主配置文件中的所有选项感到困惑。但我仍然希望允许用户根据需要微调线程数。我的想法是我有一个没有线程号的主配置文件,以及一个有线程号的第二个配置文件。

如果用户决定他们想要使用他们自己决定的线程数,他们将简单地(在主配置中)提供一个肯定的键,类似于:manualThreadChoice: "yes"

并且在 Snakefile 中有一个简单的 if 语句,如果 manualThreadChoice 是肯定的,则相应地为相应的规则提供线程数,否则只使用自动定义的线程百分比。

根据 biostars 上的这个问题:https://github.com/yanailab/celseq2/issues/33

现在可以定义多个配置文件。

查看评论:

“感谢您报告此问题。这是因为 snakemake 更新了他们现在支持多个配置文件的 API。根据他们的日志,配置文件已更改为配置文件。请参阅:snakemake/snakemake@23624ee#diff-88e96378bf2405c8a8f8ac971519039e。”

所以不用调用我们的配置文件

configfile: "path/to/config.yaml"

我们可以使用:

configfiles: 

我的问题是,我们是否会提供两个单独的路径作为文件列表的一部分:即

configfiles: ["path/to/config1.yaml", "path/to/config2.yaml"]

然后我们如何从不同的配置中访问 key 。由于使用单个配置文件,我们将使用:

config['key']

我尝试通过索引访问不同的配置文件:

config[0]['key']

但这行不通。

我正在使用 Snakemake 5.7.0,我相信它是一个具有多配置文件功能的版本。

最佳答案

你可以在 Snakefile 的顶部指定多个 config 文件,如下所示:

configfile: "path/to/config1.yaml"
configfile: "path/to/config2.yaml"

Snakemake 然后将所有配置文件合并到 1 个配置字典中,可通过全局变量 config

访问

关于python - Snakemake 多个配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62696099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com