我想在参数上使用一个函数。
Snakemake:
def mitico(x):
res =int(x)+1
return res
我有一个通配符{sample},它是整数。我想使用{sample} +1 在蛇形参数中如何做到这一点?
在函数中:
rule create_pt:
input:
read="CALL2/{sample}.vcf",
output:
out="OUT/{sample}.txt
conda:
"envs/mb.yml"
params:
db_ens = "/mnt/mpwor2k/",
fst = "/Homo_sapiens.GRCh37.75.dna.primary_assembly.fa",
tumor_id="{sample}",
normal_id=lambda wildcards: mitico('{sample}')
shell:
我有这个错误
ValueError: invalid literal for int() with base 10: '{sample}'
Wildcards:
sample=432
答案 0 :(得分:2)
{sample}
只是一个字符串,而不是通配符。这是在lambda中使用通配符的方法
lambda wildcards: mitico(wildcards.sample)