Skip to main content

normalize effects from variant annotation tools (snpEff, VEP)

Project description

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

This is to provide a consistent interface to
different variant annotations such as from [snpEff ANN field]( and the [VEP CSQ 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` and one for `VEP`

`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.

Filename, size & hash SHA256 hash help File type Python version Upload date
geneimpacts-0.0.4.tar.gz (26.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page