|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
-
- task cnvkit{
- String sample
- File ref_dir
- String? fasta
- File ref_flat
- File tumor_bam
- File tumor_bam_index
- File? normal_bam
- File? normal_bam_index
- String docker
- String cluster_config
- String disk_size
-
-
- command <<<
-
- set -o pipefail
- set -e
-
- /root/miniconda2/bin/cnvkit.py batch ${tumor_bam} -n ${normal_bam} -m wgs -f ${ref_dir} --annotate ${ref_flat} --diagram --scatter
-
- #/root/miniconda2/bin/cnvkit.py scatter ${sample}.cnr -s ${sample}.cns -o ${sample}_scatter.pdf
-
- #/root/miniconda2/bin/cnvkit.py diagram ${sample}.cnr -s ${sample}.cns -o ${sample}.diagram.pdf
-
- /root/miniconda2/bin/cnvkit.py heatmap ${sample}.cnr ${sample}.cns -o ${sample}.heatmap.pdf
-
- /root/miniconda2/bin/cnvkit.py genemetrics ${sample}.cnr -t 0.2 -m 3 -o ${sample}.ratio_cnv.txt
-
- /root/miniconda2/bin/cnvkit.py genemetrics ${sample}.cnr -s ${sample}.cns -t 0.2 -m 3 -o ${sample}.segment_cnv.txt
-
- cat ${sample}.ratio_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > ratio_cnv.txt
- cat ${sample}.segment_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > segment_cnv.txt
- comm -12 ratio_cnv.txt segment_cnv.txt > ${sample}.trusted_genes.txt
-
- awk 'NR==FNR {a[$1]=$2;next} NR!=FNR {if(FNR == 1 || (FNR != 1 && $1 in a)) print $0}' ${sample}.trusted_genes.txt ${sample}.ratio_cnv.txt > ${sample}.ratio_cnv.trusted.txt
- /root/miniconda2/bin/cnvkit.py call ${sample}.ratio_cnv.trusted.txt -m threshold -o ${sample}.ratio_cnv.call.txt
- awk '{if ($6 != 2) print $0}' ${sample}.ratio_cnv.call.txt > ${sample}.ratio_cnv.call.filter.txt
-
- ls ./
-
- tar cvf ${sample}.tar ./
-
- >>>
-
- runtime{
- docker:docker
- cluster:cluster_config
- systemDisk:"cloud_ssd 40"
- dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/"
- }
-
- output{
- File out_file = "${sample}.tar"
- }
-
- }
|