Я использую следующий формат файла конфигурации в snakemake для некоторой практики анализа последовательности (у меня есть множество образцов, каждый из которых содержит 2 файла fastq:
samples:
Sample1_XY:
- fastq_files/SRR4356728_1.fastq.gz
- fastq_files/SRR4356728_2.fastq.gz
Sample2_AB:
- fastq_files/SRR6257171_1.fastq.gz
- fastq_files/SRR6257171_2.fastq.gz
Я использую следующие правила в начале моего конвейера для запуска fastqc и для выравнивания файлов fastqc:
import os
# read config info into this namespace
configfile: "config.yaml"
rule all:
input:
expand("FastQC/{sample}_fastqc.zip", sample=config["samples"]),
expand("bam_files/{sample}.bam", sample=config["samples"]),
"FastQC/fastq_multiqc.html"
rule fastqc:
input:
sample=lambda wildcards: config['samples'][wildcards.sample]
output:
# Output needs to end in '_fastqc.html' for multiqc to work
html="FastQC/{sample}_fastqc.html",
zip="FastQC/{sample}_fastqc.zip"
params: ""
wrapper:
"0.21.0/bio/fastqc"
rule bowtie2:
input:
sample=lambda wildcards: config['samples'][wildcards.sample]
output:
"bam_files/{sample}.bam"
log:
"logs/bowtie2/{sample}.txt"
params:
index=config["index"], # prefix of reference genome index (built with bowtie2-build),
extra=""
threads: 8
wrapper:
"0.21.0/bio/bowtie2/align"
rule multiqc_fastq:
input:
expand("FastQC/{sample}_fastqc.html", sample=config["samples"])
output:
"FastQC/fastq_multiqc.html"
params:
log:
"logs/multiqc.log"
wrapper:
"0.21.0/bio/multiqc"
Моя проблема связана с правилом fastqc.
В настоящее время и правило fastqc, и правило bowtie2 создают один выходной файл, сгенерированный с использованием двух входов SRRXXXXXXX_1.fastq.gz
и SRRXXXXXXX_2.fastq.gz
.
Мне нужно правило fastq для создания двух файлов, отдельного для каждого из файлов fastq.gz
, но я не уверен, как правильно проиндексировать файл конфигурации из оператора ввода правила fastqc или как объединить команды расширения и подстановочные знаки для решения это. Я могу получить отдельный файл fastq, добавив [0]
или [1]
в конец оператора ввода, но не оба запускаются индивидуально / по отдельности.
Я возился, пытаясь получить правильный формат индексации для доступа к каждому файлу отдельно. Текущий формат - единственный, который мне удалось использовать, который позволяет snakemake -np
создавать список заданий.
Будем признательны за любые советы.
fastq_files/SRR
вместоfastq_files/SRR_[1|2].fastq.gz
в файле конфигурации и явного указания1
и2
во вводе и выводе правил? - person Manavalan Gajapathy   schedule 03.05.2018[0|1]
в конец моего оператора ввода fastqc, но он запустил толькоSRRXXXXXXX_2 files
. Если я использую[0]
или[1]
по отдельности, я получаю каждый отдельный файл, но мне нужен способ, чтобы оба они запускались в отдельном экземпляре правила. Надеюсь, теперь измененный вопрос проясняет проблему. - person Darren   schedule 03.05.2018