Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

63 lines
2.1KB

  1. task cnvkit{
  2. String sample_id
  3. File ref_dir
  4. String? fasta
  5. File ref_flat
  6. File tumor_bam
  7. File tumor_bam_index
  8. File? normal_bam
  9. File? normal_bam_index
  10. String docker
  11. String cluster_config
  12. String disk_size
  13. String sample=basename(tumor_bam,".bam")
  14. command <<<
  15. set -o pipefail
  16. set -e
  17. echo ${sample}
  18. /root/miniconda2/bin/cnvkit.py batch ${tumor_bam} -n ${normal_bam} -m wgs -f ${ref_dir} --annotate ${ref_flat} --diagram --scatter
  19. #/root/miniconda2/bin/cnvkit.py scatter ${sample}.cnr -s ${sample}.cns -o ${sample}_scatter.pdf
  20. #/root/miniconda2/bin/cnvkit.py diagram ${sample}.cnr -s ${sample}.cns -o ${sample}.diagram.pdf
  21. /root/miniconda2/bin/cnvkit.py heatmap ${sample}.cnr ${sample}.cns -o ${sample}.heatmap.pdf
  22. /root/miniconda2/bin/cnvkit.py genemetrics ${sample}.cnr -t 0.2 -m 3 -o ${sample}.ratio_cnv.txt
  23. /root/miniconda2/bin/cnvkit.py genemetrics ${sample}.cnr -s ${sample}.cns -t 0.2 -m 3 -o ${sample}.segment_cnv.txt
  24. cat ${sample}.ratio_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > ratio_cnv.txt
  25. cat ${sample}.segment_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > segment_cnv.txt
  26. comm -12 ratio_cnv.txt segment_cnv.txt > ${sample}.trusted_genes.txt
  27. 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
  28. /root/miniconda2/bin/cnvkit.py call ${sample}.ratio_cnv.trusted.txt -m threshold -o ${sample}.ratio_cnv.call.txt
  29. awk '{if ($6 != 2) print $0}' ${sample}.ratio_cnv.call.txt > ${sample}.ratio_cnv.call.filter.txt
  30. cp ${sample}.ratio_cnv.call.filter.txt ${sample}.ratio_cnv.call.filter.bed
  31. ls ./
  32. tar cvf ${sample}.tar ./
  33. >>>
  34. runtime{
  35. docker:docker
  36. cluster:cluster_config
  37. systemDisk:"cloud_ssd 40"
  38. dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/"
  39. }
  40. output{
  41. File out_file = "${sample}.tar"
  42. File cnv_bed = "${sample}.ratio_cnv.call.filter.bed"
  43. }
  44. }