{ | { | ||||
"fasta": "oss://pgx-reference-data/GRCh38.d1.vd1/GRCh38.d1.vd1.fa", | |||||
"fai": "oss://pgx-reference-data/GRCh38.d1.vd1/GRCh38.d1.vd1.fa.fai", | |||||
"fasta": "GRCh38.d1.vd1.fa", | |||||
"ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/", | |||||
"docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/cnvkit:0.9.7", | "docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/cnvkit:0.9.7", | ||||
"disk_size": "200", | |||||
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc", | |||||
"disk_size": "400", | |||||
"cluster_config": "OnDemand bcs.a2.7xlarge img-ubuntu-vpc", | |||||
"bed": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/SureSelect_Human_All_Exon_V6_r2.bed" | "bed": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/SureSelect_Human_All_Exon_V6_r2.bed" | ||||
} | } |
"{{ project_name }}.tumor_bam": {{ tumor_bam | tojson }}, | "{{ project_name }}.tumor_bam": {{ tumor_bam | tojson }}, | ||||
"{{ project_name }}.tumor_bai": {{ tumor_bai | tojson }}, | "{{ project_name }}.tumor_bai": {{ tumor_bai | tojson }}, | ||||
"{{ project_name }}.fasta": "{{ fasta }}", | "{{ project_name }}.fasta": "{{ fasta }}", | ||||
"{{ project_name }}.fai": "{{ fai }}", | |||||
"{{ project_name }}.ref_dir": "{{ ref_dir }}", | |||||
"{{ project_name }}.docker": "{{ docker }}", | "{{ project_name }}.docker": "{{ docker }}", | ||||
"{{ project_name }}.bed": "{{ bed }}", | "{{ project_name }}.bed": "{{ bed }}", | ||||
"{{ project_name }}.disk_size": "{{ disk_size }}", | "{{ project_name }}.disk_size": "{{ disk_size }}", |
task access { | task access { | ||||
File fasta | |||||
File fai | |||||
File ref_dir | |||||
String fasta | |||||
String docker | String docker | ||||
String cluster_config | |||||
String disk_size | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | command <<< | ||||
cnvkit.py access -s 5000 -o access-5kb-mappable.hg38.bed ${fasta} | |||||
cnvkit.py access -s 5000 -o access-5kb-mappable.hg38.bed ${ref_dir}/${fasta} | |||||
>>> | >>> | ||||
runtime { | runtime { | ||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | } | ||||
output { | output { | ||||
File access_bed = "access-5kb-mappable.hg38.bed" | File access_bed = "access-5kb-mappable.hg38.bed" | ||||
} | } |
Array[File] normal_bam | Array[File] normal_bam | ||||
Array[File] normal_bai | Array[File] normal_bai | ||||
File bed | File bed | ||||
File fasta | |||||
File fai | |||||
File ref_dir | |||||
String fasta | |||||
File access_bed | File access_bed | ||||
String docker | String docker | ||||
String cluster_config | |||||
String disk_size | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | command <<< | ||||
set -o pipefail | |||||
set -o pipefail | |||||
set -e | set -e | ||||
mkdir -p /cromwell_root/tmp/cnvkit | mkdir -p /cromwell_root/tmp/cnvkit | ||||
cp ${sep=' ' normal_bai} /cromwell_root/tmp/cnvkit | |||||
cp ${sep=' ' normal_bai} /cromwell_root/tmp/cnvkit | |||||
cp ${sep=' ' tumor_bai} /cromwell_root/tmp/cnvkit | cp ${sep=' ' tumor_bai} /cromwell_root/tmp/cnvkit | ||||
cd /cromwell_root/tmp/cnvkit | |||||
cd /cromwell_root/tmp/cnvkit | |||||
mkdir results | |||||
cnvkit.py batch ${sep=' ' tumor_bam} --normal ${sep=' ' normal_bam} \ | cnvkit.py batch ${sep=' ' tumor_bam} --normal ${sep=' ' normal_bam} \ | ||||
--targets ${bed} \ | --targets ${bed} \ | ||||
--fasta ${fasta} --access ${access_bed} \ | |||||
--output-reference my_reference.cnn --output-dir ./results/ \ | |||||
--fasta ${ref_dir}/${fasta} --access ${access_bed} \ | |||||
--output-reference ${sample_id}.reference.cnn --output-dir /cromwell_root/tmp/cnvkit/results/ \ | |||||
--diagram --scatter | --diagram --scatter | ||||
>>> | >>> | ||||
runtime { | runtime { | ||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | } | ||||
output { | output { | ||||
File reference_cnn = "my_reference.cnn" | |||||
Array[File] result = glob("result/*") | |||||
File reference_cnn = "${sample_id}.reference.cnn" | |||||
Array[File] results = glob("/cromwell_root/tmp/cnvkit/results/*") | |||||
} | } | ||||
} | } |
task export{ | task export{ | ||||
Array[File] result | |||||
String sample_id | |||||
Array[File] results | |||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
command <<< | command <<< | ||||
mkdir -p /cromwell_root/tmp/cnvkit | |||||
cp -r ${sep=" " result} /cromwell_root/tmp/cnvkit | |||||
cd /cromwell_root/tmp/cnvkit | |||||
# this version app just provides seg | |||||
cnvkit.py export seg ./results/*.cns -o samples.seg | |||||
mkdir -p /cromwell_root/tmp/cnvkit | |||||
cp -r ${sep=" " results} /cromwell_root/tmp/cnvkit | |||||
cd /cromwell_root/tmp/cnvkit | |||||
# this version app just provides seg | |||||
cnvkit.py export seg *.cns -o ${sample_id}.seg | |||||
>>> | >>> | ||||
runtime { | runtime { | ||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | } | ||||
output { | output { | ||||
File seg = "samples.seg" | |||||
File seg = "${sample_id}.seg" | |||||
} | } | ||||
} | } |
Array[File] normal_bam | Array[File] normal_bam | ||||
Array[File] normal_bai | Array[File] normal_bai | ||||
File bed | File bed | ||||
File fasta | |||||
File fai | |||||
File ref_dir | |||||
String fasta | |||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
call access.access as access { | call access.access as access { | ||||
input: | input: | ||||
fasta=fasta, | fasta=fasta, | ||||
fai=fai, | |||||
ref_dir=ref_dir, | |||||
docker = docker, | docker = docker, | ||||
cluster_config = cluster_config, | cluster_config = cluster_config, | ||||
disk_size = disk_size | disk_size = disk_size | ||||
input: | input: | ||||
sample_id = sample_id, | sample_id = sample_id, | ||||
fasta=fasta, | fasta=fasta, | ||||
fai=fai, | |||||
ref_dir=ref_dir, | |||||
tumor_bam = tumor_bam, | tumor_bam = tumor_bam, | ||||
tumor_bai = tumor_bai, | tumor_bai = tumor_bai, | ||||
normal_bam = normal_bam, | normal_bam = normal_bam, | ||||
call export.export as export { | call export.export as export { | ||||
input: | input: | ||||
result = batch.result, | |||||
sample_id = sample_id, | |||||
results = batch.results, | |||||
docker = docker, | docker = docker, | ||||
cluster_config = cluster_config, | cluster_config = cluster_config, | ||||
disk_size = disk_size | disk_size = disk_size |