[英]Snakemake multiple Config Files?
關於 snakemake 和使用多個配置文件的快速問題。
我正在為基因組預處理創建一個相當大的管道,其想法是它是用戶友好的,並且在用戶能力方面占最低公分母。
因此,不允許用戶在主配置文件中定義某些工具使用的線程。 我想實現snakemake的“workflow.cores * percent”功能,即; 我可以為每個工具指定總內核的百分比(在命令行中使用 --cores # 定義)。
這使事情變得簡單,並且不會將用戶與主配置文件中的所有選項混淆。 但我仍然希望允許用戶根據需要微調線程數。 這個想法是我有一個沒有線程號的主配置文件,還有一個帶有線程號的第二個配置文件。
如果用戶決定他們想使用自己決定的線程數,他們將簡單地(在主配置中)提供一個肯定的鍵,類似於:manualThreadChoice: "yes"
並且在 Snakefile 中有一個簡單的 if 語句,如果手動線程選擇是肯定的,則相應地為相應的規則提供線程數,否則只使用自動定義的線程百分比。
根據關於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"]
然后我們如何從不同的配置中訪問密鑰。 由於使用單個配置文件,我們將使用:
config['key']
我嘗試使用索引訪問不同的配置文件:
config[0]['key']
但這不起作用。
我正在使用 Snakemake 5.7.0,我相信它是具有這種多個配置文件功能的版本。
您可以在Snakefile
的頂部指定多個config
文件,如下所示:
configfile: "path/to/config1.yaml"
configfile: "path/to/config2.yaml"
然后 Snakemake 將所有配置文件合並到 1 個配置字典中,該字典可通過全局變量config
訪問
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.