浏览代码

multiqc

master
LUYAO REN 5 年前
父节点
当前提交
9d51ce58a7
共有 5 个文件被更改,包括 75 次插入4 次删除
  1. +3
    -1
      inputs
  2. +7
    -2
      tasks/bamqc.wdl
  3. +0
    -0
      tasks/jaccard_index.wdl
  4. +50
    -0
      tasks/multiqc.wdl
  5. +15
    -1
      workflow.wdl

+ 3
- 1
inputs 查看文件

@@ -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/"
}

+ 7
- 2
tasks/bamqc.wdl 查看文件

@@ -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
tasks/jaccard_index.wdl 查看文件


+ 50
- 0
tasks/multiqc.wdl 查看文件

@@ -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/*")
}
}

+ 15
- 1
workflow.wdl 查看文件

@@ -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
}

}


正在加载...
取消
保存