{ | |||||
"python.pythonPath": "/usr/bin/python" | |||||
} |
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf", | "db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf", | ||||
"sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2019.11.28", | "sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2019.11.28", | ||||
"annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04", | "annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04", | ||||
"vcf2maf_r_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/r-base:4.0.2", | |||||
"maftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/r-base:4.0.2", | |||||
"bcftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/bcftools:v1.9", | "bcftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/bcftools:v1.9", | ||||
"database": "oss://pgx-reference-data/annovar/", | "database": "oss://pgx-reference-data/annovar/", | ||||
"regions": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/agilent_v6_cosmic_hg38.bed", | "regions": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/agilent_v6_cosmic_hg38.bed", |
"{{ project_name }}.db_mills": "{{ db_mills }}", | "{{ project_name }}.db_mills": "{{ db_mills }}", | ||||
"{{ project_name }}.sentieon_docker": "{{ sentieon_docker }}", | "{{ project_name }}.sentieon_docker": "{{ sentieon_docker }}", | ||||
"{{ project_name }}.annovar_docker": "{{ annovar_docker }}", | "{{ project_name }}.annovar_docker": "{{ annovar_docker }}", | ||||
"{{ project_name }}.vcf2maf_r_docker": "{{ vcf2maf_r_docker }}", | |||||
"{{ project_name }}.maftools_docker": "{{ maftools_docker }}", | |||||
"{{ project_name }}.database": "{{ database }}", | "{{ project_name }}.database": "{{ database }}", | ||||
"{{ project_name }}.regions": "{{ regions }}", | "{{ project_name }}.regions": "{{ regions }}", | ||||
"{{ project_name }}.set_pon": "{{ set_pon }}", | |||||
"{{ project_name }}.set_pon": {{ set_pon }}, | |||||
"{{ project_name }}.pon_vcf": "{{ pon_vcf }}", | "{{ project_name }}.pon_vcf": "{{ pon_vcf }}", | ||||
"{{ project_name }}.cosmic_vcf": "{{ cosmic_vcf }}", | "{{ project_name }}.cosmic_vcf": "{{ cosmic_vcf }}", | ||||
"{{ project_name }}.cosmic_dir": "{{ cosmic_dir }}", | "{{ project_name }}.cosmic_dir": "{{ cosmic_dir }}", | ||||
"{{ project_name }}.disk_size": "{{ disk_size }}", | "{{ project_name }}.disk_size": "{{ disk_size }}", | ||||
"{{ project_name }}.cluster_config": "{{ cluster_config }}", | "{{ project_name }}.cluster_config": "{{ cluster_config }}", | ||||
"{{ project_name }}.set_annovar": "{{ set_annovar }}", | |||||
"{{ project_name }}.set_vcf2maf": "{{ set_vcf2maf }}" | |||||
"{{ project_name }}.set_annovar": {{ set_annovar }}, | |||||
"{{ project_name }}.set_vcf2maf": {{ set_vcf2maf }} | |||||
} | } |
File? pon_vcf | File? pon_vcf | ||||
String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else "" | String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else "" | ||||
Boolean TN = if defined(corealigner_bam) then true else false | |||||
command <<< | command <<< | ||||
set -o pipefail | set -o pipefail | ||||
set -e | set -e | ||||
cp ${pon_vcf} /cromwell_root/tmp/PON/ | cp ${pon_vcf} /cromwell_root/tmp/PON/ | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/${cosmic_vcf} | ${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/${cosmic_vcf} | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf}) | ${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf}) | ||||
if ${corealigner_bam}; then | |||||
if ${TN}; then | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNscope --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNscope --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf | ||||
else | else | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${tumor_recaled_bam} --algo TNscope --tumor_sample ${tumor_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${tumor_recaled_bam} --algo TNscope --tumor_sample ${tumor_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf |
File? pon_vcf | File? pon_vcf | ||||
String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else "" | String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else "" | ||||
Boolean TN = if defined(corealigner_bam) then true else false | |||||
command <<< | command <<< | ||||
set -o pipefail | set -o pipefail | ||||
set -e | set -e | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/${cosmic_vcf} | ${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/${cosmic_vcf} | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf}) | ${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf}) | ||||
if ${corealigner_bam}; then | |||||
if ${TN}; then | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNhaplotyper --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNhaplotyper --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf | ||||
else | else | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${tumor_recaled_bam} --algo TNhaplotyper --tumor_sample ${tumor_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${tumor_recaled_bam} --algo TNhaplotyper --tumor_sample ${tumor_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf |
task annovar { | task annovar { | ||||
File tnscope_vcf_file | |||||
File tnseq_vcf_file | |||||
File TNscope_vcf | |||||
File TNseq_vcf | |||||
File database | File database | ||||
String sample | String sample | ||||
String docker | String docker | ||||
set -o pipefail | set -o pipefail | ||||
set -e | set -e | ||||
nt=$(nproc) | nt=$(nproc) | ||||
/installations/annovar/table_annovar.pl ${tnscope_vcf_file} ${database} -buildver hg19 -out ${sample}_tnscope -remove -protocol refGene,cytoBand,genomicSuperDups,snp138,ljb26_all,cosmic78,clinvar_20170130,popfreq_all_20150413,intervar_20170202 -operation g,r,r,f,f,f,f,f,f -nastring . -vcfinput -thread $nt | |||||
/installations/annovar/table_annovar.pl ${tnseq_vcf_file} ${database} -buildver hg19 -out ${sample}_tnseq -remove -protocol refGene,cytoBand,genomicSuperDups,snp138,ljb26_all,cosmic78,clinvar_20170130,popfreq_all_20150413,intervar_20170202 -operation g,r,r,f,f,f,f,f,f -nastring . -vcfinput -thread $nt | |||||
/installations/annovar/table_annovar.pl ${TNscope_vcf} ${database} -buildver hg38 -out ${sample}_TNscope -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 | |||||
/installations/annovar/table_annovar.pl ${TNseq_vcf} ${database} -buildver hg38 -out ${sample}_TNseq -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 { | runtime { | ||||
} | } | ||||
output { | output { | ||||
File avinput_tnscope = "${sample}_tnscope.avinput" | |||||
File multianno_tnscope_txt = "${sample}_tnscope.hg19_multianno.txt" | |||||
File multianno_tnscope_vcf = "${sample}_tnscope.hg19_multianno.vcf" | |||||
File avinput_tnseq = "${sample}_tnseq.avinput" | |||||
File multianno_tnseq_txt = "${sample}_tnseq.hg19_multianno.txt" | |||||
File multianno_tnseq_vcf = "${sample}_tnseq.hg19_multianno.vcf" | |||||
File avinput_TNscope = "${sample}_TNscope.avinput" | |||||
File multianno_TNscope_txt = "${sample}_TNscope.hg38_multianno.txt" | |||||
File multianno_TNscope_vcf = "${sample}_TNscope.hg38_multianno.vcf" | |||||
File avinput_TNseq = "${sample}_TNseq.avinput" | |||||
File multianno_TNseq_txt = "${sample}_TNseq.hg38_multianno.txt" | |||||
File multianno_TNseq_vcf = "${sample}_TNseq.hg38_multianno.vcf" | |||||
} | } | ||||
} | } |
task vcf2maf { | task vcf2maf { | ||||
File multianno_tnscope_txt | |||||
File multianno_tnseq_txt | |||||
File multianno_TNscope_txt | |||||
File multianno_TNseq_txt | |||||
String sample | String sample | ||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
command <<< | command <<< | ||||
vcf2maf ${multianno_tnscope_txt} ${sample}_tnscope.MAF | |||||
vcf2maf ${multianno_tnseq_txt} ${sample}_tnseq.MAF | |||||
vcf2maf ${multianno_TNscope_txt} ${sample}_TNscope.MAF | |||||
vcf2maf ${multianno_TNseq_txt} ${sample}_TNseq.MAF | |||||
>>> | >>> | ||||
runtime { | runtime { | ||||
} | } | ||||
output { | output { | ||||
File tnscope_maf = "${sample}_tnscope.MAF" | |||||
File tnseq_maf = "${sample}_tnseq.MAF" | |||||
File tnscope_maf = "${sample}_TNscope.MAF" | |||||
File tnseq_maf = "${sample}_TNseq.MAF" | |||||
} | } | ||||
} | } |
String SENTIEON_LICENSE | String SENTIEON_LICENSE | ||||
String sentieon_docker | String sentieon_docker | ||||
String annovar_docker | String annovar_docker | ||||
String vcf2maf_r_docker | |||||
String maftools_docker | |||||
File ref_dir | File ref_dir | ||||
String fasta | String fasta | ||||
input: | input: | ||||
docker=annovar_docker, | docker=annovar_docker, | ||||
database=database, | database=database, | ||||
tnscope_vcf_file=TNscope.TNscope_vcf, | |||||
tnseq_vcf_file=TNseq.TNseq_vcf, | |||||
TNscope_vcf=TNscope.TNscope_vcf, | |||||
TNseq_vcf=TNseq.TNseq_vcf, | |||||
sample=sample, | sample=sample, | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, | ||||
disk_size=disk_size | disk_size=disk_size | ||||
if (set_vcf2maf){ | if (set_vcf2maf){ | ||||
call vcf2maf.vcf2maf as vcf2maf { | call vcf2maf.vcf2maf as vcf2maf { | ||||
input: | input: | ||||
docker=vcf2maf_r_docker, | |||||
multianno_tnscope_txt=annovar.multianno_tnscope_txt, | |||||
multianno_tnseq_txt=annovar.multianno_tnseq_txt, | |||||
docker=maftools_docker, | |||||
multianno_TNscope_txt=annovar.multianno_TNscope_txt, | |||||
multianno_TNseq_txt=annovar.multianno_TNseq_txt, | |||||
sample=sample, | sample=sample, | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, | ||||
disk_size=disk_size | disk_size=disk_size |