[英]Missing input files from a directory with 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-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行中缺少MissingInputException:
缺少規則feelnc_filter的輸入文件:
謝謝! /workdir/pipeline-v01/TACO/assembly.gtf
您的腳本代碼肯定少於97行,因此異常描述不是很有用。 無論如何,MissingInputException表示Snakemake已成功構建工作流DAG(這意味着您的input/output
和通配符沒有問題)並開始執行該工作流。 在某個時刻,它正在嘗試執行規則,而該規則的預期輸出在規則的shell腳本的末尾不存在。
現在,我們有第二個問題:您的腳本運行您自己的Perl腳本和一個未知的taco_run
可執行文件:我不知道這些程序做什么。 我猜taco_run
不會創建您指定為-o {output.taco_out}
。
我建議您使用--printshellcmds
鍵運行--printshellcmds
。 這將向您顯示正在運行的確切命令,並且您可以嘗試分別運行這些命令。 檢查這些命令是否確實創建了預期的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.