|
|
@@ -1,3 +1,4 @@ |
|
|
|
import "./tasks/Fastqc.wdl" as Fastqc |
|
|
|
import "./tasks/TrimAdapt.wdl" as TrimAdapt |
|
|
|
import "./tasks/ReadFilter.wdl" as ReadFilter |
|
|
|
import "./tasks/Align.wdl" as Align |
|
|
@@ -5,38 +6,58 @@ import "./tasks/Quantification.wdl" as Quantification |
|
|
|
import "./tasks/ReadStats.wdl" as ReadStats |
|
|
|
|
|
|
|
workflow {{ project_name }} { |
|
|
|
|
|
|
|
String sample_ID |
|
|
|
String sample_id |
|
|
|
File raw_fastq |
|
|
|
|
|
|
|
String docker_fastp |
|
|
|
String docker_bowtie |
|
|
|
|
|
|
|
String cluster_config |
|
|
|
String disk_size |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
File dir_index_mature |
|
|
|
String prefix_index_mature |
|
|
|
Int sum_unmatch_quality_limit |
|
|
|
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, |
|
|
|
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, |
|
|
|
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, |
|
|
@@ -44,29 +65,73 @@ workflow {{ project_name }} { |
|
|
|
docker=docker_fastp, cluster_config=cluster_config, disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
call Align.Align as Align2Mature { |
|
|
|
call Align.AlignToSenseOnly as Align2miRNA { |
|
|
|
input: |
|
|
|
sample_ID=sample_ID, |
|
|
|
sample_id=sample_id, |
|
|
|
in_fastq=ReadFilter.out_fastq, |
|
|
|
dir_index=dir_index_mature,prefix_index=prefix_index_mature, |
|
|
|
sum_unmatch_quality_limit=sum_unmatch_quality_limit, |
|
|
|
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 Quantification.Quantification as Quantification{ |
|
|
|
call Align.AlignToSenseOnly as Align2piRNA { |
|
|
|
input: |
|
|
|
sample_ID=sample_ID, |
|
|
|
in_sam=Align2Mature.out_sam, |
|
|
|
cluster_config=cluster_config, disk_size=disk_size |
|
|
|
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 ReadStats.ReadStats as ReadStats { |
|
|
|
|
|
|
|
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_log_trimAdatper=TrimAdapt.out_log, |
|
|
|
in_log_readFilter=ReadFilter.out_log, |
|
|
|
in_log_align_mature=Align2Mature.out_log, |
|
|
|
cluster_config=cluster_config, disk_size=disk_size |
|
|
|
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 |
|
|
|
} |
|
|
|
} |