我正在寻找一组基因和标志物的关联。我有一个基因列表genes = ['gene1', 'gene2', ...]
和一个字典,其中的键是基因名称,值是我想与该基因关联的标记的列表,即markers = {'gene1': ['marker1.1', 'marker1.2', ...], 'gene2': ['marker2.1', 'marker2.2', ...], ...}
。我有一条规则,可以为给定的基因和标记输出文件gene/assoc/marker
。
是否可以同时在genes
列表和markers
字典上进行扩展,以使正在扩展的基因成为dict的关键?类似于以下内容:
markers = {
'gene1': ['marker1.1', 'marker1.2', ...],
'gene2': ['marker2.1', 'marker2.2', ...],
...
}
genes = markers.keys()
rule all:
input:
expand('{gene}/assoc/{marker}', gene=genes, marker=markers[current_gene])
答案 0 :(得分:1)
您可以预先使用扩展:
gimme_files = []
for marker in markers:
_gimme_per_marker = expand('{gene}/assoc/{marker}', gene=marker, marker=markers[marker])
gimme_files.extend(_gimme_per_marker)
rule all:
input:
gimme_files