簡體   English   中英

使用Snakemake缺少目錄中的輸入文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM