{ | |||||
"fasta": "GRCh38.d1.vd1.fa", | |||||
"ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/", | |||||
"dbsnp": "dbsnp_146.hg38.vcf", | |||||
"dbsnp_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/", | |||||
"dbmills_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/", | |||||
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf", | |||||
"annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04", | |||||
"maftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/r-base:4.0.2", | |||||
"muse_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/muse:v1.0rc", | |||||
"database": "oss://pgx-reference-data/annovar_hg38/", | |||||
"regions": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/SureSelect_Human_All_Exon_V6_r2.bed", | |||||
"disk_size": "200", | |||||
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc" | |||||
} |
{ | |||||
"{{ project_name }}.sample_id": "{{ sample_id }}", | |||||
"{{ project_name }}.normal_recaled_bam": "{{ normal_recaled_bam }}", | |||||
"{{ project_name }}.tumor_recaled_bam": "{{ tumor_recaled_bam }}", | |||||
"{{ project_name }}.normal_recaled_bam_index": "{{ normal_recaled_bam_index }}", | |||||
"{{ project_name }}.tumor_recaled_bam_index": "{{ tumor_recaled_bam_index }}", | |||||
"{{ project_name }}.fasta": "{{ fasta }}", | |||||
"{{ project_name }}.ref_dir": "{{ ref_dir }}", | |||||
"{{ project_name }}.dbsnp": "{{ dbsnp }}", | |||||
"{{ project_name }}.dbsnp_dir": "{{ dbsnp_dir }}", | |||||
"{{ project_name }}.dbmills_dir": "{{ dbmills_dir }}", | |||||
"{{ project_name }}.db_mills": "{{ db_mills }}", | |||||
"{{ project_name }}.varscan_docker": "{{ varscan_docker }}", | |||||
"{{ project_name }}.annovar_docker": "{{ annovar_docker }}", | |||||
"{{ project_name }}.maftools_docker": "{{ maftools_docker }}", | |||||
"{{ project_name }}.database": "{{ database }}", | |||||
"{{ project_name }}.regions": "{{ regions }}", | |||||
"{{ project_name }}.disk_size": "{{ disk_size }}", | |||||
"{{ project_name }}.cluster_config": "{{ cluster_config }}" | |||||
} |
task annovar { | |||||
File muse_vcf | |||||
File database | |||||
String sample | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
nt=$(nproc) | |||||
/installations/annovar/table_annovar.pl ${muse_vcf} ${database} -buildver hg38 -out ${sample}.MuSE -remove -protocol refGene,ensGene,knownGene,cytoBand,genomicSuperDups,ljb26_all,dbnsfp35c,intervar_20180118,cosmic70,exac03,gnomad211_exome,clinvar_20200316 -operation g,g,g,r,r,f,f,f,f,f,f,f -nastring . -vcfinput -thread $nt | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File avinput_muse = "${sample}.MuSE.avinput" | |||||
File multianno_muse_txt = "${sample}.MuSE.hg38_multianno.txt" | |||||
File multianno_muse = "${sample}.MuSE.hg38_multianno.vcf" | |||||
} | |||||
} |
task muse { | |||||
File ref_dir | |||||
String fasta | |||||
File dbsnp_dir | |||||
String dbsnp | |||||
File normal_bam | |||||
File normal_bam_index | |||||
File tumor_bam | |||||
File tumor_bam_index | |||||
String sample | |||||
String muse_docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
./MuSE call –O ${sample} –f ${ref_dir}/${fasta} ${tumor_bam} ${normal_bam} | |||||
./MuSE sump -I ${sample}.MuSE.txt -E –O ${sample}.MuSE.TN.vcf –D | |||||
>>> | |||||
runtime { | |||||
docker:muse_docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File muse_vcf = "${sample}.MuSE.TN.vcf" | |||||
} | |||||
} |
task vcf2maf { | |||||
File multianno_muse_txt | |||||
String sample | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
vcf2maf ${multianno_muse_txt} ${sample}.MuSE.MAF | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File muse_maf = "${sample}.MuSE.MAF" | |||||
} | |||||
} |
import "./tasks/muse.wdl" as muse | |||||
import "./tasks/annovar.wdl" as annovar | |||||
import "./tasks/vcf2maf.wdl" as vcf2maf | |||||
workflow {{ project_name }} { | |||||
String sample_id | |||||
File normal_recaled_bam | |||||
File tumor_recaled_bam | |||||
File normal_recaled_bam_index | |||||
File tumor_recaled_bam_index | |||||
String muse_docker | |||||
String annovar_docker | |||||
String maftools_docker | |||||
File ref_dir | |||||
String fasta | |||||
File dbmills_dir | |||||
String db_mills | |||||
File dbsnp_dir | |||||
String dbsnp | |||||
File regions | |||||
String disk_size | |||||
String cluster_config | |||||
File database | |||||
call muse.muse as muse { | |||||
input: | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
dbsnp_dir=dbsnp_dir, | |||||
dbsnp=dbsnp, | |||||
normal_bam=normal_recaled_bam, | |||||
tumor_bam=tumor_recaled_bam, | |||||
normal_bam_index=normal_recaled_bam_index, | |||||
tumor_bam_index=tumor_recaled_bam_index, | |||||
sample=sample_id, | |||||
muse_docker=muse_docker, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
call annovar.annovar as annovar { | |||||
input: | |||||
docker=annovar_docker, | |||||
database=database, | |||||
muse_vcf=muse.muse_vcf, | |||||
sample=sample_id, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call vcf2maf.vcf2maf as vcf2maf { | |||||
input: | |||||
docker=maftools_docker, | |||||
multianno_muse_txt=annovar.multianno_muse_txt, | |||||
sample=sample_id, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
} |