【发布时间】:2021-05-25 15:28:41
【问题描述】:
我想收集与正则表达式^fs_node\d+\.xyz$ 匹配的所有文件,但我不知道如何编写扩展,以便 glob 使用约束。现在,
wildcard_constraints:
nodeidx = "\d+",
rule all:
input:
expand("fs_node{i}.xyz",
i=glob_wildcards("fs_node{nodeidx}.xyz").nodeidx)
产生的输出也匹配带有irc 的文件,这是我不想要的:
input: fs_node37_irc.xyz, fs_node41_irc.xyz, fs_node32.xyz, fs_node10.xyz, fs_node43.xyz, fs_node2.xyz, fs_node30_irc.xyz, fs_node16.xyz, fs_node45.xyz, fs_node23_irc.xyz, fs_node2_irc.xyz, fs_node44_irc.xyz, fs_node33_irc.xyz, fs_node35.xyz, fs_node1.xyz, fs_node28_irc.xyz, fs_node42.xyz, fs_node15_irc.xyz, fs_node12_irc.xyz, fs_node35_irc.xyz, fs_node42_irc.xyz, fs_node44.xyz, fs_node31.xyz, fs_node17_irc.xyz, fs_node8_irc.xyz, fs_node43_irc.xyz, fs_node15.xyz, fs_node5_irc.xyz, ...
如何在扩展中正确执行(全局)通配符约束?它是全球性的,因为也可以在其他地方使用。
【问题讨论】:
-
我刚刚看到这仍然是一个已知问题:github.com/snakemake/snakemake/issues/482
-
据我所知,这是 glob_wildcards 的一个限制:github.com/snakemake/snakemake/issues/482
标签: python regex wildcard snakemake