|
- import "./tasks/Fastqc.wdl" as Fastqc
- import "./tasks/TrimAdapt.wdl" as TrimAdapt
- import "./tasks/ReadFilter.wdl" as ReadFilter
- import "./tasks/Align.wdl" as Align
- import "./tasks/Quantification.wdl" as Quantification
- import "./tasks/ReadStats.wdl" as ReadStats
-
- workflow {{ project_name }} {
- String sample_id
- File raw_fastq
-
- String adapter_seq
- Int randomBase_in_adapter
- Int sequencing_length
-
- Int qualified_quality_phred
- Int unqualified_percent_limit
- Int n_base_limit
- Int length_required
-
- Int max_mismatch_allowed
-
- File dir_index_miRNA
- String prefix_index_miRNA
- File dir_index_preMiRNA
- String prefix_index_preMiRNA
- File dir_index_piRNA
- String prefix_index_piRNA
- File dir_index_tRNA
- String prefix_index_tRNA
- File dir_index_RNA
- String prefix_index_RNA
- File dir_index_hg38
- String prefix_index_hg38
-
- String docker_fastqc
- String docker_fastp
- String docker_bowtie
-
- String cluster_config
-
- String disk_size
-
- call Fastqc.Fastqc as Fastqc {
- input:
- in_fastq=raw_fastq,
- docker=docker_fastqc, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call TrimAdapt.TrimAdapt as TrimAdapt {
- input:
- sample_id=sample_id,in_fastq=raw_fastq,
- adapter_seq=adapter_seq, randomBase_in_adapter=randomBase_in_adapter, sequencing_length=sequencing_length,
- docker=docker_fastp, cluster_config=cluster_config, disk_size=disk_size
- }
-
-
- call ReadFilter.ReadFilter as ReadFilter {
- input:
- sample_id=sample_id,
- in_fastq=TrimAdapt.out_fastq,
- qualified_quality_phred=qualified_quality_phred,unqualified_percent_limit=unqualified_percent_limit,
- n_base_limit=n_base_limit,
- length_required=length_required,
- docker=docker_fastp, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call Align.AlignToSenseOnly as Align2miRNA {
- input:
- sample_id=sample_id,
- in_fastq=ReadFilter.out_fastq,
- refname="miRNA",dir_index=dir_index_miRNA,prefix_index=prefix_index_miRNA,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call Align.AlignToSenseOnly as Align2PreMiRNA {
- input:
- sample_id=sample_id,
- in_fastq=Align2miRNA.out_fastq,
- refname="preMiRNA",dir_index=dir_index_preMiRNA,prefix_index=prefix_index_preMiRNA,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call Align.AlignToSenseOnly as Align2piRNA {
- input:
- sample_id=sample_id,
- in_fastq=Align2PreMiRNA.out_fastq,
- refname="piRNA",dir_index=dir_index_piRNA,prefix_index=prefix_index_piRNA,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
-
-
- call Align.AlignToSenseOnly as Align2tRNA {
- input:
- sample_id=sample_id,
- in_fastq=Align2piRNA.out_fastq,
- refname="tRNA",dir_index=dir_index_tRNA,prefix_index=prefix_index_tRNA,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call Align.AlignToSenseOnly as Align2RNA {
- input:
- sample_id=sample_id,
- in_fastq=Align2tRNA.out_fastq,
- refname="RNA",dir_index=dir_index_RNA,prefix_index=prefix_index_RNA,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
- call Align.AlignToBothStrand as Align2Hg38 {
- input:
- sample_id=sample_id,
- in_fastq=Align2RNA.out_fastq,
- refname="Hg38",dir_index=dir_index_hg38,prefix_index=prefix_index_hg38,
- max_mismatch_allowed=max_mismatch_allowed,
- docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
- }
-
- call Quantification.Quantification as Quantification {
- input:
- sample_id=sample_id,
- in_sam=Align2miRNA.out_sam,
- cluster_config=cluster_config,disk_size=disk_size
- }
-
- call ReadStats.ReadStats as ReadStats {
- input:
- sample_id=sample_id,
- in_log_trimAdatper=TrimAdapt.out_log,in_log_readFilter=ReadFilter.out_log,
- in_log_align_miRNA=Align2miRNA.out_log,in_log_align_preMiRNA=Align2PreMiRNA.out_log,in_log_align_piRNA=Align2piRNA.out_log,in_log_align_tRNA=Align2tRNA.out_log,in_log_align_RNA=Align2RNA.out_log,in_log_align_hg38=Align2Hg38.out_log,
- in_sam_align_RNA=Align2RNA.out_sam,
- cluster_config=cluster_config,disk_size=disk_size
- }
- }
|