Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 盗取多个配置文件?_Python_Multithreading_Configuration_Config_Snakemake - Fatal编程技术网

Python 盗取多个配置文件?

Python 盗取多个配置文件?,python,multithreading,configuration,config,snakemake,Python,Multithreading,Configuration,Config,Snakemake,关于snakemake和使用多个配置文件的快速问题 我正在为基因组预处理创建一个相当大的管道,其想法是它对用户友好,并且在用户能力方面具有最低的公分母 因此,不允许用户在主配置文件中定义某些工具使用的线程。我想实现snakemake的“workflow.cores*percentage”功能,也就是说;我可以为每个工具指定总内核的百分比(如命令行中用--cores#定义的) 这使得事情变得简单,并且不会让用户对主配置文件中的所有选项感到困惑。但是我仍然希望允许用户根据自己的意愿微调线程的数量。我

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

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

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

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

如果用户决定使用自己确定数量的线程,他们只需(在主配置中)在一个类似于:manualThreadChoice:“yes”的键中提供肯定

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

根据biostars上的这个问题:

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

见评论:

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

因此,与其用

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']