import "./tasks/fastp.wdl" as fastp import "./tasks/hisat2.wdl" as hisat2 import "./tasks/samtools.wdl" as samtools import "./tasks/stringtie.wdl" as stringtie import "./tasks/fastqc.wdl" as fastqc import "./tasks/fastqscreen.wdl" as fastqscreen import "./tasks/qualimapBAMqc.wdl" as qualimapBAMqc import "./tasks/multiqc.wdl" as multiqc workflow {{ project_name }} { File inputSamplesFile Array[Array[File]] inputSamples = read_tsv(inputSamplesFile) String fasta String idx_prefix File screen_ref_dir File fastq_screen_conf File idx File gtf File ref_dir scatter (quartet in inputSamples){ call fastp.fastp as fastp { input: sample_id=quartet[2], read1=quartet[0], read2=quartet[1], adapter_sequence=quartet[3], adapter_sequence_r2=quartet[4] } call fastqc.fastqc as fastqc { input: read1=fastp.Trim_R1, read2=fastp.Trim_R2 } call fastqscreen.fastq_screen as fastqscreen { input: read1=fastp.Trim_R1, read2=fastp.Trim_R2, screen_ref_dir=screen_ref_dir, fastq_screen_conf=fastq_screen_conf } call hisat2.hisat2 as hisat2 { input: sample_id=quartet[2], idx=idx, idx_prefix=idx_prefix, Trim_R1=fastp.Trim_R1, Trim_R2=fastp.Trim_R2 } call samtools.samtools as samtools { input: sample_id=quartet[2], sam = hisat2.sam } call qualimapBAMqc.qualimapBAMqc as qualimapBAMqc { input: bam= samtools.out_bam } call stringtie.stringtie as stringtie { input: sample_id = quartet[2], gtf = gtf, bam = samtools.out_bam } } call multiqc.multiqc as multiqc { input: read1_zip = fastqc.read1_zip, read2_zip = fastqc.read2_zip, txt1 = fastqscreen.txt1, txt2 = fastqscreen.txt2, bamqc_zip = qualimapBAMqc.bamqc_zip } }