我有一个类似 snakemake 的脚本
# minimal example
configfile: "../snakemake/config.yaml"
import os
rule generateInclude:
input:
archaic_inc=config['input']['archaic_include'],
modern_inc=config['input']['modern_include']
output:
all_include='include_{reference_genome}.bed'
params:
reference_genome='{reference_genome}'
shell:
"""
if [ {params.reference_genome}=='hg19' ]; then
bedtools intersect -a <(zcat {input.archaic_inc} | sed 's/^chr//') \
-b <(zcat {input.modern_inc} | sed 's/^chr//') > {output.all_include}
else
bedtools intersect -a <(zcat {input.archaic_inc}) \
-b <(zcat {input.modern_inc}) > {output.all_include}
fi
"""
rule all:
input:
'include_hg19.bed'
当我运行它时,snakemake 报告
Target rules may not contain wildcards. Please specify concrete files or a rule without wildcards.
我不确定它有什么问题,你能给我一些帮助吗
默认情况下,snakemake 使用第一条规则作为目标规则。通过将规则
all
移动到顶部,您应该能够运行此文件:
rule all:
input:
'include_hg19.bed'
rule generateInclude:
...