Germline & Somatic short variant discovery (SNVs + Indels) for WGS & WES.
No puede seleccionar más de 25 temas
Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
|
- task TNseq {
-
- String sample
- String SENTIEON_INSTALL_DIR
- String SENTIEON_LICENSE
- File tumor_recaled_bam
- File tumor_recaled_bam_index
- File? normal_recaled_bam
- File? normal_recaled_bam_index
- String tumor_name
- String normal_name
-
- File ref_dir
- String fasta
- File germline_resource
- File germline_resource_tbi
- File? regions
- Int? interval_padding
- File? pon_vcf
-
- String docker
- String cluster_config
- String disk_size
-
- 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
-
- if [ ${normal_recaled_bam} ]; then
- INPUT="-i ${tumor_recaled_bam} -i ${normal_recaled_bam}"
- SAMPLE="--tumor_sample ${tumor_name} --normal_sample ${normal_name}"
- else
- INPUT="-i ${tumor_recaled_bam}"
- SAMPLE="--tumor_sample ${tumor_name}"
- fi
-
- ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} \
- $INPUT $INTERVAL \
- --algo TNhaplotyper2 $SAMPLE \
- --germline_vcf ${germline_resource} \
- $PON \
- ${sample}.TNseq.vcf \
- --algo OrientationBias --tumor_sample ${tumor_name} \
- ${sample}.orientation \
- --algo ContaminationModel $SAMPLE \
- --vcf ${germline_resource} \
- --tumor_segments ${sample}.contamination.segments \
- ${sample}.contamination
-
- ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \
- -r ${ref_dir}/${fasta} \
- --algo TNfilter $SAMPLE \
- -v ${sample}.TNseq.vcf \
- --contamination ${sample}.contamination \
- --tumor_segments ${sample}.contamination.segments \
- --orientation_priors ${sample}.orientation \
- ${sample}.TNseq.filter.vcf
-
- awk -F'\t' '{if(($1~"^#")||($1!~"^#" && $7=="PASS")){print $0}}' ${sample}.TNseq.filter.vcf > ${sample}.TNseq.filter.PASS.vcf
- >>>
-
- runtime {
- docker: docker
- cluster: cluster_config
- systemDisk: "cloud_ssd 40"
- dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
- }
-
- output {
- File TNseq_pass_vcf='${sample}.TNseq.filter.PASS.vcf'
- File TNseq_filter_vcf='${sample}.TNseq.filter.vcf'
- File TNseq_filter_vcf_index = "${sample}.TNseq.filter.vcf.idx"
- File TNseq_vcf = "${sample}.TNseq.vcf"
- File TNseq_vcf_index = "${sample}.TNseq.vcf.idx"
- File contamination = "${sample}.contamination"
- File contamination_segments = "${sample}.contamination.segments"
- File orientation = "${sample}.orientation"
- }
- }
|