|
- import "./tasks/fastqc.wdl" as fastqc
- import "./tasks/fastqscreen.wdl" as fastqscreen
- import "./tasks/bamqc.wdl" as bamqc
- import "./tasks/benchmark.wdl" as benchmark
- import "./tasks/multiqc.wdl" as multiqc
- import "./tasks/vcfstat.wdl" as vcfstat
- import "./tasks/mergeNum.wdl" as mergeNum
- import "./tasks/jaccard_index.wdl" as JI
- import "./tasks/mergeJI.wdl" as mergeJI
-
-
- workflow {{ project_name }} {
-
- File inputSamplesFile
- Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
- File inputJIpiarsFile
- Array[Array[File]] inputJIpairs = read_tsv(inputJIpiarsFile)
- File screen_ref_dir
- File fastq_screen_conf
- File benchmarking_dir
- File ref_dir
- String fasta
- File sdf
-
- scatter (sample in inputSamples) {
- call fastqc.fastqc as fastqc {
- input:
- read1=sample[0],
- read2=sample[1]
- }
-
- call fastqscreen.fastq_screen as fastqscreen {
- input:
- read1=sample[0],
- read2=sample[1],
- screen_ref_dir=screen_ref_dir,
- fastq_screen_conf=fastq_screen_conf
- }
-
- call bamqc.bamqc as bamqc {
- input:
- bam=sample[2],
- bai=sample[3]
- }
-
- call benchmark.benchmark as benchmark {
- input:
- vcf=sample[4],
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- sample_mark=sample[5],
- fasta=fasta
- }
-
- call vcfstat.vcfstat as vcfstat {
- input:
- rtg_vcf=benchmark.rtg_vcf,
- rtg_vcf_index=benchmark.rtg_vcf_index
- }
-
- }
- call multiqc.multiqc as multiqc {
- input:
- read1_zip=fastqc.read1_zip,
- read2_zip=fastqc.read2_zip,
- txt1=fastqscreen.txt1,
- txt2=fastqscreen.txt2,
- zip=bamqc.zip,
- summary=benchmark.summary
- }
-
- call mergeNum.mergeNum as mergeNum {
- input:
- vcfnumber=vcfstat.vcfnumber
- }
-
- scatter (pair in inputJIpairs) {
- call JI.JI as JI {
- input:
- vcf_a=pair[0],
- vcf_b=pair[1],
- dir_name=pair[2],
- sdf=sdf
- }
- }
-
- call mergeJI.mergeJI as mergeJI {
- input:
- JI_summary=JI.JI_summary,
- inputJIpiarsFile=inputJIpiarsFile
- }
-
- }
|