gpt4 book ai didi

snakemake - 在参数中使用通配符

转载 作者:行者123 更新时间:2023-12-01 13:22:26 27 4
gpt4 key购买 nike

在snakemake中使用config.yaml文件定义参数时是否可以使用通配符?我使用通用 R 脚本来制作相同的基本热图,但具有不同的输入矩阵。我想使用通配符从我的 config.yaml 文件中为每个热图指定热图的配置(例如 K 均值聚类的 K 数)。

例如:

rule heatmap:
input: {condition}.mat
output: {condition}.png
params: clusters=config["heatmap-{condition}"][k]
log: "logs/results/heatmap-{condition}.log"

这样我就可以在我的 config.yaml 文件中将 k 的数量定义为 20,当 {condition} = "development" :
heatmap-development:
k:
- 20

现在我得到一个 KeyError'{condition}' .任何帮助将不胜感激,非常感谢

最佳答案

您需要在 params 指令中使用一个函数才能知道通配符。

rule heatmap:
input: {condition}.mat
output: {condition}.png
params: clusters = lambda w: config["heatmap-{}".format(w.condition)][k]
log: "logs/results/heatmap-{condition}.log"

在此处阅读更多信息: http://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules

关于snakemake - 在参数中使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371733/

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