Ver código fonte

output of bamqc to multiqc

master
LUYAO REN 5 anos atrás
pai
commit
3d4fc9db41
7 arquivos alterados com 80 adições e 13 exclusões
  1. +2
    -0
      README.md
  2. +6
    -0
      inputs
  3. +2
    -2
      tasks/bamqc.wdl
  4. +26
    -0
      tasks/mergeNum.wdl
  5. +6
    -6
      tasks/multiqc.wdl
  6. +22
    -0
      tasks/vcfstat.wdl
  7. +16
    -5
      workflow.wdl

+ 2
- 0
README.md Ver arquivo

@@ -29,5 +29,7 @@

(5) multiqc

(6) VcfStats

注:可查询multiqc支持的指控模块,按需求添加 <https://multiqc.info/docs/#multiqc-modules>


+ 6
- 0
inputs Ver arquivo

@@ -1,20 +1,26 @@
{
"{{ project_name }}.benchmarking_dir": "oss://chinese-quartet/quartet-result-data/NCTR_benchmarking_20181215/",
"{{ project_name }}.vcfstat.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest",
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa",
"{{ project_name }}.fastqc.disk_size": "150",
"{{ project_name }}.benchmark.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc",
"{{ project_name }}.fastqscreen.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc",
"{{ project_name }}.fastqc.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc",
"{{ project_name }}.benchmark.disk_size": "150",
"{{ project_name }}.vcfstat.disk_size": "100",
"{{ project_name }}.fastqc.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastqc:v0.11.5",
"{{ project_name }}.benchmark.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest",
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}",
"{{ project_name }}.fastqscreen.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastqscreen:0.12.0",
"{{ project_name }}.mergeNum.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/gatk:v2019.01",
"{{ project_name }}.screen_ref_dir": "oss://pgx-reference-data/fastq_screen_reference/",
"{{ project_name }}.mergeNum.disk_size": "100",
"{{ 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 }}.mergeNum.cluster_config": "OnDemand ecs.sn1ne.xlarge img-ubuntu-vpc",
"{{ project_name }}.bamqc.cluster_config": "OnDemand ecs.sn1ne.8xlarge img-ubuntu-vpc",
"{{ project_name }}.vcfstat.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc",
"{{ project_name }}.fastqscreen.disk_size": "100",
"{{ project_name }}.bamqc.disk_size": "500",
"{{ project_name }}.multiqc.disk_size": "100",

+ 2
- 2
tasks/bamqc.wdl Ver arquivo

@@ -10,8 +10,8 @@ task bamqc {
set -o pipefail
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
/opt/qualimap/qualimap bamqc -bam ${bam} -outformat PDF:HTML -nt $nt -outdir ${bamname} --java-mem-size=32G
tar -zcvf ${bamname}_qualimap.zip ${bamname}
>>>

runtime {

+ 26
- 0
tasks/mergeNum.wdl Ver arquivo

@@ -0,0 +1,26 @@
task mergeNum {
Array[File] vcfnumber
String docker
String cluster_config
String disk_size

command <<<
set -o pipefail
set -e
for i in ${seq=" " vcfnumber}
do
cat $i | cut -d':' -f2 | tr '\n' '\t' | sed s'/\t$/\n/g' >> vcfstats
done
sed '1i\File\tFailed Filters\tPassed Filters\tSNPs\tMNPs\tInsertions\tDeletions\tIndels\tSame as reference\tSNP Transitions/Transversions\tTotal Het/Hom ratio\tSNP Het/Hom ratio\tMNP Het/Hom ratio\tInsertion Het/Hom ratio\tDeletion Het/Hom ratio\tIndel Het/Hom ratio\tInsertion/Deletion ratio\tIndel/SNP+MNP ratio' vcfstats > vcfstats.txt
>>>

runtime {
docker:docker
cluster:cluster_config
systemDisk:"cloud_ssd 40"
dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File vcfstat="vcfstats.txt"
}
}

+ 6
- 6
tasks/multiqc.wdl Ver arquivo

@@ -6,11 +6,7 @@ task multiqc {
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] zip

Array[File] summary

@@ -28,8 +24,12 @@ task multiqc {

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=" " zip} /cromwell_root/tmp/bamqc
cp ${sep=" " summary} /cromwell_root/tmp/benchmark
for i in `ls /cromwell_root/tmp/bamqc`
do
tar -zxvf $i
done

multiqc /cromwell_root/tmp/
ls > filelist

+ 22
- 0
tasks/vcfstat.wdl Ver arquivo

@@ -0,0 +1,22 @@
task vcfstat {
File vcf
String docker
String cluster_config
String disk_size

command <<<
set -o pipefail
set -e
rtg vcfstats ${vcf} > onestats.txt
>>>

runtime {
docker:docker
cluster:cluster_config
systemDisk:"cloud_ssd 40"
dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File vcfnumber="onestats.txt"
}
}

+ 16
- 5
workflow.wdl Ver arquivo

@@ -3,6 +3,9 @@ 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


workflow {{ project_name }} {

@@ -43,6 +46,13 @@ workflow {{ project_name }} {
sample_mark=sample[5],
fasta=fasta
}

call vcfstat.vcfstat as vcfstat {
input:
vcf=sample[4]
}


}
call multiqc.multiqc as multiqc {
input:
@@ -50,13 +60,14 @@ workflow {{ project_name }} {
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,
zip=bamqc.zip,
summary=benchmark.summary
}

call mergeNum.mergeNum as mergeNum {
input:
vcfnumber=vcfstat.vcfnumber
}

}


Carregando…
Cancelar
Salvar