Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

66 lines
1.8KB

  1. task cnvkit{
  2. String sample
  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. command <<
  14. set -o pipefail
  15. set -e
  16. nt=$(nproc)
  17. cnvkit.py batch ${tumor_bam} \
  18. -n ${normal_bam} \
  19. -m wgs \
  20. -f ${fasta} \
  21. --annotate ${ref_flat}
  22. cnvkit.py scatter ${sample}.cnr \
  23. -s ${sample}.cns \
  24. -o ${sample}_scatter.pdf
  25. cnvkit.py diagram ${sample}.cnr \
  26. -s ${sample}.call.cns \
  27. -o ${sample}.diagram.pdf
  28. cnvkit.py heatmap ${sample}.cnr ${sample}.call.cns \
  29. -o ${sample}.heatmap.pdf
  30. cnvkit.py genemetrics ${sample}.cnr -t 0.2 -m 3 -o ${sample}.ratio_cnv.txt
  31. cnvkit.py genemetrics ${sample}.cnr -s ${sample}.call.cns -t 0.2 -m 3 -o ${sample}.segment_cnv.txt
  32. cat WGS_IL_T_1.ratio_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > ratio_cnv.txt
  33. cat ${sample}.segment_cnv.txt | tail -n+2 | cut -f1 | sort | uniq > segment_cnv.txt
  34. comm -12 ratio_cnv.txt segment_cnv.txt > ${sample}.trusted_genes.txt
  35. awk 'NR==FNR {a[$1]=$2;next} NR!=FNR {if(FNR == 1 || (FNR != 1 && $1 in a)) print $0}' ${sample}.trusted_genes.txt WGS_IL_T_1.ratio_cnv.txt > ${sample}.ratio_cnv.trusted.txt
  36. cnvkit.py call ${sample}.ratio_cnv.trusted.txt -m threshold -o ${sample}.ratio_cnv.call.txt
  37. awk '{if ($6 != 2) print $0}' ${sample}.ratio_cnv.call.txt > ${sample}.ratio_cnv.call.filter.txt
  38. ls ./
  39. tar cvf ${sample}.tar ./
  40. >>
  41. runtime{
  42. docker:docker
  43. cluster:cluster_config
  44. systemDisk:"cloud_ssd 40"
  45. dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/"
  46. }
  47. output{
  48. File out_file = "${sample}.tar"
  49. }
  50. }