Ensembl / VEP_plugins

Plugins for the Ensembl Variant Effect Predictor (VEP)
Apache License 2.0
132 stars 114 forks source link

Improve Paralogues plugin #681

Closed nuno-agostinho closed 1 month ago

nuno-agostinho commented 5 months ago

ENSVAR-2596

Requires https://github.com/Ensembl/ensembl-variation/pull/1069

Changelog

  1. Fetch paralogue variants from VEP cache; the source for paralogue variants is prioritised in this order:
    • From custom VCF file (if vcf option is defined)
    • From VEP cache (in cache/offline mode)
    • From Ensembl API (in database mode)
  2. Simplify remote mode
    • Enable remote mode using paralogues=remote instead of a separate argument mode=remote
    • This change makes it clearer that remote mode is relative to paralogue annotation only
  3. Support a VCF file of variants mapped to their paralogous regions
    • This can be created during the release process
    • New regions option allows to get paralogue regions (that are used to look up for paralogue variants)
  4. Improve performance when using Tabix-indexed data by using get_data
  5. Fix using plugin with registry to access custom databases

Matches file

The file with variants mapped to paralogue regions can be created by running VEP with VCF output, a registry pointing to the next release databases (e112 in this case) and Paralogues plugin with the recommended options.

More information: refer to the Paralogues plugin page in Confluence.

Testing

Example of variants to test with this plugin (please use clnsig=ignore to get all paralogue variants):

1   939112  .   G   A
1   44827194    .   GT  AA
1   8871910 .   C   T
2   166073606   .   G   T
17  4833586 .   G   T
  1. Test fetching variants in VEP cache by using the plugin in --offline or --cache mode (without using a custom VCF)
  2. Check if paralogues=remote works as expected
  3. Check if matches option works with ClinVar file (location to file in ENSVAR-2596)
    • Test regions=0 and regions=1
nuno-agostinho commented 2 months ago

Thanks for the review, @jamie-m-a! I removed the commented code now.