|
- import "./tasks/fastqc.wdl" as fastqc
- import "./tasks/fastqscreen.wdl" as fastqscreen
- import "./tasks/fastp.wdl" as fastp
- 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
- File gtf
-
- String disk_size
- String fastqc_docker
- String fastqc_cluster
- String fastqscreen_docker
- String fastqscreen_cluster
- String fastp_docker
- String fastp_cluster
- String adapter_sequence
- String adapter_sequence_r2
- String hisat2_docker
- String hisat2_cluster
- String idx_prefix
- String stringtie_docker
- String stringtie_cluster
- String samtools_docker
- String samtools_cluster
- String qualimap_docker
- String qualimap_cluster
- String ballgown_docker
- String ballgown_cluster
- String count_docker
- String count_cluster
- String count_length
- String sample_id
-
- Int insert_size
-
- Boolean pre_alignment_qc
- Boolean qualimap_qc
- Boolean trim_adapter
-
- 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 fastp.fastp as fastp {
- input:
- read1=read1,
- read2=read2,
- docker=fastp_docker,
- cluster=fastp_cluster,
- disk_size=disk_size,
- adapter_sequence=adapter_sequence,
- adapter_sequence_r2=adapter_sequence_r2,
- trim_adapter=trim_adapter
- }
-
- call hisat2.hisat2 as hisat2 {
- input:
- docker=hisat2_docker,
- cluster=hisat2_cluster,
- idx=idx,
- idx_prefix=idx_prefix,
- read_1P=fastp.trim_R1,
- read_2P=fastp.trim_R2,
- 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
- }
-
- if (qualimap_qc){
- call qualimap.qualimap as qualimap {
- input:
- bam=samtools.out_sort_bam,
- 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:
- docker=count_docker,
- cluster=count_cluster,
- ballgown=stringtie.ballgown,
- gene_abundance=stringtie.gene_abundance,
- disk_size=disk_size,
- count_length=count_length
- }
- }
|