|
|
|
|
|
|
|
|
import "./tasks/count.wdl" as count |
|
|
import "./tasks/count.wdl" as count |
|
|
|
|
|
|
|
|
workflow {{ project_name }} { |
|
|
workflow {{ project_name }} { |
|
|
File read1 |
|
|
|
|
|
File read2 |
|
|
|
|
|
File idx |
|
|
|
|
|
File screen_ref_dir |
|
|
|
|
|
File fastq_screen_conf |
|
|
|
|
|
File gtf |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
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: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
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 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
call fastp.fastp as fastp { |
|
|
|
|
|
input: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
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: |
|
|
|
|
|
sample_id=sample_id, |
|
|
|
|
|
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 |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
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 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 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
} |
|
|
} |
|
|
} |