Skip to main content

Polygenic Risk and Association beyond Linearity

Project description

GenomEn

Polygenic Risk and Association beyond Linearity

PyPI version PyPI downloads Website Python 3.11 Python 3.12 Python 3.13 Format Check

Overview

Genomic Ensembling (GenomEn) is an ensemble framework for genotype-to-phenotype prediction that uses both linear and non-linear estimators to capture gene-gene interactions often overlooked by traditional polygenic risk score (PRS) methods. For more informations on the methods, please refer to our paper.

The package enables researchers to improve predictive performance beyond conventional linear PRS approaches by modeling complex genetic interactions. GenomEn also natively supports variants on the X sex chromosome, which are often neglected due to integration challenges with autosomes, further improving predictive performance and simplifying the study of X-linked traits. Finally, GenomEn allows for local and global variant-level interpretability via SHAP values, allowing to gain new insights into complex traits.

Installation

Install from PyPI:

pip install genomen

Install with optional dependency groups:

# Development dependencies (black, pytest, etc.)
pip install genomen[dev]

# GPU support (CUDA 12)
pip install genomen[gpu]

Quick Start

from genomen.data import DataSet, split
from genomen.model import GenomenModel

# Load and split data
dataset = DataSet()
train_set, test_set, val_set = split(dataset)

# Train model
model = GenomenModel()
model.fit(train_set, val_set)

# Make predictions
geno_preds, covar_preds, preds = model.predict(test_set)

Documentation

For detailed documentation, tutorials, and examples, please visit the official documentation site or browse the local documentation in the docs/ directory.

Citation

If you use GenomEn in your research, please cite:

@article{Thomassin2026,
  title   = {Biobank-scale Polygenic Risk Prediction with Nonlinear Estimators},
  author  = {Thomassin, Christophe and Franquesa Mon{\'e}s, Marc and Bonet, David and Gerlach, Peter A. and Comajoan Cara, Mar{\c{c}}al and Mas Montserrat, Daniel and Ioannidis, Alexander G.},
  year    = {2026},
  url     = {https://genomen-website.vercel.app/docs}
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For development setup, see the getting started guide.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Links

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

genomen-1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genomen-1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file genomen-1.0.tar.gz.

File metadata

  • Download URL: genomen-1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.14

File hashes

Hashes for genomen-1.0.tar.gz
Algorithm Hash digest
SHA256 879d2bb6b941080f66dd10a016fd7f1d607b3bca741d6632c3c241c3f660abb3
MD5 4eefd4cd67a4b682306653715080eb82
BLAKE2b-256 8c10f90ee5ee909363078880b1431f5e4001fe7512a1557e920bf1ac2618f396

See more details on using hashes here.

File details

Details for the file genomen-1.0-py3-none-any.whl.

File metadata

  • Download URL: genomen-1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.14

File hashes

Hashes for genomen-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f418009fd13150f87ffd1c6e20676e39a9a7a87becd8775ab4fbafaa4fcf34a
MD5 a69413c34a096263a78c9f0bcda4955a
BLAKE2b-256 1e8c8cc85bb808718657475d1ecbc07975b826b0ece0ecdc75aa88e8dd4fdd59

See more details on using hashes here.

Supported by

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