我在写一条蛇制作规则来更改我的样本名称时遇到了一些麻烦.在使用Porechop解复用并使用FiltLong进行一些基本修剪之后,我想将我的样本的名称从例如BC01_trimmed.fast q.gz更改为E_coli_trimmed.fast q.gz.我的 idea 是,在我的配置文件中有一个字典,其中每个样本都链接到使用过的条形码.
基于前面提出的this个问题,我编写了这段示例代码.
mydictionary = {
'BC01': 'bacteria_A',
'BC02': 'bacteria_B'
}
rule all:
input:
expand('{bacteria}_trimmed.fastq.gz', bacteria=mydictionary.values())
rule changeName:
input:
'{barcode}_trimmed.fastq.gz'
params:
value=lambda wcs: mydictionary[wcs.bacteria]
output:
'{params.value}_trimmed.fastq.gz'
shell:
"mv {input} {output}"
但我收到了错误:
WildcardError in rule changeName in file Snakefile:
Wildcards in input files cannot be determined from output files:
'barcode'
提前谢谢你