簡體   English   中英

Snakemake 無法識別多個文件作為輸入

[英]Snakemake not recognizing multiple files as input

我在運行 snakemake 時遇到了一些問題。 我想使用 FastQC 對一些 RNA-Seq 批量樣本進行質量控制。 我編寫代碼的方式是,所有遵循模式{sample}_{replicate}.fastq.gz的文件都應該用作輸入,其中{sample}是樣本 id(即 SRR6974023), {replicate}是 1或 2. 我的小腳本如下:

configfile: "config.yaml"

rule all:
  input:
    expand("raw_qc/{sample}_{replicate}_fastqc.{extension}", sample=config["samples"], replicate=[1, 2], extension=["zip", "html"])
    

rule fastqc:
  input:
    rawread=expand("raw_data/{sample}_{replicate}.fastq.gz", sample=config["samples"], replicate=[1, 2])
  
  output:
    compress=expand("raw_qc/{sample}_{replicate}_fastqc.zip", sample=config["samples"], replicate=[1, 2]),
    net=expand("raw_qc/{sample}_{replicate}_fastqc.html", sample=config["samples"], replicate=[1, 2])
  
  threads: 
    8
  
  params:
    path="raw_qc/"
  
  shell:
    "fastqc -t {threads} {input.rawread} -o {params.path}" 

就是這樣, config.yaml是:

samples:
  SRR6974023
  SRR6974024

我的文件的raw_data目錄如下所示:

SRR6974023_1.fastq.gz  SRR6974023_2.fastq.gz  SRR6974024_1.fastq.gz  SRR6974024_2.fastq.gz

最后,當我運行腳本時,我總是看到同樣的錯誤:

Building DAG of jobs...
MissingInputException in line 8 of /home/user/path/Snakefile:
Missing input files for rule fastqc:
raw_data/SRR6974023 SRR6974024_2.fastq.gz
raw_data/SRR6974023 SRR6974024_1.fastq.gz

它只正確看到最后一個文件,在這種情況下SRR6974024_1.fastq.gzSRR6974024_2.fastq.gz 無論如何,另一個它只被視為SRR6974023 我該如何解決這個問題? 我很感激一些幫助。 謝謝你們!

yaml配置不正確。 它應該-將每一行變成一個列表:

samples:
  - SRR6974023
  - SRR6974024

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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