@@ -70,6 +70,8 @@ task TNseq { | |||
} | |||
output { | |||
File raw_vcf = "${sample}.TNseq.raw.vcf" | |||
File raw_vcf_index = "${sample}.TNseq.raw.vcf.idx" | |||
File vcf = "${sample}.TNseq.vcf" | |||
File vcf_index = "${sample}.TNseq.vcf.idx" | |||
File contamination = "${sample}.contamination" |
@@ -0,0 +1,51 @@ | |||
task VarScan { | |||
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 | |||
command <<< | |||
# somatic | |||
samtools mpileup -f ${ref_dir}/${fasta} -B ${normal_bam} ${tumor_bam} | java -Xmx64g -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.SNP --output-indel ${sample}.VarScan.INDEL --strand-filter 1 | |||
# processSomatic | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.SNP.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.INDEL.vcf | |||
# somaticFilter | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.SNP.Somatic.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${sample}.VarScan.INDEL.vcf --output-file ${sample}.VarScan.SNP.Somatic.filter.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.SNP.Germline.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${sample}.VarScan.INDEL.vcf --output-file ${sample}.VarScan.SNP.Germline.filter.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.SNP.LOH.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --indel-file ${sample}.VarScan.INDEL.vcf --output-file ${sample}.VarScan.SNP.LOH.filter.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.INDEL.Somatic.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.INDEL.Somatic.filter.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.INDEL.Germline.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.INDEL.Germline.filter.vcf | |||
java -Xmx64g -jar /opt/VarScan.v2.4.3.jar somaticFilter ${sample}.VarScan.INDEL.LOH.hc.vcf --min-coverage 10 --min-reads2 2 --min-strands2 1 --min-avg-qual 20 --p-value 0.1 --output-file ${sample}.VarScan.INDEL.LOH.filter.vcf | |||
# Merge SNP and INDEL | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.Somatic.filter.vcf | cat ${sample}.VarScan.INDEL.Somatic.filter.vcf - > ${sample}.VarScan.Somatic.vcf | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.Germline.filter.vcf | cat ${sample}.VarScan.INDEL.Germline.filter.vcf - > ${sample}.VarScan.Germline.vcf | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.LOH.filter.vcf | cat ${sample}.VarScan.INDEL.LOH.filter.vcf - > ${sample}.VarScan.LOH.vcf | |||
>>> | |||
runtime { | |||
docker: docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File varscan_snp = "${sample}.VarScan.SNP.vcf" | |||
File varscan_indel = "${sample}.VarScan.INDEL.vcf" | |||
File varscan_somatic = "${sample}.VarScan.Somatic.vcf" | |||
File varscan_germline = "${sample}.VarScan.Germline.vcf" | |||
File varscan_loh = "${sample}.VarScan.LOH.vcf" | |||
} | |||
} |
@@ -1,40 +0,0 @@ | |||
task processSomatic { | |||
String sample | |||
File varscan_snp | |||
File varscan_indel | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
cp ${varscan_snp} ./ | |||
cp ${varscan_indel} ./ | |||
java -Xmx32g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.SNP.vcf | |||
java -Xmx32g -jar /opt/VarScan.v2.4.3.jar processSomatic ${sample}.VarScan.INDEL.vcf | |||
>>> | |||
runtime { | |||
docker: docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File varscan_snp_somatic = "${sample}.VarScan.SNP.Somatic.vcf" | |||
File varscan_snp_germline = "${sample}.VarScan.SNP.Germline.vcf" | |||
File varscan_snp_loh = "${sample}.VarScan.SNP.LOH.vcf" | |||
File varscan_snp_somatic_hc = "${sample}.VarScan.SNP.Somatic.hc.vcf" | |||
File varscan_snp_germline_hc = "${sample}.VarScan.SNP.Germline.hc.vcf" | |||
File varscan_snp_loh_hc = "${sample}.VarScan.SNP.LOH.hc.vcf" | |||
File varscan_indel_somatic = "${sample}.VarScan.INDEL.Somatic.vcf" | |||
File varscan_indel_germline = "${sample}.VarScan.INDEL.Germline.vcf" | |||
File varscan_indel_loh = "${sample}.VarScan.INDEL.LOH.vcf" | |||
File varscan_indel_somatic_hc = "${sample}.VarScan.INDEL.Somatic.hc.vcf" | |||
File varscan_indel_germline_hc = "${sample}.VarScan.INDEL.Germline.hc.vcf" | |||
File varscan_indel_loh_hc = "${sample}.VarScan.INDEL.LOH.hc.vcf" | |||
} | |||
} |
@@ -1,31 +0,0 @@ | |||
task somatic { | |||
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 | |||
command <<< | |||
samtools mpileup -f ${ref_dir}/${fasta} -B ${normal_bam} ${tumor_bam} | java -Xmx32g -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.SNP --output-indel ${sample}.VarScan.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.SNP.vcf" | |||
File varscan_indel = "${sample}.VarScan.INDEL.vcf" | |||
} | |||
} |
@@ -1,47 +0,0 @@ | |||
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 docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
java -Xmx32g -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.SNP.Somatic.filter.vcf | |||
java -Xmx32g -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.SNP.Germline.filter.vcf | |||
java -Xmx32g -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.SNP.LOH.filter.vcf | |||
java -Xmx32g -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.INDEL.Somatic.filter.vcf | |||
java -Xmx32g -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.INDEL.Germline.filter.vcf | |||
java -Xmx32g -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.INDEL.LOH.filter.vcf | |||
# Merge SNP and INDEL | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.Somatic.filter.vcf | cat ${sample}.VarScan.INDEL.Somatic.filter.vcf - > ${sample}.VarScan.Somatic.filter.vcf | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.Germline.filter.vcf | cat ${sample}.VarScan.INDEL.Germline.filter.vcf - > ${sample}.VarScan.Germline.filter.vcf | |||
awk '{if ($1!~/^#/) print}' ${sample}.VarScan.SNP.LOH.filter.vcf | cat ${sample}.VarScan.INDEL.LOH.filter.vcf - > ${sample}.VarScan.LOH.filter.vcf | |||
>>> | |||
runtime { | |||
docker: docker | |||
cluster: cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File varscan_somatic_filter = "${sample}.VarScan.Somatic.filter.vcf" | |||
File varscan_germline_filter = "${sample}.VarScan.Germline.filter.vcf" | |||
File varscan_loh_filter = "${sample}.VarScan.LOH.filter.vcf" | |||
} | |||
} |
@@ -19,9 +19,8 @@ import "./tasks/fastqscreen.wdl" as fastqscreen | |||
import "./tasks/qualimap.wdl" as qualimap | |||
import "./tasks/TNscope.wdl" as TNscope | |||
import "./tasks/somatic.wdl" as somatic | |||
import "./tasks/processSomatic.wdl" as processSomatic | |||
import "./tasks/somaticFilter.wdl" as somaticFilter | |||
import "./tasks/VarScan.wdl" as VarScan | |||
workflow {{ project_name }} { | |||
@@ -447,8 +446,7 @@ workflow {{ project_name }} { | |||
disk_size=disk_size | |||
} | |||
call somatic.somatic as somatic { | |||
call VarScan.VarScan as VarScan { | |||
input: | |||
sample=sample_id, | |||
normal_bam=normal_BQSR.recaled_bam, | |||
@@ -462,34 +460,9 @@ workflow {{ project_name }} { | |||
cluster_config=cluster_16cpu_32gb | |||
} | |||
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_16cpu_32gb | |||
} | |||
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_16cpu_32gb | |||
} | |||
call bcftools.bcftools as VarScan_bcftools { | |||
input: | |||
vcf=somaticFilter.varscan_somatic_filter, | |||
vcf=VarScan.varscan_somatic, | |||
fasta=fasta, | |||
ref_dir=ref_dir, | |||
docker=bcftools_docker, |