### New Releases | ### New Releases | ||||
* The TNhaplotyper, also named as TNseq in `v0.1.0`, has beed substituted by TNhaplotyper2. | * The TNhaplotyper, also named as TNseq in `v0.1.0`, has beed substituted by TNhaplotyper2. | ||||
* The `corealigner` step has been removed. | * The `corealigner` step has been removed. | ||||
* The `vcf2maf` step has been removed. Thus, the final output is the annotated `VCF`. | |||||
### Getting Started | ### Getting Started | ||||
task TNseq { | |||||
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 TNhaplotyper --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf | |||||
else | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNhaplotyper --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${pon_command} ${sample}.TNseq.TN.vcf | |||||
fi | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File TNseq_vcf= "${sample}.TNseq.TN.vcf" | |||||
File TNseq_vcf_index = "${sample}.TNseq.TN.vcf.idx" | |||||
} | |||||
} |
task corealigner { | |||||
File ref_dir | |||||
File dbsnp_dir | |||||
File dbmills_dir | |||||
String sample | |||||
String SENTIEON_INSTALL_DIR | |||||
String SENTIEON_LICENSE | |||||
String docker | |||||
String cluster_config | |||||
String fasta | |||||
String dbsnp | |||||
String db_mills | |||||
File tumor_recaled_bam | |||||
File tumor_recaled_bam_index | |||||
File normal_recaled_bam | |||||
File normal_recaled_bam_index | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=${SENTIEON_LICENSE} | |||||
nt=$(nproc) | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} -t $nt -i ${tumor_recaled_bam} -i ${normal_recaled_bam} --algo Realigner -k ${dbmills_dir}/${db_mills} -k ${dbsnp_dir}/${dbsnp} ${sample}_corealigned.bam | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File corealigner_bam = "${sample}_corealigned.bam" | |||||
File corealigner_bam_index = "${sample}_corealigned.bam.bai" | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
call corealigner.corealigner as corealigner { | |||||
input: | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | |||||
fasta=fasta, | |||||
ref_dir=ref_dir, | |||||
sample=sample_id, | |||||
docker=sentieon_docker, | |||||
db_mills=db_mills, | |||||
dbmills_dir=dbmills_dir, | |||||
dbsnp=dbsnp, | |||||
dbsnp_dir=dbsnp_dir, | |||||
tumor_recaled_bam=tumor_BQSR.recaled_bam, | |||||
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index, | |||||
normal_recaled_bam=normal_BQSR.recaled_bam, | |||||
normal_recaled_bam_index=normal_BQSR.recaled_bam_index, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
if (tnseq) { | if (tnseq) { | ||||
call TNseq.TNseq as TNseq { | call TNseq.TNseq as TNseq { | ||||
input: | input: | ||||
fasta=fasta, | fasta=fasta, | ||||
ref_dir=ref_dir, | ref_dir=ref_dir, | ||||
regions=regions, | regions=regions, | ||||
corealigner_bam=corealigner.corealigner_bam, | |||||
corealigner_bam_index=corealigner.corealigner_bam_index, | |||||
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, | |||||
dbsnp=dbsnp, | dbsnp=dbsnp, | ||||
dbsnp_dir=dbsnp_dir, | dbsnp_dir=dbsnp_dir, | ||||
set_pon=set_pon, | set_pon=set_pon, | ||||
fasta=fasta, | fasta=fasta, | ||||
ref_dir=ref_dir, | ref_dir=ref_dir, | ||||
regions=regions, | regions=regions, | ||||
corealigner_bam=corealigner.corealigner_bam, | |||||
corealigner_bam_index=corealigner.corealigner_bam_index, | |||||
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, | |||||
dbsnp=dbsnp, | dbsnp=dbsnp, | ||||
dbsnp_dir=dbsnp_dir, | dbsnp_dir=dbsnp_dir, | ||||
set_pon=set_pon, | set_pon=set_pon, |