道歉,如果这是一个简单的问题,我在文档中找不到任何内容。
目前我的工作流程看起来像这样。我在本工作流程中创建了许多输入文件,并对其进行了总结。
有没有办法避免这个手动正则表达式步骤来解析文件名中的通配符?
我想过"扩展" config["chromosomes"]
和rule report:
output:
table="output/mendel_errors.txt"
input:
files=expand("output/{chrom}/{cross}.in", chrom=config["chromosomes"], cross=cross_ids)
params:
req="h_vmem=4G",
run:
df = pd.DataFrame(index=range(len(input.files), columns=["stat", "chrom", "cross"])
for i, fn in enumerate(input.files):
# open fn / make calculations etc // stat =
# manual regex of filename to get chrom cross // chrom, cross =
df.loc[i] = stat, chrom, choss
,但不确定是否保证订单顺序。
{{1}}
当这些信息必须在某个环境中时,这似乎有点尴尬。
答案 0 :(得分:0)
(通过谷歌集团的JohannesKöster)
回答你的问题: 展开使用标准库中的functools.product。因此,你可以写
from functools import product
product(config["chromosomes"], cross_ids)