import "./tasks/fastqc.wdl" as fastqc import "./tasks/fastqscreen.wdl" as fastqscreen import "./tasks/qualimap.wdl" as qualimap import "./tasks/hisat2.wdl" as hisat2 import "./tasks/samtools.wdl" as samtools import "./tasks/stringtie.wdl" as stringtie import "./tasks/ballgown.wdl" as ballgown import "./tasks/count.wdl" as count workflow {{ project_name }} { File read1 File read2 File idx File screen_ref_dir File fastq_screen_conf String idx_prefix File gtf String disk_size String fastqc_docker String fastqc_cluster String fastqscreen_docker String fastqscreen_cluster String hisat2_docker String hisat2_cluster String stringtie_docker String stringtie_cluster String samtools_docker String samtools_cluster Int insert_size String qualimap_docker String qualimap_cluster String ballgown_docker String ballgown_cluster String count_docker String count_cluster String count_length String sample_id Boolean pre_alignment_qc if (pre_alignment_qc) { call fastqc.fastqc as fastqc { input: read1=read1, read2=read2, docker=fastqc_docker, cluster=fastqc_cluster, disk_size=disk_size } call fastqscreen.fastqscreen as fastqscreen { input: read1=read1, read2=read2, docker=fastqscreen_docker, cluster=fastqscreen_cluster, screen_ref_dir=screen_ref_dir, fastq_screen_conf=fastq_screen_conf, disk_size=disk_size } } call hisat2.hisat2 as hisat2 { input: docker=hisat2_docker, cluster=hisat2_cluster, idx=idx, idx_prefix=idx_prefix, read_1P=read1, read_2P=read2, disk_size=disk_size } call samtools.samtools as samtools { input: docker=samtools_docker, cluster=samtools_cluster, sam=hisat2.sam, insert_size = insert_size, disk_size=disk_size } call qualimap.qualimap as qualimap { input: bam=samtools.out_sort_bam, bam_percent=samtools.out_percent, gtf=gtf, docker=qualimap_docker, cluster=qualimap_cluster, disk_size=disk_size } call stringtie.stringtie as stringtie { input: docker=stringtie_docker, cluster=stringtie_cluster, gtf=gtf, bam=samtools.out_sort_bam, disk_size=disk_size } call ballgown.ballgown as ballgown { input: docker=ballgown_docker, cluster=ballgown_cluster, ballgown=stringtie.ballgown, gene_abundance=stringtie.gene_abundance, disk_size=disk_size } call count.count as count { input: sample_id=sample_id, docker=count_docker, cluster=count_cluster, ballgown=stringtie.ballgown, disk_size=disk_size, count_length=count_length } }