VEP (Variant Effect Predictor) predicts the functional effects of genomic variants. The annotated VCF will be converted into MAF based on vcf2maf.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.3KB

  1. task VEP {
  2. File vcf
  3. String sample_id
  4. String basename = basename(vcf,".vcf")
  5. String tumor_id
  6. String normal_id
  7. File ref_dir
  8. String fasta
  9. String vep_path
  10. File cache
  11. String ncbi_build
  12. String species
  13. Boolean only_pass
  14. String vcf2maf_path
  15. String docker
  16. String cluster_config
  17. String disk_size
  18. command <<<
  19. set -o pipefail
  20. set -e
  21. nt=$(nproc)
  22. awk -F'\t' '{if(($1~"^#")||($1!~"^#" && $7=="PASS")){print $0}}' ${vcf} > ${sample_id}.PASS.vcf
  23. # Extract the BND variants from VCF
  24. # awk -F'\t' '{if(($1~"^#")||($8!~".*SVTYPE=BND.*")){print $0}}' ${sample_id}.PASS.vcf > ${sample_id}.PASS.vcf2maf.vcf
  25. # awk -F'\t' '{if(($1~"^#")||($8~".*SVTYPE=BND.*")){print $0}}' ${sample_id}.PASS.vcf > ${sample_id}.INPUT.VEP.vcf
  26. # vcf2maf
  27. # perl ${vcf2maf_path}/vcf2maf.pl \
  28. # --input-vcf ${sample_id}.PASS.vcf2maf.vcf --output-maf ${basename}.maf \
  29. # --tumor-id ${tumor_id} --normal-id ${normal_id} \
  30. # --ref-fasta ${ref_dir}/${fasta} \
  31. # --vep-path ${vep_path} \
  32. # --vep-data ${cache} \
  33. # --ncbi-build ${ncbi_build} \
  34. # --species ${species} \
  35. # --vep-fork $nt
  36. # vep
  37. perl ${vep_path}/vep \
  38. --input_file ${sample_id}.PASS.vcf --output_file ${basename}.vep.vcf \
  39. --fasta ${ref_dir}/${fasta} \
  40. --dir ${cache} \
  41. --assembly ${ncbi_build} \
  42. --species ${species} \
  43. --fork $nt \
  44. --format vcf --vcf \
  45. --no_progress --no_stats --buffer_size 5000 --sift b --ccds --uniprot --hgvs --symbol --numbers --domains --gene_phenotype --canonical --protein --biotype --uniprot --tsl --variant_class --shift_hgvs 1 --check_existing --total_length --allele_number --no_escape --xref_refseq --failed 1 --flag_pick_allele --pick_order canonical,tsl,biotype,rank,ccds,length --force_overwrite --offline --pubmed --regulatory
  46. # vcf2maf
  47. perl ${vcf2maf_path}/vcf2maf.pl \
  48. --inhibit-vep \
  49. --input-vcf ${basename}.vep.vcf --output-maf ${basename}.maf \
  50. --tumor-id ${tumor_id} --normal-id ${normal_id} \
  51. --ref-fasta ${ref_dir}/${fasta} \
  52. --vep-fork $nt
  53. >>>
  54. runtime {
  55. docker: docker
  56. cluster: cluster_config
  57. systemDisk: "cloud_ssd 40"
  58. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  59. }
  60. output {
  61. File input_vcf = "${sample_id}.PASS.vcf"
  62. File vep_vcf = "${basename}.vep.vcf"
  63. File maf = "${basename}.maf"
  64. }
  65. }