Ensembl VEP (Variant Effect Predictor) predicts the functional effects of genomic variants.
NOTE: This project is in an initial development phase. Many features are incomplete, APIs may change without notice, and documentation is partial. Use at your own risk and feel free to open issues or contribute; your feedback is welcome.
Full documentation is available at: https://ensembl.github.io/ensembl-vep-py/
- Python 3.12 or higher
- Rust 1.95.0 or higher (TBD - not strictly tested)
- Dependencies listed in
pyproject.tomlandCargo.toml
pip install ensembl-vepuv pip install ensembl-vep-
clone the repository
git clone https://github.com/Ensembl/ensembl-vep-py.git cd ensembl-vep-py -
Create a branch against remote main branch
git checkout -b feature/some_feature origin/main
-
Install the package in editable mode
uv pip install -e .
See more details in the Contributing Guide guide.
from ensembl_vep import hello
print(hello("world!"))vep world!Run the test suite:
# Run pytest with coverage
uv run coverage run -m pytest
# Run Rust llvm-cov
cargo llvm-cov --ignore-filename-regex '(^|/)src/rust/lib\.rs$'The Rust crate root src/rust/lib.rs is reserved for PyO3 module registration
glue. Keep testable Rust logic in submodules; coverage runs ignore lib.rs so
the project can use stable Rust without nightly-only coverage attributes.
We welcome contributions! Please see our Contributing Guide for details.
If you use this software, please cite:
McLaren W, Gil L, Hunt SE, Riat HS, Ritchie GR, Thormann A, Flicek P, Cunningham F.
The Ensembl Variant Effect Predictor.
Genome Biology Jun 6;17(1):122. (2016)
doi:10.1186/s13059-016-0974-4
- Bugs: Issues
- Features: Discussions → Ideas
See CHANGELOG.md for version history and updates.