**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). | ||||
{ | { | ||||
"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 | |||||
} | } |
"{{ 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 }} |
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" | |||||
} | |||||
} | } |
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" | |||||
} | |||||
} | } | ||||
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" | |||||
} | |||||
} | } |
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" | |||||
} | |||||
} | } |
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" | |||||
} | |||||
} | } |
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" | ||||
} | |||||
} | |||||
} | } |
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 | |||||
} | |||||
} | } | ||||
} | |||||
} | } |