|
|
@@ -1,60 +1,77 @@ |
|
|
|
task TNscope {
|
|
|
|
|
|
|
|
File ref_dir
|
|
|
|
File dbsnp_dir
|
|
|
|
File? regions
|
|
|
|
String sample
|
|
|
|
String SENTIEON_INSTALL_DIR
|
|
|
|
String SENTIEON_LICENSE
|
|
|
|
String tumor_name
|
|
|
|
String normal_name
|
|
|
|
String docker
|
|
|
|
String cluster_config
|
|
|
|
|
|
|
|
String fasta
|
|
|
|
File corealigner_bam
|
|
|
|
File corealigner_bam_index
|
|
|
|
String dbsnp
|
|
|
|
String disk_size
|
|
|
|
|
|
|
|
Boolean set_pon
|
|
|
|
String? cosmic_vcf
|
|
|
|
File? cosmic_dir
|
|
|
|
File? pon_vcf
|
|
|
|
|
|
|
|
String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else ""
|
|
|
|
|
|
|
|
command <<<
|
|
|
|
set -o pipefail
|
|
|
|
set -e
|
|
|
|
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
|
|
|
|
nt=$(nproc)
|
|
|
|
|
|
|
|
if ${set_pon}; then
|
|
|
|
mkdir -p /cromwell_root/tmp/PON/
|
|
|
|
cp ${cosmic_dir}/${cosmic_vcf} /cromwell_root/tmp/PON/
|
|
|
|
cp ${pon_vcf} /cromwell_root/tmp/PON/
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/${cosmic_vcf}
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf})
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ${regions} != "" ]; then
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --interval ${regions} -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNscope --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf
|
|
|
|
else
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNscope --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNscope.TN.vcf
|
|
|
|
fi
|
|
|
|
>>>
|
|
|
|
|
|
|
|
runtime {
|
|
|
|
docker: docker
|
|
|
|
cluster: cluster_config
|
|
|
|
systemDisk: "cloud_ssd 40"
|
|
|
|
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
|
|
|
|
}
|
|
|
|
|
|
|
|
output {
|
|
|
|
File TNscope_vcf= "${sample}.TNscope.TN.vcf"
|
|
|
|
File TNscope_vcf_index = "${sample}.TNscope.TN.vcf.idx"
|
|
|
|
}
|
|
|
|
|
|
|
|
String sample
|
|
|
|
String SENTIEON_INSTALL_DIR
|
|
|
|
String SENTIEON_LICENSE
|
|
|
|
File tumor_recaled_bam
|
|
|
|
File tumor_recaled_bam_index
|
|
|
|
File tumor_recal_table
|
|
|
|
File normal_recaled_bam
|
|
|
|
File normal_recaled_bam_index
|
|
|
|
File normal_recal_table
|
|
|
|
String tumor_name
|
|
|
|
String normal_name
|
|
|
|
|
|
|
|
File ref_dir
|
|
|
|
String fasta
|
|
|
|
File dbsnp_dir
|
|
|
|
String dbsnp
|
|
|
|
File? regions
|
|
|
|
|
|
|
|
String docker
|
|
|
|
String cluster_config
|
|
|
|
String disk_size
|
|
|
|
|
|
|
|
Boolean set_pon
|
|
|
|
File? pon_vcf
|
|
|
|
String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf})" else ""
|
|
|
|
|
|
|
|
command <<<
|
|
|
|
set -o pipefail
|
|
|
|
set -e
|
|
|
|
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
|
|
|
|
nt=$(nproc)
|
|
|
|
|
|
|
|
if ${set_pon}; then
|
|
|
|
mkdir -p /cromwell_root/tmp/PON/
|
|
|
|
cp ${pon_vcf} /cromwell_root/tmp/PON/
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf})
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ${regions} != "" ]; then
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
|
|
|
|
--interval ${regions} -r ${ref_dir}/${fasta} \
|
|
|
|
-i ${tumor_recaled_bam} -q ${tumor_recal_table} \
|
|
|
|
-i ${normal_recaled_bam} -q ${normal_recal_table} \
|
|
|
|
--algo TNscope \
|
|
|
|
--tumor_sample ${tumor_name} --normal_sample ${normal_name} \
|
|
|
|
--dbsnp ${dbsnp_dir}/${dbsnp} \
|
|
|
|
${pon_command} \
|
|
|
|
${sample}.TNscope.TN.vcf
|
|
|
|
else
|
|
|
|
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
|
|
|
|
-r ${ref_dir}/${fasta} \
|
|
|
|
-i ${tumor_recaled_bam} -q ${tumor_recal_table} \
|
|
|
|
-i ${normal_recaled_bam} -q ${normal_recal_table} \
|
|
|
|
--algo TNscope \
|
|
|
|
--tumor_sample ${tumor_name} --normal_sample ${normal_name} \
|
|
|
|
--dbsnp ${dbsnp_dir}/${dbsnp} \
|
|
|
|
${pon_command} \
|
|
|
|
${sample}.TNscope.TN.vcf
|
|
|
|
fi
|
|
|
|
>>>
|
|
|
|
|
|
|
|
runtime {
|
|
|
|
docker: docker
|
|
|
|
cluster: cluster_config
|
|
|
|
systemDisk: "cloud_ssd 40"
|
|
|
|
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
|
|
|
|
}
|
|
|
|
|
|
|
|
output {
|
|
|
|
File TNscope_vcf= "${sample}.TNscope.TN.vcf"
|
|
|
|
File TNscope_vcf_index = "${sample}.TNscope.TN.vcf.idx"
|
|
|
|
}
|
|
|
|
|
|
|
|
} |