Skip to main content

normalize effects from variant annotation tools (snpEff, VEP)

Project description

Given multiple snpEff or VEP or BCFTools consequence annotations for a single variant, get an orderable python object for each annotation.

Build Status

This is to provide a consistent interface to different variant annotations such as from snpEff ANN field and the VEP CSQ field. and the BCFTools consequence field

This will be used in gemini but should also be of general utility.


There is an effect base-class and then a sub-class for snpEff, one for VEP, and one for BCFT

Effect objects are orderable (via __le__ ) and should have an __eq__ method so that we can use functools.total_ordering to provide the other comparison operators.

Given 2 effects objects, a and b: a < b == True iff the severity of b is greater than a.

We will have a classmethod: `Effect.top_severity([eff1, ... effn]) that will return the single highest serverity if that exists or a list of the ties for highest

Rules for severity:

Given 2 annotations, a and b a is more severe than b if:

  1. b is a pseudogene and a is not
  2. a is coding and b is not
  3. a has higher severity than b ( see below)
  4. polyphen, then sift
  5. ??? transcript length? (we dont have access to this).


Severity is based on the impacts from VEP and the impacts from snpEff. We reduce from the 4 categories HIGH, MEDIUM, LOW, MODIFIER to 3 by renaming MEDIUM to MED and renaming MODIFIER to LOW.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geneimpacts-0.3.7.tar.gz (40.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page