Python 盗取多个配置文件?
关于snakemake和使用多个配置文件的快速问题 我正在为基因组预处理创建一个相当大的管道,其想法是它对用户友好,并且在用户能力方面具有最低的公分母 因此,不允许用户在主配置文件中定义某些工具使用的线程。我想实现snakemake的“workflow.cores*percentage”功能,也就是说;我可以为每个工具指定总内核的百分比(如命令行中用--cores#定义的) 这使得事情变得简单,并且不会让用户对主配置文件中的所有选项感到困惑。但是我仍然希望允许用户根据自己的意愿微调线程的数量。我的想法是,我有一个不带线程号的主配置文件,还有一个带线程号的第二个配置文件 如果用户决定使用自己确定数量的线程,他们只需(在主配置中)在一个类似于:manualThreadChoice:“yes”的键中提供肯定 在Snakefile中有一个简单的if语句,如果manualThreadChoice是肯定的,那么它将相应地为相应的规则提供线程数,否则只使用自动定义的线程百分比 根据biostars上的这个问题: 现在可以定义多个配置文件 见评论: “感谢您报告此问题。这是因为snakemake现在更新了支持多个配置文件的API。根据他们的日志,配置文件已更改为configfiles。请参阅:snakemake。”/snakemake@23624ee#diff-88e96378bf2405c8a8f8ac971519039e。” 因此,与其用Python 盗取多个配置文件?,python,multithreading,configuration,config,snakemake,Python,Multithreading,Configuration,Config,Snakemake,关于snakemake和使用多个配置文件的快速问题 我正在为基因组预处理创建一个相当大的管道,其想法是它对用户友好,并且在用户能力方面具有最低的公分母 因此,不允许用户在主配置文件中定义某些工具使用的线程。我想实现snakemake的“workflow.cores*percentage”功能,也就是说;我可以为每个工具指定总内核的百分比(如命令行中用--cores#定义的) 这使得事情变得简单,并且不会让用户对主配置文件中的所有选项感到困惑。但是我仍然希望允许用户根据自己的意愿微调线程的数量。我
configfile: "path/to/config.yaml"
我们可以使用:
configfiles:
我的问题是,我们是否提供两个单独的路径作为文件列表的一部分:
i、 e
然后我们如何从不同的配置中访问密钥。因为对于单个配置文件,我们将使用:
config['key']
我尝试使用索引访问不同的配置文件:
config[0]['key']
但这不起作用
我正在使用Snakemake 5.7.0,我相信它是一个具有多配置文件功能的版本。如果打印配置文件,输出是什么?我猜它们只是互相覆盖。根据我在源代码中看到的一条评论(
#获取要覆盖的值。以后的配置文件覆盖以前的配置文件。
),我相信@Maarten vd Sande是正确的。config
dict将包含解析连续配置文件时最后获得的条目。如果打印配置,输出是什么?我猜它们只是互相覆盖。根据我在源代码中看到的一条评论(#获取要覆盖的值。以后的配置文件覆盖以前的配置文件。
),我相信@Maarten vd Sande是正确的。config
dict将包含解析连续配置文件时最后获得的条目。
config[0]['key']