Parcourir la source

Update: Add Old TNseq

master
YaqingLiu il y a 4 ans
Parent
révision
9642d56c2b
4 fichiers modifiés avec 110 ajouts et 3 suppressions
  1. +4
    -3
      defaults
  2. +1
    -0
      inputs
  3. +68
    -0
      tasks/TNseqold.wdl
  4. +37
    -0
      workflow.wdl

+ 4
- 3
defaults Voir le fichier

@@ -24,7 +24,8 @@
"disk_size": "200",
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc",
"germline": false,
"tnseq": true,
"tnscope": true,
"varscan": true
"tnseq": false,
"tnscope": false,
"varscan": false,
"tnseqold": false
}

+ 1
- 0
inputs Voir le fichier

@@ -31,6 +31,7 @@
"{{ project_name }}.cluster_config": "{{ cluster_config }}",
"{{ project_name }}.germline": {{ germline | tojson }},
"{{ project_name }}.tnseq": {{ tnseq | tojson }},
"{{ project_name }}.tnseqold": {{ tnseqold | tojson }},
"{{ project_name }}.tnscope": {{ tnscope | tojson }},
"{{ project_name }}.varscan": {{ varscan | tojson }}
}

+ 68
- 0
tasks/TNseqold.wdl Voir le fichier

@@ -0,0 +1,68 @@
task TNseqold {

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? regions
Int? interval_padding
File? pon_vcf

String docker
String cluster_config
String disk_size
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 [ ${regions} ]; then
INTERVAL="--interval ${regions} --interval_padding ${interval_padding}"
else
INTERVAL=""
fi

if [ ${pon_vcf} ]; then
PON="--pon ${pon_vcf}"
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex ${pon_vcf}
else
PON=""
fi

${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
--INTERVAL -r ${ref_dir}/${fasta} \
-i ${tumor_recaled_bam} -q ${tumor_recal_table} \
-i ${normal_recaled_bam} -q ${normal_recal_table} \
--algo TNhaplotyper \
--tumor_sample ${tumor_name} --normal_sample ${normal_name} \
--dbsnp ${dbsnp_dir}/${dbsnp} $PON \
${sample}.TNseq.TN.vcf
>>>

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

output {
File TNseq_vcf= "${sample}.TNseq.old.TN.vcf"
File TNseq_vcf_index = "${sample}.TNseq.old.TN.vcf.idx"
}

+ 37
- 0
workflow.wdl Voir le fichier

@@ -1,4 +1,5 @@
import "./tasks/TNseq.wdl" as TNseq
import "./tasks/TNseqold.wdl" as TNseqold
import "./tasks/TNscope.wdl" as TNscope
import "./tasks/annovar.wdl" as annovar

@@ -42,9 +43,45 @@ workflow {{ project_name }} {

Boolean germline
Boolean tnseq
Boolean tnseqold
Boolean tnscope
Boolean varscan

if (tnseqold) {
call TNseqold.TNseqold as TNseqold {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id,
normal_recaled_bam=normal_bam,
normal_recaled_bam_index=normal_bai,
normal_recal_table=normal_table,
tumor_recaled_bam=tumor_bam,
tumor_recaled_bam_index=tumor_bai,
tumor_recal_table=tumor_table,
normal_name=sample_id + "_normal",
tumor_name=sample_id + "_tumor",
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
interval_padding=interval_padding,
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
}
}

if (tnseq) {
call TNseq.TNseq as TNseq {
input:

Chargement…
Annuler
Enregistrer