@@ -11,11 +11,13 @@ | |||
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}", | |||
"{{ project_name }}.fastqscreen.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastqscreen:0.12.0", | |||
"{{ project_name }}.screen_ref_dir": "oss://pgx-reference-data/fastq_screen_reference/", | |||
"{{ project_name }}.rtg.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | |||
"{{ project_name }}.fastq_screen_conf": "oss://pgx-reference-data/fastq_screen_reference/fastq_screen.conf", | |||
"{{ project_name }}.multiqc.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.multiqc.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/multiqc:v1.8", | |||
"{{ project_name }}.bamqc.cluster_config": "OnDemand ecs.sn1ne.8xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.fastqscreen.disk_size": "100", | |||
"{{ project_name }}.bamqc.disk_size": "500", | |||
"{{ project_name }}.multiqc.disk_size": "100", | |||
"{{ project_name }}.bamqc.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/qualimap:2.0.0", | |||
"{{ project_name }}.ref_dir": "oss://chinese-quartet/quartet-storage-data/reference_data/" | |||
} |
@@ -1,6 +1,7 @@ | |||
task bamqc { | |||
File bam | |||
File bai | |||
String bamname = basename(bam,".bam") | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
@@ -10,6 +11,7 @@ task bamqc { | |||
set -e | |||
nt=$(nproc) | |||
/opt/qualimap/qualimap bamqc -bam ${bam} -outformat PDF:HTML -nt $nt -outdir result --java-mem-size=32G | |||
tar -zcvf ${bamname}_qualimap.zip ./result | |||
>>> | |||
runtime { | |||
@@ -20,9 +22,12 @@ task bamqc { | |||
} | |||
output { | |||
File zip = "${bamname}_qualimap.zip" | |||
File genome_result = "result/genome_results.txt" | |||
File pdf = "result/report.pdf" | |||
Array[File] png = glob("reuslt/images_qualimapReport/*.png") | |||
Array[File] txt = glob("result/raw_data_qualimapReport/*.txt") | |||
File coverage = "result/raw_data_qualimapReport/coverage_histogram.txt" | |||
File insert_size = "result/raw_data_qualimapReport/insert_size_histogram.txt" | |||
File genome_fraction = "result/raw_data_qualimapReport/genome_fraction_coverage.txt" | |||
File gc_dist = "result/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt" | |||
} | |||
} |
@@ -0,0 +1,50 @@ | |||
task multiqc { | |||
Array[File] read1_zip | |||
Array[File] read2_zip | |||
Array[File] txt1 | |||
Array[File] txt2 | |||
Array[File] genome_result | |||
Array[File] coverage | |||
Array[File] insert_size | |||
Array[File] genome_fraction | |||
Array[File] gc_dist | |||
Array[File] summary | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
mkdir -p /cromwell_root/tmp/fastqc | |||
mkdir -p /cromwell_root/tmp/fastqscreen | |||
mkdir -p /cromwell_root/tmp/bamqc | |||
mkdir -p /cromwell_root/tmp/benchmark | |||
cp ${sep=" " read1_zip} ${sep=" " read2_zip} /cromwell_root/tmp/fastqc | |||
cp ${sep=" " txt1} ${sep=" " txt2} /cromwell_root/tmp/fastqscreen | |||
cp ${sep=" " genome_result} ${sep=" " coverage} ${sep=" " insert_size} ${sep=" " genome_fraction} ${sep=" " gc_dist} /cromwell_root/tmp/bamqc | |||
cp ${sep=" " summary} /cromwell_root/tmp/benchmark | |||
multiqc /cromwell_root/tmp/ | |||
ls > filelist | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster:cluster_config | |||
systemDisk:"cloud_ssd 40" | |||
dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File filelist = "filelist" | |||
File multiqc_html = "multiqc_report.html" | |||
Array[File] multiqc_txt = glob("multiqc_data/*") | |||
} | |||
} |
@@ -2,8 +2,9 @@ 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 | |||
workflow {{ project_name }} { | |||
workflow project_name { | |||
File inputSamplesFile | |||
Array[Array[File]] inputSamples = read_tsv(inputSamplesFile) | |||
@@ -43,6 +44,19 @@ workflow {{ project_name }} { | |||
fasta=fasta | |||
} | |||
} | |||
call multiqc.multiqc as multiqc { | |||
input: | |||
read1_zip=fastqc.read1_zip, | |||
read2_zip=fastqc.read2_zip, | |||
txt1=fastqscreen.txt1, | |||
txt2=fastqscreen.txt2, | |||
genome_result=bamqc.genome_result, | |||
coverage=bamqc.coverage, | |||
insert_size=bamqc.insert_size, | |||
genome_fraction=bamqc.genome_fraction, | |||
gc_dist=bamqc.gc_dist, | |||
summary=benchmark.summary | |||
} | |||
} | |||