Просмотр исходного кода

上传文件至 'tasks'

master
meng 2 лет назад
Родитель
Сommit
c1034ced87
4 измененных файлов: 225 добавлений и 0 удалений
  1. +53
    -0
      tasks/TNscope.wdl
  2. +76
    -0
      tasks/TNseq.wdl
  3. +51
    -0
      tasks/strelka.wdl
  4. +45
    -0
      tasks/tmb.wdl

+ 53
- 0
tasks/TNscope.wdl Просмотреть файл

@@ -0,0 +1,53 @@
task sentieon_TNscope{
String sample_id
File tumor_bam
File tumor_bam_bai
File? normal_bam
File? normal_bam_bai
String tumor_name
String normal_name
File tumor_recall_data
File normal_recall_data

File ref_dir
String ref_fasta
File dbsnp_dir
String dbsnp

# excute env
String docker
String cluster_config
String disk_size
String SENTIEON_LICENSE


command <<<
set -o pipefail
set -exo
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)

sentieon driver -t $nt -r ${ref_dir}/${ref_fasta} \
-i ${tumor_bam} -q ${tumor_recall_data} \
-i ${normal_bam} -q ${normal_recall_data} \
--algo TNscope --tumor_sample ${tumor_name} --normal_sample ${normal_name} \
--disable_detector sv --trim_soft_clip \
--dbsnp ${dbsnp_dir}/${dbsnp} ${sample_id}.TNscope.vcf || { echo "TNscope failed"; exit 1; }
ls ./

>>>

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

output{
File vcf = "${sample_id}.TNscope.vcf"
File vcf_index = "${sample_id}.TNscope.vcf.idx"

}
}

+ 76
- 0
tasks/TNseq.wdl Просмотреть файл

@@ -0,0 +1,76 @@
task sentieon_TNseq{
String sample_id
File tumor_bam
File tumor_bam_bai
File? normal_bam
File? normal_bam_bai
String tumor_name
String normal_name

File ref_dir
String ref_fasta
File germline_resource
File germline_resource_tbi

# excute env
String docker
String cluster_config
String disk_size
String SENTIEON_LICENSE


command <<<
set -o pipefail
set -exo
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)



INPUT="-i ${tumor_bam} -i ${normal_bam}"
SAMPLE="--tumor_sample ${tumor_name} --normal_sample ${normal_name}"


sentieon driver -t $nt -r ${ref_dir}/${ref_fasta} \
$INPUT \
--algo TNhaplotyper2 $SAMPLE \
--germline_vcf ${germline_resource} \
${sample_id}.TNseq.raw.vcf \
--algo OrientationBias --tumor_sample ${tumor_name} \
${sample_id}.orientation \
--algo ContaminationModel $SAMPLE \
--vcf ${germline_resource} \
--tumor_segments ${sample_id}.contamination.segments \
${sample_id}.contamination

sentieon driver -t $nt \
-r ${ref_dir}/${ref_fasta} \
--algo TNfilter $SAMPLE \
-v ${sample_id}.TNseq.raw.vcf \
--contamination ${sample_id}.contamination \
--tumor_segments ${sample_id}.contamination.segments \
--orientation_priors ${sample_id}.orientation \
${sample_id}.bwa_TNseq.vcf

>>>

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

}

output{
File raw_vcf = "${sample_id}.TNseq.raw.vcf"
File raw_vcf_index = "${sample_id}.TNseq.raw.vcf.idx"
File vcf = "${sample_id}.bwa_TNseq.vcf"
File vcf_index = "${sample_id}.bwa_TNseq.vcf.idx"
File contamination = "${sample_id}.contamination"
File contamination_segments = "${sample_id}.contamination.segments"
File orientation = "${sample_id}.orientation"


}
}

+ 51
- 0
tasks/strelka.wdl Просмотреть файл

@@ -0,0 +1,51 @@
task strelka_calling{
File tumor_bam
File tumor_bam_bai
File normal_bam
File normal_bam_bai
String ref_fasta
File ref_dir
String sample_id
File? manta_indel_vcf
File? manta_indel_vcf_index
# excute env
String docker
String cluster_config
String disk_size
String out_dir = "${sample_id}_result"
command <<<
set -exo pipefail
nt=$(nproc)
/home/biosoft/strelka-2.9.10.centos6_x86_64/bin/configureStrelkaSomaticWorkflow.py \
--normalBam ${normal_bam} \
--tumorBam ${tumor_bam} \
--referenceFasta ${ref_dir}/${ref_fasta} \
--runDir ${out_dir}
ls ${out_dir}

python2.7 ${out_dir}/runWorkflow.py -m local -j $nt

ls ${out_dir}

tar cvf ${out_dir}.tar ${out_dir}
>>>

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

output{
File out_file = "${out_dir}.tar"
File indel_vcf = "${out_dir}/results/variants/somatic.indels.vcf.gz"
File indel_vcf_index = "${out_dir}/results/variants/somatic.indels.vcf.gz.tbi"
File snv_vcf = "${out_dir}/results/variants/somatic.snvs.vcf.gz"
File snv_vcf_index = "${out_dir}/results/variants/somatic.snvs.vcf.gz.tbi"
}
}

+ 45
- 0
tasks/tmb.wdl Просмотреть файл

@@ -0,0 +1,45 @@
task TMB {
String sample
File hg38_CDS
File regions
File snpindel_txt
String docker
String cluster_config
String disk_size
Boolean AF_filter
command <<<
set -o pipefail
set -e
nt=$(nproc)
if [ ${regions} ];then
sort -k1,1 -k2,2n ${regions} | bedtools merge -i - > merged.bed
bedtools intersect -a merged.bed -b ${hg38_CDS} > merged_intersect.bed
size=`awk -F'\t' 'BEGIN{SUM=0}{SUM+=$3-$2}END{print SUM}' merged_intersect.bed`
else
size=`awk -F'\t' 'BEGIN{SUM=0}{SUM+=$3-$2}END{print SUM}' ${hg38_CDS}`
fi
# analysis in python
if ${AF_filter};then
python ~/tmb.py ${snpindel_txt} $size ${sample} 'yes'
else
python ~/tmb.py ${snpindel_txt} $size ${sample} 'no'
fi

>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File snp_indel="${sample}.snp_indel.txt"
File tmb="${sample}.TMB.txt"
}
}

Загрузка…
Отмена
Сохранить