@@ -0,0 +1,2 @@ | |||
WES capture efficiency (from bam file) | |||
@@ -0,0 +1,9 @@ | |||
{ | |||
"SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics", | |||
"fasta": "GRCh38.d1.vd1.fa", | |||
"picard_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/picard:2.20.2", | |||
"sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2019.11.28", | |||
"disk_size": "200", | |||
"SMALLcluster_config": "OnDemand bcs.ps.g.xlarge img-ubuntu-vpc", | |||
"ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/" | |||
} |
@@ -0,0 +1,17 @@ | |||
{ | |||
"{{ project_name }}.SENTIEON_INSTALL_DIR": "{{ SENTIEON_INSTALL_DIR }}", | |||
"{{ project_name }}.Dedup_bam": "{{ Dedup_bam }}", | |||
"{{ project_name }}.fasta": "{{ fasta }}", | |||
"{{ project_name }}.disk_size": "{{ disk_size }}", | |||
"{{ project_name }}.sentieon_docker": "sentieon_docker", | |||
"{{ project_name }}.picard_docker": "picard_docker", | |||
"{{ project_name }}.bed": "{{ bed }}", | |||
"{{ project_name }}.SMALLcluster_config": "{{ SMALLcluster_config }}", | |||
"{{ project_name }}.interval_list_name": "{{ interval_list_name }}", | |||
"{{ project_name }}.Dedup_bam_index": "{{ Dedup_bam_index }}", | |||
"{{ project_name }}.sample": "{{ sample }}", | |||
"{{ project_name }}.ref_dir": "{{ ref_dir }}" | |||
} | |||
@@ -0,0 +1,30 @@ | |||
task bed_to_interval_list { | |||
File reference_bed_dict | |||
File bed | |||
String interval_list_name | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
java -jar /usr/bin/picard/picard.jar BedToIntervalList \ | |||
I=${bed} \ | |||
O=${interval_list_name}.txt \ | |||
SD=${reference_bed_dict} | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File interval_list = "${interval_list_name}.txt" | |||
} | |||
} |
@@ -0,0 +1,47 @@ | |||
task deduped_Metrics { | |||
File ref_dir | |||
File bed | |||
File interval_list | |||
String SENTIEON_INSTALL_DIR | |||
String sample | |||
String fasta | |||
File Dedup_bam | |||
File Dedup_bam_index | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
export SENTIEON_LICENSE=192.168.0.55:8990 | |||
nt=$(nproc) | |||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${Dedup_bam} --interval ${bed} --algo CoverageMetrics --omit_base_output ${sample}_deduped_coverage_metrics --algo MeanQualityByCycle ${sample}_deduped_mq_metrics.txt --algo QualDistribution ${sample}_deduped_qd_metrics.txt --algo GCBias --summary ${sample}_deduped_gc_summary.txt ${sample}_deduped_gc_metrics.txt --algo AlignmentStat ${sample}_deduped_aln_metrics.txt --algo InsertSizeMetricAlgo ${sample}_deduped_is_metrics.txt --algo QualityYield ${sample}_deduped_QualityYield.txt --algo WgsMetricsAlgo ${sample}_deduped_WgsMetricsAlgo.txt --algo HsMetricAlgo --targets_list ${interval_list} --baits_list ${interval_list} ${sample}_deduped_HsMetricAlgo.txt | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File deduped_coverage_metrics_sample_summary = "${sample}_deduped_coverage_metrics.sample_summary" | |||
File deduped_coverage_metrics_sample_statistics = "${sample}_deduped_coverage_metrics.sample_statistics" | |||
File deduped_coverage_metrics_sample_interval_statistics = "${sample}_deduped_coverage_metrics.sample_interval_statistics" | |||
File deduped_coverage_metrics_sample_cumulative_coverage_proportions = "${sample}_deduped_coverage_metrics.sample_cumulative_coverage_proportions" | |||
File deduped_coverage_metrics_sample_cumulative_coverage_counts = "${sample}_deduped_coverage_metrics.sample_cumulative_coverage_counts" | |||
File deduped_mean_quality = "${sample}_deduped_mq_metrics.txt" | |||
File deduped_qd_metrics = "${sample}_deduped_qd_metrics.txt" | |||
File deduped_gc_summary = "${sample}_deduped_gc_summary.txt" | |||
File deduped_gc_metrics = "${sample}_deduped_gc_metrics.txt" | |||
File dedeuped_aln_metrics = "${sample}_deduped_aln_metrics.txt" | |||
File deduped_is_metrics = "${sample}_deduped_is_metrics.txt" | |||
File deduped_QualityYield = "${sample}_deduped_QualityYield.txt" | |||
File deduped_wgsmetrics = "${sample}_deduped_WgsMetricsAlgo.txt" | |||
File deduped_HsMetricAlgo = "${sample}_deduped_HsMetricAlgo.txt" | |||
} | |||
} |
@@ -0,0 +1,28 @@ | |||
task reference_dict { | |||
File ref_dir | |||
String fasta | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
java -jar /usr/bin/picard/picard.jar CreateSequenceDictionary \ | |||
R=${ref_dir}/${fasta}\ | |||
O=reference_bed_dict.txt | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File reference_bed_dict= "reference_bed_dict.txt" | |||
} | |||
} |
@@ -0,0 +1,54 @@ | |||
import "./tasks/reference_dict.wdl" as reference_dict | |||
import "./tasks/bed_to_interval_list.wdl" as bed_to_interval_list | |||
import "./tasks/deduped_Metrics.wdl" as deduped_Metrics | |||
workflow project_name { | |||
File ref_dir | |||
String fasta | |||
String SMALLcluster_config | |||
String disk_size | |||
String picard_docker | |||
String sentieon_docker | |||
File bed | |||
String interval_list_name | |||
String SENTIEON_INSTALL_DIR | |||
String sample | |||
File Dedup_bam | |||
File Dedup_bam_index | |||
call reference_dict.reference_dict as reference_dict { | |||
input: | |||
ref_dir=ref_dir, | |||
fasta=fasta, | |||
docker=picard_docker, | |||
cluster_config=SMALLcluster_config, | |||
disk_size=disk_size | |||
} | |||
call bed_to_interval_list.bed_to_interval_list as bed_to_interval_list { | |||
input: | |||
bed=bed, | |||
interval_list_name=interval_list_name, | |||
reference_bed_dict=reference_dict.reference_bed_dict, | |||
docker=picard_docker, | |||
cluster_config=SMALLcluster_config, | |||
disk_size=disk_size | |||
} | |||
call deduped_Metrics.deduped_Metrics as deduped_Metrics { | |||
input: | |||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||
fasta=fasta, | |||
ref_dir=ref_dir, | |||
bed=bed, | |||
Dedup_bam=Dedup_bam, | |||
Dedup_bam_index=Dedup_bam_index, | |||
sample=sample, | |||
docker=sentieon_docker, | |||
interval_list=bed_to_interval_list.interval_list, | |||
disk_size=disk_size, | |||
cluster_config=SMALLcluster_config | |||
} | |||
} | |||