У меня проблемы с запуском змейки. Я хочу провести контроль качества некоторых массовых образцов RNA-Seq с помощью FastQC. Я написал код таким образом, что все файлы, соответствующие шаблону {sample}_{replicate}.fastq.gz
, должны использоваться в качестве входных данных, где {sample}
— идентификатор образца (т. е. 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.gz
и SRR6974024_2.fastq.gz
. Как бы то ни было, другой видится только как SRR6974023
. Как я могу решить эту проблему? Я ценю некоторую помощь. Спасибо вам всем!
yaml
настроен неправильно. Он должен иметь -
, чтобы превратить каждую строку в список:
samples:
- SRR6974023
- SRR6974024