YaqingLiu 4 лет назад
Родитель
Сommit
9d682d5222
8 измененных файлов: 37 добавлений и 31 удалений
  1. +3
    -0
      .vscode/settings.json
  2. +1
    -1
      defaults
  3. +4
    -4
      inputs
  4. +4
    -2
      tasks/TNscope.wdl
  5. +3
    -2
      tasks/TNseq.wdl
  6. +10
    -10
      tasks/annovar.wdl
  7. +6
    -6
      tasks/vcf2maf.wdl
  8. +6
    -6
      workflow.wdl

+ 3
- 0
.vscode/settings.json Просмотреть файл

{
"python.pythonPath": "/usr/bin/python"
}

+ 1
- 1
defaults Просмотреть файл

"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",

+ 4
- 4
inputs Просмотреть файл

"{{ 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 }}
} }

+ 4
- 2
tasks/TNscope.wdl Просмотреть файл

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

+ 3
- 2
tasks/TNseq.wdl Просмотреть файл

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

+ 10
- 10
tasks/annovar.wdl Просмотреть файл

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"
} }
} }

+ 6
- 6
tasks/vcf2maf.wdl Просмотреть файл

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"
} }
} }

+ 6
- 6
workflow.wdl Просмотреть файл

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

Загрузка…
Отмена
Сохранить