|
|
|
|
|
|
|
|
import "./tasks/fastqscreen.wdl" as fastqscreen |
|
|
import "./tasks/fastqscreen.wdl" as fastqscreen |
|
|
import "./tasks/fastp.wdl" as fastp |
|
|
import "./tasks/fastp.wdl" as fastp |
|
|
import "./tasks/qualimap.wdl" as qualimap |
|
|
import "./tasks/qualimap.wdl" as qualimap |
|
|
|
|
|
import "./tasks/hisat2_fp.wdl" as hisat2_fp |
|
|
import "./tasks/hisat2.wdl" as hisat2 |
|
|
import "./tasks/hisat2.wdl" as hisat2 |
|
|
import "./tasks/samtools.wdl" as samtools |
|
|
import "./tasks/samtools.wdl" as samtools |
|
|
import "./tasks/stringtie.wdl" as stringtie |
|
|
import "./tasks/stringtie.wdl" as stringtie |
|
|
|
|
|
|
|
|
String count_length |
|
|
String count_length |
|
|
String sample_id |
|
|
String sample_id |
|
|
|
|
|
|
|
|
Int trim_front1 |
|
|
|
|
|
Int trim_tail1 |
|
|
|
|
|
Int max_len1 |
|
|
|
|
|
Int trim_front2 |
|
|
|
|
|
Int trim_tail2 |
|
|
|
|
|
Int max_len2 |
|
|
|
|
|
|
|
|
Int trim_front1 |
|
|
|
|
|
Int trim_tail1 |
|
|
|
|
|
Int max_len1 |
|
|
|
|
|
Int trim_front2 |
|
|
|
|
|
Int trim_tail2 |
|
|
|
|
|
Int max_len2 |
|
|
Int disable_adapter_trimming |
|
|
Int disable_adapter_trimming |
|
|
Int length_required |
|
|
Int length_required |
|
|
Int umi_len |
|
|
Int umi_len |
|
|
|
|
|
|
|
|
Boolean fastp_run |
|
|
Boolean fastp_run |
|
|
|
|
|
|
|
|
if (pre_alignment_qc) { |
|
|
if (pre_alignment_qc) { |
|
|
|
|
|
|
|
|
call fastqc.fastqc as fastqc { |
|
|
call fastqc.fastqc as fastqc { |
|
|
input: |
|
|
input: |
|
|
read1=read1, |
|
|
read1=read1, |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (fastp_run){ |
|
|
if (fastp_run){ |
|
|
|
|
|
|
|
|
call fastp.fastp as fastp { |
|
|
call fastp.fastp as fastp { |
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
read1=read1, |
|
|
|
|
|
|
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
read1=read1, |
|
|
read2=read2, |
|
|
read2=read2, |
|
|
docker=fastp_docker, |
|
|
docker=fastp_docker, |
|
|
cluster=fastp_cluster, |
|
|
cluster=fastp_cluster, |
|
|
|
|
|
|
|
|
adapter_sequence_r2=adapter_sequence_r2, |
|
|
adapter_sequence_r2=adapter_sequence_r2, |
|
|
umi_loc=umi_loc, |
|
|
umi_loc=umi_loc, |
|
|
trim_front1=trim_front1, |
|
|
trim_front1=trim_front1, |
|
|
trim_tail1=trim_tail1, |
|
|
|
|
|
|
|
|
trim_tail1=trim_tail1, |
|
|
max_len1=max_len1, |
|
|
max_len1=max_len1, |
|
|
trim_front2=trim_front2, |
|
|
trim_front2=trim_front2, |
|
|
trim_tail2=trim_tail2, |
|
|
trim_tail2=trim_tail2, |
|
|
|
|
|
|
|
|
disable_quality_filtering=disable_quality_filtering |
|
|
disable_quality_filtering=disable_quality_filtering |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
call hisat2.hisat2 as hisat2 { |
|
|
|
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
idx=idx, |
|
|
|
|
|
idx_prefix=idx_prefix, |
|
|
|
|
|
read_1P=fastp.Trim_R1, |
|
|
|
|
|
|
|
|
call hisat2.hisat2_fp as hisat2_fp { |
|
|
|
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
idx=idx, |
|
|
|
|
|
idx_prefix=idx_prefix, |
|
|
|
|
|
read_1P=fastp.Trim_R1, |
|
|
read_2P=fastp.Trim_R2, |
|
|
read_2P=fastp.Trim_R2, |
|
|
docker=hisat2_docker, |
|
|
docker=hisat2_docker, |
|
|
cluster=hisat2_cluster, |
|
|
cluster=hisat2_cluster, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!fastp_run){ |
|
|
if (!fastp_run){ |
|
|
call hisat2.hisat2 as hisat2 { |
|
|
call hisat2.hisat2 as hisat2 { |
|
|
input: |
|
|
|
|
|
|
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
docker=hisat2_docker, |
|
|
docker=hisat2_docker, |
|
|
cluster=hisat2_cluster, |
|
|
cluster=hisat2_cluster, |
|
|
idx=idx, |
|
|
|
|
|
idx_prefix=idx_prefix, |
|
|
|
|
|
read_1P=read1, |
|
|
|
|
|
|
|
|
idx=idx, |
|
|
|
|
|
idx_prefix=idx_prefix, |
|
|
|
|
|
read_1P=read1, |
|
|
read_2P=read2, |
|
|
read_2P=read2, |
|
|
disk_size=disk_size |
|
|
disk_size=disk_size |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
call samtools.samtools as samtools { |
|
|
call samtools.samtools as samtools { |
|
|
input: |
|
|
|
|
|
|
|
|
input: |
|
|
docker=samtools_docker, |
|
|
docker=samtools_docker, |
|
|
cluster=samtools_cluster, |
|
|
cluster=samtools_cluster, |
|
|
sam=hisat2.sam, |
|
|
sam=hisat2.sam, |
|
|
insert_size = insert_size, |
|
|
|
|
|
|
|
|
insert_size=insert_size, |
|
|
disk_size=disk_size |
|
|
disk_size=disk_size |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call qualimap.qualimap as qualimap { |
|
|
call qualimap.qualimap as qualimap { |
|
|
input: |
|
|
input: |
|
|
bam=samtools.out_sort_bam, |
|
|
bam=samtools.out_sort_bam, |
|
|
gtf=gtf, |
|
|
|
|
|
|
|
|
gtf=gtf, |
|
|
docker=qualimap_docker, |
|
|
docker=qualimap_docker, |
|
|
cluster=qualimap_cluster, |
|
|
cluster=qualimap_cluster, |
|
|
disk_size=disk_size |
|
|
disk_size=disk_size |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
call stringtie.stringtie as stringtie { |
|
|
call stringtie.stringtie as stringtie { |
|
|
input: |
|
|
|
|
|
|
|
|
input: |
|
|
docker=stringtie_docker, |
|
|
docker=stringtie_docker, |
|
|
cluster=stringtie_cluster, |
|
|
cluster=stringtie_cluster, |
|
|
gtf=gtf, |
|
|
|
|
|
|
|
|
gtf=gtf, |
|
|
bam=samtools.out_sort_bam, |
|
|
bam=samtools.out_sort_bam, |
|
|
disk_size=disk_size |
|
|
disk_size=disk_size |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
call ballgown.ballgown as ballgown { |
|
|
call ballgown.ballgown as ballgown { |
|
|
input: |
|
|
|
|
|
|
|
|
input: |
|
|
docker=ballgown_docker, |
|
|
docker=ballgown_docker, |
|
|
cluster=ballgown_cluster, |
|
|
cluster=ballgown_cluster, |
|
|
ballgown=stringtie.ballgown, |
|
|
ballgown=stringtie.ballgown, |
|
|
gene_abundance=stringtie.gene_abundance, |
|
|
gene_abundance=stringtie.gene_abundance, |
|
|
disk_size=disk_size |
|
|
disk_size=disk_size |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
call count.count as count { |
|
|
call count.count as count { |
|
|
input: |
|
|
|
|
|
|
|
|
input: |
|
|
sample_id=sample_id, |
|
|
sample_id=sample_id, |
|
|
docker=count_docker, |
|
|
docker=count_docker, |
|
|
cluster=count_cluster, |
|
|
cluster=count_cluster, |