Python Snakemake目录中缺少输入文件
我正在尝试为管道编写脚本,但在从目录声明规则输入时遇到问题 我的代码包含以下部分:Python Snakemake目录中缺少输入文件,python,snakemake,Python,Snakemake,我正在尝试为管道编写脚本,但在从目录声明规则输入时遇到问题 我的代码包含以下部分: rule taco: input: all_gtf = GTF_DIR + "path_samplesGTF.txt" output: taco_out = TACO_DIR shell: "taco_run -v -p 20 -o {output.taco_out} \ --filter-m
rule taco:
input:
all_gtf = GTF_DIR + "path_samplesGTF.txt"
output:
taco_out = TACO_DIR
shell:
"taco_run -v -p 20 -o {output.taco_out} \
--filter-min-expr 1 --gtf-expr-attr RPKM {input.all_gtf}"
rule feelnc_filter:
input:
assembly = TACO_DIR + "assembly.gtf",
annotation = GTF
output:
candidate_lncrna = FEELNC_FILTER + "candidate_lncrna.gtf"
shell:
"./FEELnc_filter.pl -i {input.assembly} -a {input.annotation} > {output.candidate_lncrna}"
这是我的错误:
/workdir/Snakefile的第97行中缺少输入异常:
缺少规则feelnc\u筛选器的输入文件:
谢谢大家!!
/workdir/pipeline-v01/TACO/assembly.gtf您的脚本代码肯定小于97行,因此异常描述不是很有用。无论如何,MissingInputException意味着Snakemake已成功构建工作流DAG(这意味着您的
输入/输出和通配符没有问题),并开始执行此工作流。在某个点上,它试图执行该规则,而该规则的预期输出在该规则的shell脚本末尾不存在
现在我们有了第二个问题:您的脚本运行您自己的Perl脚本和未知的taco_run
可执行文件:我不知道这些程序做什么。我猜taco\u run
不会创建指定为-o{output.taco\u out}
的目录
我建议您使用--printshellcmds
键运行Snakemake。这将向您显示正在运行的确切命令,您可以尝试单独运行这些命令。检查这些命令是否真的创建了预期的输出。谢谢您的帮助。Taco将创建一个目录作为输出(该目录可能以前没有创建过)。我会用钥匙把蛇弄出来看看能得到什么。