Browse Source

Update: README.md

tags/v0.1.2
YaqingLiu 4 years ago
parent
commit
51f177520c
10 changed files with 607 additions and 610 deletions
  1. +6
    -3
      README.md
  2. +25
    -27
      defaults
  3. +1
    -4
      inputs
  4. +46
    -46
      tasks/BQSR.wdl
  5. +47
    -47
      tasks/Realigner.wdl
  6. +25
    -25
      tasks/annovar.wdl
  7. +34
    -34
      tasks/processSomatic.wdl
  8. +24
    -24
      tasks/somatic.wdl
  9. +30
    -30
      tasks/somaticFilter.wdl
  10. +369
    -370
      workflow.wdl

+ 6
- 3
README.md View File



**All callers are not activated by default**, which means the default setting is `false`. **All callers are not activated by default**, which means the default setting is `false`.
You need to manually set the caller to `true` in the submitted sample.csv. You need to manually set the caller to `true` in the submitted sample.csv.
The fields corresponding to these callers include `haplotyper`, `tnseq`, `tnscope`, `varscan`.


**Germline** **Germline**
* Haplotyper * Haplotyper


If you only want to call germline variants, please set `germline` to true.
If you only want to call germline variants, please set `haplotyper` to true.


**Somatic** **Somatic**
* TNseq (TNhaplotyper2) * TNseq (TNhaplotyper2)
Variant caller can be selected by setting `ture/false` in the submitted sample.csv. Variant caller can be selected by setting `ture/false` in the submitted sample.csv.


***Accepted data*** ***Accepted data***
* TN matched WES
* TN matched WGS
* TN matched WES for somatic variant calling
* TN matched WGS for somatic variant calling
* Normal-only WES for germline variant calling
* Normal-only WGS for germline variant calling


The datatype is judged by whether the bed file is set (i.e. the `regions` in inputs). The datatype is judged by whether the bed file is set (i.e. the `regions` in inputs).



+ 25
- 27
defaults View File

{ {
"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/",
"SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics",
"SENTIEON_LICENSE": "192.168.0.55:8990",
"dbmills_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf",
"germline_resource": "oss://pgx-reference-data/gnomAD/af-only-gnomad.v3.1.1.vcf.gz",
"germline_resource_tbi": "oss://pgx-reference-data/gnomAD/af-only-gnomad.v3.1.1.vcf.gz.tbi",
"sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2020.10.07",
"varscan_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/varscan2:v2.4.3",
"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",
"bcftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/bcftools:v1.9",
"database": "oss://pgx-reference-data/annovar_hg38/",
"regions": "oss://pgx-reference-data/bed/cbcga/S07604514_Covered.bed",
"tnseq_pon": "",
"tnscope_pon": "",
"cosmic_vcf": "CosmicCodingMuts.hg38.v91.vcf",
"cosmic_dir": "oss://pgx-reference-data/reference/cosmic/",
"disk_size": "200",
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc",
"germline": false,
"tnseq": true,
"tnscope": true,
"varscan": true
"tumor_fastq_1": "",
"tumor_fastq_2": "",
"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/",
"SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics",
"SENTIEON_LICENSE": "192.168.0.55:8990",
"dbmills_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf",
"germline_resource": "oss://pgx-reference-data/gnomAD/af-only-gnomad.v3.1.1.vcf.gz",
"germline_resource_tbi": "oss://pgx-reference-data/gnomAD/af-only-gnomad.v3.1.1.vcf.gz.tbi",
"sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2020.10.07",
"varscan_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/varscan2:v2.4.3",
"annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04",
"database": "oss://pgx-reference-data/annovar_hg38/",
"regions": "oss://pgx-reference-data/bed/cbcga/S07604514_Covered.bed",
"tnseq_pon": "",
"tnscope_pon": "",
"disk_size": "200",
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc",
"haplotyper": false,
"tnseq": false,
"tnscope": false,
"varscan": false
} }

+ 1
- 4
inputs View File

"{{ project_name }}.sentieon_docker": "{{ sentieon_docker }}", "{{ project_name }}.sentieon_docker": "{{ sentieon_docker }}",
"{{ project_name }}.varscan_docker": "{{ varscan_docker }}", "{{ project_name }}.varscan_docker": "{{ varscan_docker }}",
"{{ project_name }}.annovar_docker": "{{ annovar_docker }}", "{{ project_name }}.annovar_docker": "{{ annovar_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 }}.tnseq_pon": "{{ tnseq_pon }}", "{{ project_name }}.tnseq_pon": "{{ tnseq_pon }}",
"{{ project_name }}.tnscope_pon": "{{ tnscope_pon }}", "{{ project_name }}.tnscope_pon": "{{ tnscope_pon }}",
"{{ project_name }}.cosmic_vcf": "{{ cosmic_vcf }}",
"{{ 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 }}.germline": {{ germline | tojson }},
"{{ project_name }}.haplotyper": {{ haplotyper | tojson }},
"{{ project_name }}.tnseq": {{ tnseq | tojson }}, "{{ project_name }}.tnseq": {{ tnseq | tojson }},
"{{ project_name }}.tnscope": {{ tnscope | tojson }}, "{{ project_name }}.tnscope": {{ tnscope | tojson }},
"{{ project_name }}.varscan": {{ varscan | tojson }} "{{ project_name }}.varscan": {{ varscan | tojson }}

+ 46
- 46
tasks/BQSR.wdl View File

task BQSR { task BQSR {
File ref_dir
File dbsnp_dir
File dbmills_dir
String sample
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String fasta
File? regions
String dbsnp
String db_mills
File realigned_bam
File realigned_bam_index
String docker
String cluster_config
String disk_size
File ref_dir
File dbsnp_dir
File dbmills_dir
String sample
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String fasta
File? regions
String dbsnp
String db_mills
File realigned_bam
File realigned_bam_index
String docker
String cluster_config
String disk_size
command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)
if [ ${regions} != "" ]; then
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} --interval ${regions} --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table
else
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table
fi
command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)
if [ ${regions} != "" ]; then
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} --interval ${regions} --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table
else
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table
fi
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} -q ${sample}_recal_data.table --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table.post --algo ReadWriter ${sample}.sorted.deduped.realigned.recaled.bam
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${realigned_bam} -q ${sample}_recal_data.table --algo QualCal -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} ${sample}_recal_data.table.post --algo ReadWriter ${sample}.sorted.deduped.realigned.recaled.bam
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --algo QualCal --plot --before ${sample}_recal_data.table --after ${sample}_recal_data.table.post ${sample}_recal_data.csv
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --algo QualCal --plot --before ${sample}_recal_data.table --after ${sample}_recal_data.table.post ${sample}_recal_data.csv
${SENTIEON_INSTALL_DIR}/bin/sentieon plot bqsr -o ${sample}_bqsrreport.pdf ${sample}_recal_data.csv
${SENTIEON_INSTALL_DIR}/bin/sentieon plot bqsr -o ${sample}_bqsrreport.pdf ${sample}_recal_data.csv
>>>
>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File recal_table = "${sample}_recal_data.table"
File recal_post = "${sample}_recal_data.table.post"
File recaled_bam = "${sample}.sorted.deduped.realigned.recaled.bam"
File recaled_bam_index = "${sample}.sorted.deduped.realigned.recaled.bam.bai"
File recal_csv = "${sample}_recal_data.csv"
File bqsrreport_pdf = "${sample}_bqsrreport.pdf"
}
output {
File recal_table = "${sample}_recal_data.table"
File recal_post = "${sample}_recal_data.table.post"
File recaled_bam = "${sample}.sorted.deduped.realigned.recaled.bam"
File recaled_bam_index = "${sample}.sorted.deduped.realigned.recaled.bam.bai"
File recal_csv = "${sample}_recal_data.csv"
File bqsrreport_pdf = "${sample}_bqsrreport.pdf"
}
} }

+ 47
- 47
tasks/Realigner.wdl View File

task Realigner { task Realigner {
File ref_dir
File dbmills_dir
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sample
String fasta
File? regions
File Dedup_bam
File Dedup_bam_index
String db_mills
String docker
String cluster_config
String disk_size
command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)
if [ ${regions} ]; then
INTERVAL="--interval_list ${regions}"
else
INTERVAL=""
fi
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
-r ${ref_dir}/${fasta} $INTERVAL \
-i ${Dedup_bam} \
--algo Realigner -k ${dbmills_dir}/${db_mills} ${sample}.sorted.deduped.realigned.bam
>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File realigner_bam = "${sample}.sorted.deduped.realigned.bam"
File realigner_bam_index = "${sample}.sorted.deduped.realigned.bam.bai"
}
File ref_dir
File dbmills_dir
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sample
String fasta
File? regions
File Dedup_bam
File Dedup_bam_index
String db_mills
String docker
String cluster_config
String disk_size
command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)
if [ ${regions} ]; then
INTERVAL="--interval_list ${regions}"
else
INTERVAL=""
fi
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
-r ${ref_dir}/${fasta} $INTERVAL \
-i ${Dedup_bam} \
--algo Realigner -k ${dbmills_dir}/${db_mills} ${sample}.sorted.deduped.realigned.bam
>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File realigner_bam = "${sample}.sorted.deduped.realigned.bam"
File realigner_bam_index = "${sample}.sorted.deduped.realigned.bam.bai"
}
} }

+ 25
- 25
tasks/annovar.wdl View File

task annovar { task annovar {


String sample
File vcf
String annotated_vcf = basename(vcf,".vcf")
File database
String docker
String cluster_config
String disk_size
String sample
File vcf
String annotated_vcf = basename(vcf,".vcf")
File database
String docker
String cluster_config
String disk_size




command <<<
set -o pipefail
set -e
nt=$(nproc)
/installations/annovar/table_annovar.pl ${vcf} ${database} -buildver hg38 -out ${annotated_vcf} -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/"
}
command <<<
set -o pipefail
set -e
nt=$(nproc)
/installations/annovar/table_annovar.pl ${vcf} ${database} -buildver hg38 -out ${annotated_vcf} -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 = "${annotated_vcf}.avinput"
File multianno_txt = "${annotated_vcf}.hg38_multianno.txt"
File multianno = "${annotated_vcf}.hg38_multianno.vcf"
}
output {
File avinput = "${annotated_vcf}.avinput"
File multianno_txt = "${annotated_vcf}.hg38_multianno.txt"
File multianno = "${annotated_vcf}.hg38_multianno.vcf"
}
} }

+ 34
- 34
tasks/processSomatic.wdl View File

task processSomatic { task processSomatic {
String sample
File varscan_snp
File varscan_indel
String docker
String cluster_config
String disk_size
String sample
File varscan_snp
File varscan_indel
String docker
String cluster_config
String disk_size


command <<<
cp ${varscan_snp} ./
cp ${varscan_indel} ./
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.TN.SNP.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.TN.INDEL.vcf
command <<<
cp ${varscan_snp} ./
cp ${varscan_indel} ./
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.TN.SNP.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.TN.INDEL.vcf


>>>
>>>


runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}


output {
File varscan_snp_somatic = "${sample}.VarScan.TN.SNP.Somatic.vcf"
File varscan_snp_germline = "${sample}.VarScan.TN.SNP.Germline.vcf"
File varscan_snp_loh = "${sample}.VarScan.TN.SNP.LOH.vcf"
File varscan_snp_somatic_hc = "${sample}.VarScan.TN.SNP.Somatic.hc.vcf"
File varscan_snp_germline_hc = "${sample}.VarScan.TN.SNP.Germline.hc.vcf"
File varscan_snp_loh_hc = "${sample}.VarScan.TN.SNP.LOH.hc.vcf"
File varscan_indel_somatic = "${sample}.VarScan.TN.INDEL.Somatic.vcf"
File varscan_indel_germline = "${sample}.VarScan.TN.INDEL.Germline.vcf"
File varscan_indel_loh = "${sample}.VarScan.TN.INDEL.LOH.vcf"
File varscan_indel_somatic_hc = "${sample}.VarScan.TN.INDEL.Somatic.hc.vcf"
File varscan_indel_germline_hc = "${sample}.VarScan.TN.INDEL.Germline.hc.vcf"
File varscan_indel_loh_hc = "${sample}.VarScan.TN.INDEL.LOH.hc.vcf"
}
output {
File varscan_snp_somatic = "${sample}.VarScan.TN.SNP.Somatic.vcf"
File varscan_snp_germline = "${sample}.VarScan.TN.SNP.Germline.vcf"
File varscan_snp_loh = "${sample}.VarScan.TN.SNP.LOH.vcf"
File varscan_snp_somatic_hc = "${sample}.VarScan.TN.SNP.Somatic.hc.vcf"
File varscan_snp_germline_hc = "${sample}.VarScan.TN.SNP.Germline.hc.vcf"
File varscan_snp_loh_hc = "${sample}.VarScan.TN.SNP.LOH.hc.vcf"
File varscan_indel_somatic = "${sample}.VarScan.TN.INDEL.Somatic.vcf"
File varscan_indel_germline = "${sample}.VarScan.TN.INDEL.Germline.vcf"
File varscan_indel_loh = "${sample}.VarScan.TN.INDEL.LOH.vcf"
File varscan_indel_somatic_hc = "${sample}.VarScan.TN.INDEL.Somatic.hc.vcf"
File varscan_indel_germline_hc = "${sample}.VarScan.TN.INDEL.Germline.hc.vcf"
File varscan_indel_loh_hc = "${sample}.VarScan.TN.INDEL.LOH.hc.vcf"
}
} }

+ 24
- 24
tasks/somatic.wdl View File

task somatic { task somatic {


String sample
File normal_bam
File normal_bam_index
File tumor_bam
File tumor_bam_index
String sample
File normal_bam
File normal_bam_index
File tumor_bam
File tumor_bam_index


File ref_dir
String fasta
String docker
String cluster_config
String disk_size
File ref_dir
String fasta
String docker
String cluster_config
String disk_size


command <<<
samtools mpileup -f ${ref_dir}/${fasta} -B ${normal_bam} ${tumor_bam} | java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somatic --mpileup 1 --min-coverage 3 --min-coverage-normal 3 --min-coverage-tumor 3 --min-var-freq 0.08 --p-value 0.10 --somatic-p-value 0.05 --output-vcf 1 --output-snp ${sample}.VarScan.TN.SNP --output-indel ${sample}.VarScan.TN.INDEL --strand-filter 1
>>>
command <<<
samtools mpileup -f ${ref_dir}/${fasta} -B ${normal_bam} ${tumor_bam} | java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somatic --mpileup 1 --min-coverage 3 --min-coverage-normal 3 --min-coverage-tumor 3 --min-var-freq 0.08 --p-value 0.10 --somatic-p-value 0.05 --output-vcf 1 --output-snp ${sample}.VarScan.TN.SNP --output-indel ${sample}.VarScan.TN.INDEL --strand-filter 1
>>>


runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File varscan_snp = "${sample}.VarScan.TN.SNP.vcf"
File varscan_indel = "${sample}.VarScan.TN.INDEL.vcf"
}
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File varscan_snp = "${sample}.VarScan.TN.SNP.vcf"
File varscan_indel = "${sample}.VarScan.TN.INDEL.vcf"
}
} }

+ 30
- 30
tasks/somaticFilter.wdl View File

task somaticFilter { task somaticFilter {
String sample
File varscan_snp_somatic_hc
File varscan_snp_germline_hc
File varscan_snp_loh_hc
File varscan_indel_somatic_hc
File varscan_indel_germline_hc
File varscan_indel_loh_hc
File varscan_indel
String sample
File varscan_snp_somatic_hc
File varscan_snp_germline_hc
File varscan_snp_loh_hc
File varscan_indel_somatic_hc
File varscan_indel_germline_hc
File varscan_indel_loh_hc
File varscan_indel


String docker
String cluster_config
String disk_size
String docker
String cluster_config
String disk_size


command <<<
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_somatic_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.Somatic.filter.vcf
command <<<
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_somatic_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.Somatic.filter.vcf


java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_germline_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.Germline.filter.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_germline_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.Germline.filter.vcf


java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_loh_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.LOH.filter.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_snp_loh_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${varscan_indel} --output-file ${sample}.VarScan.TN.SNP.LOH.filter.vcf


java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_somatic_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.Somatic.filter.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_somatic_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.Somatic.filter.vcf


java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_germline_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.Germline.filter.vcf
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_germline_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.Germline.filter.vcf


java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_loh_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.LOH.filter.vcf
>>>
java -Xmx12g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${varscan_indel_loh_hc} --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.TN.INDEL.LOH.filter.vcf
>>>


runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}


output {
output {
File varscan_snp_somatic_filter = "${sample}.VarScan.TN.SNP.Somatic.filter.vcf" File varscan_snp_somatic_filter = "${sample}.VarScan.TN.SNP.Somatic.filter.vcf"
File varscan_snp_germline_filter = "${sample}.VarScan.TN.SNP.Germline.filter.vcf"
File varscan_snp_germline_filter = "${sample}.VarScan.TN.SNP.Germline.filter.vcf"
File varscan_snp_loh_filter = "${sample}.VarScan.TN.SNP.LOH.filter.vcf" File varscan_snp_loh_filter = "${sample}.VarScan.TN.SNP.LOH.filter.vcf"
File varscan_indel_somatic_filter = "${sample}.VarScan.TN.INDEL.Somatic.filter.vcf" File varscan_indel_somatic_filter = "${sample}.VarScan.TN.INDEL.Somatic.filter.vcf"
File varscan_indel_germline_filter = "${sample}.VarScan.TN.INDEL.Germline.filter.vcf"
File varscan_indel_germline_filter = "${sample}.VarScan.TN.INDEL.Germline.filter.vcf"
File varscan_indel_loh_filter = "${sample}.VarScan.TN.INDEL.LOH.filter.vcf" File varscan_indel_loh_filter = "${sample}.VarScan.TN.INDEL.LOH.filter.vcf"
}
}
} }

+ 369
- 370
workflow.wdl View File





workflow {{ project_name }} { workflow {{ project_name }} {
String sample_id
File tumor_fastq_1
File tumor_fastq_2
File normal_fastq_1
File normal_fastq_2
String sample_id
File tumor_fastq_1
File tumor_fastq_2
File normal_fastq_1
File normal_fastq_2


String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sentieon_docker
String varscan_docker
String annovar_docker
String maftools_docker
File ref_dir
String fasta
File dbmills_dir
String db_mills
File dbsnp_dir
String dbsnp
File germline_resource
File germline_resource_tbi
File? regions
Int? interval_padding
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sentieon_docker
String varscan_docker
String annovar_docker


File database
String disk_size
String cluster_config
File ref_dir
String fasta
File dbmills_dir
String db_mills
File dbsnp_dir
String dbsnp
File germline_resource
File germline_resource_tbi
File? regions
Int? interval_padding


File? tnseq_pon
File? tnscope_pon
File? cosmic_dir
String? cosmic_vcf
File database
String disk_size
String cluster_config


Boolean germline
Boolean tnseq
Boolean tnscope
Boolean varscan
File? tnseq_pon
File? tnscope_pon

Boolean haplotyper
Boolean tnseq
Boolean tnscope
Boolean varscan

if (tumor_fastq_1 != "") {
call mapping.mapping as tumor_mapping { call mapping.mapping as tumor_mapping {
input:
group=sample_id + '_tumor',
sample=sample_id + '_tumor',
fastq_1=tumor_fastq_1,
fastq_2=tumor_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
input:
group=sample_id + '_tumor',
sample=sample_id + '_tumor',
fastq_1=tumor_fastq_1,
fastq_2=tumor_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }


call Metrics.Metrics as tumor_Metrics { call Metrics.Metrics as tumor_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }


call Dedup.Dedup as tumor_Dedup { call Dedup.Dedup as tumor_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }


call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics { call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }


call Realigner.Realigner as tumor_Realigner { call Realigner.Realigner as tumor_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
} }


call BQSR.BQSR as tumor_BQSR { call BQSR.BQSR as tumor_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=tumor_Realigner.realigner_bam,
realigned_bam_index=tumor_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_tumor',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=tumor_Realigner.realigner_bam,
realigned_bam_index=tumor_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_tumor',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }
}


call mapping.mapping as normal_mapping {
input:
group=sample_id + '_normal',
sample=sample_id + '_normal',
fastq_1=normal_fastq_1,
fastq_2=normal_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call mapping.mapping as normal_mapping {
input:
group=sample_id + '_normal',
sample=sample_id + '_normal',
fastq_1=normal_fastq_1,
fastq_2=normal_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call Metrics.Metrics as normal_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Metrics.Metrics as normal_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call Dedup.Dedup as normal_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Dedup.Dedup as normal_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call Realigner.Realigner as normal_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
call Realigner.Realigner as normal_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
}

call BQSR.BQSR as normal_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=normal_Realigner.realigner_bam,
realigned_bam_index=normal_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

if (haplotyper) {
call Haplotyper.Haplotyper as Haplotyper {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id + '_normal',
fasta=fasta,
ref_dir=ref_dir,
recaled_bam=normal_BQSR.recaled_bam,
recaled_bam_index=normal_BQSR.recaled_bam_index,
recaled_table=normal_BQSR.recal_table,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
}
if (tnseq) {
call TNseq.TNseq as TNseq {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
normal_recal_table=normal_BQSR.recal_table,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
tumor_recal_table=tumor_BQSR.recal_table,
normal_name=sample_id + "_normal",
tumor_name=sample_id + "_tumor",
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
interval_padding=interval_padding,
germline_resource=germline_resource,
germline_resource_tbi=germline_resource_tbi,
pon_vcf=tnseq_pon,
docker=sentieon_docker,
cluster_config=cluster_config,
disk_size=disk_size
} }


call BQSR.BQSR as normal_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=normal_Realigner.realigner_bam,
realigned_bam_index=normal_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
call annovar.annovar as TNseq_annovar {
input:
sample=sample_id,
vcf=TNseq.TNseq_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
} }
}


if (germline) {
call Haplotyper.Haplotyper as Haplotyper {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id + '_normal',
fasta=fasta,
ref_dir=ref_dir,
recaled_bam=normal_BQSR.recaled_bam,
recaled_bam_index=normal_BQSR.recaled_bam_index,
recaled_table=normal_BQSR.recal_table,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
if (tnscope) {
call TNscope.TNscope as TNscope {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
normal_recal_table=normal_BQSR.recal_table,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
tumor_recal_table=tumor_BQSR.recal_table,
normal_name=sample_id + "_normal",
tumor_name=sample_id + "_tumor",
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
interval_padding=interval_padding,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
pon_vcf=tnscope_pon,
docker=sentieon_docker,
cluster_config=cluster_config,
disk_size=disk_size
} }
if (tnseq) {
call TNseq.TNseq as TNseq {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
normal_recal_table=normal_BQSR.recal_table,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
tumor_recal_table=tumor_BQSR.recal_table,
normal_name=sample_id + "_normal",
tumor_name=sample_id + "_tumor",
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
interval_padding=interval_padding,
germline_resource=germline_resource,
germline_resource_tbi=germline_resource_tbi,
pon_vcf=tnseq_pon,
docker=sentieon_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call annovar.annovar as TNseq_annovar {
input:
sample=sample_id,
vcf=TNseq.TNseq_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as TNscope_annovar {
input:
sample=sample_id,
vcf=TNscope.TNscope_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
} }
}


if (tnscope) {
call TNscope.TNscope as TNscope {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
normal_recal_table=normal_BQSR.recal_table,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
tumor_recal_table=tumor_BQSR.recal_table,
normal_name=sample_id + "_normal",
tumor_name=sample_id + "_tumor",
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
interval_padding=interval_padding,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
pon_vcf=tnscope_pon,
docker=sentieon_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as TNscope_annovar {
input:
sample=sample_id,
vcf=TNscope.TNscope_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
if (varscan) {
call somatic.somatic as somatic {
input:
sample=sample_id,
tumor_bam=tumor_BQSR.recaled_bam,
tumor_bam_index=tumor_BQSR.recaled_bam_index,
normal_bam=normal_BQSR.recaled_bam,
normal_bam_index=normal_BQSR.recaled_bam_index,
ref_dir=ref_dir,
fasta=fasta,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
} }


if (varscan) {
call somatic.somatic as somatic {
input:
sample=sample_id,
tumor_bam=tumor_BQSR.recaled_bam,
tumor_bam_index=tumor_BQSR.recaled_bam_index,
normal_bam=normal_BQSR.recaled_bam,
normal_bam_index=normal_BQSR.recaled_bam_index,
ref_dir=ref_dir,
fasta=fasta,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call processSomatic.processSomatic as processSomatic {
input:
sample=sample_id,
varscan_snp=somatic.varscan_snp,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call processSomatic.processSomatic as processSomatic {
input:
sample=sample_id,
varscan_snp=somatic.varscan_snp,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call somaticFilter.somaticFilter as somaticFilter {
input:
sample=sample_id,
varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call somaticFilter.somaticFilter as somaticFilter {
input:
sample=sample_id,
varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}


call annovar.annovar as snp_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}


call vcf2maf.vcf2maf as snp_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}
call vcf2maf.vcf2maf as snp_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
} }
}
} }

Loading…
Cancel
Save