OrthoEvolution
OrthoEvolution is a Python package for reproducible comparative evolutionary genetics, with a focus on ortholog inference, sequence analysis, and phylogenetic workflows.
Current version: 1.0.0
Table of Contents
- Project Background
- Core Capabilities
- Install & Setup
- Usage
- Documentation and Examples
- Testing
- Contributing
- Citation
- License
- Authors
Project Background
OrthoEvolution supports the inference and analysis of orthologous genes using NCBI BLAST, multiple-sequence alignment strategies, and phylogenetic tools. It organizes these steps into reusable workflows so researchers can manage large comparative-genetics datasets and reproduce their analyses.
The package is organized around four major areas:
Orthologsprovides ortholog inference, alignment, and phylogenetic tools.Managercreates and coordinates repositories, projects, databases, and research datasets.Toolsprovides reusable utilities for data retrieval, parallel execution, logging, and cluster workloads.Cookiesprovides project and website templates.
For additional scientific context, see this related comparative-genetics paper.
Core Capabilities
- Infer candidate orthologs and generate post-BLAST reports.
- Retrieve NCBI datasets and preformatted BLAST databases.
- Prepare and filter nucleotide or protein sequence alignments.
- Support phylogenetic workflows involving PAML, PhyML, IQ-TREE, Phylip, and ETE.
- Create consistent directory structures for comparative-genetics projects.
- Configure local, parallel, PBS, and Slurm-oriented workloads.
Some workflows call external scientific programs or remote services. Install the required BLAST, alignment, or phylogenetic software for the specific workflow you intend to run.
Install & Setup
OrthoEvolution supports Python 3.11 and 3.12. A virtual environment keeps its dependencies separate from other Python projects.
Install from PyPI
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install OrthoEvol
Install from source
git clone https://github.com/datasnakes/OrthoEvolution.git
cd OrthoEvolution
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
Install for development
git clone https://github.com/datasnakes/OrthoEvolution.git
cd OrthoEvolution
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[test]"
Usage
Run a preconfigured local BLAST workflow
from OrthoEvol.Orthologs.Blast import OrthoBlastN
gpcr_blastn = OrthoBlastN(
project="orthology-gpcr",
method=1,
save_data=True,
acc_file="gpcr.csv",
copy_from_package=True,
)
gpcr_blastn.run()
This workflow requires a compatible local BLAST installation and database.
Create a comparative-genetics project
from OrthoEvol.Manager.management import ProjectManagement
project_manager = ProjectManagement(
repo="test-repo",
user=None,
project="test-project",
research=None,
research_type="comparative_genetics",
new_project=True,
)
Download an NCBI BLAST database
from pathlib import Path
from OrthoEvol.Tools.ftp import NcbiFTPClient
ncbi_ftp = NcbiFTPClient(email="researcher@example.org")
ncbi_ftp.getblastdb(
database_name="refseq_rna",
download_path=Path("databases"),
v5=True,
)
NCBI database downloads require network access and can use substantial disk space. Choose the destination and database deliberately before starting a transfer.
Documentation and Examples
- Read the OrthoEvolution documentation for module and API details.
- Browse the examples for scripts, example data, and interface prototypes.
- Report problems or request enhancements through GitHub Issues.
Testing
Install the development dependencies and run the test suite through the active virtual environment:
python -m pip install -e ".[test]"
python -m pytest tests/
The continuous-integration workflow runs the suite on Python 3.11 and 3.12.
Contributing
Contributions are welcome. Create a focused branch, include tests and documentation where appropriate, and review the contributing guidelines before opening a pull request.
Citation
If you use OrthoEvolution in research, please cite the software:
Gilmore, R., & Hutchins, S. D. (2026). OrthoEvolution (Version 1.0.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.17796234
OrthoEvolution builds on the work of the Biopython community. We thank its developers and contributors and ask users to cite Biopython when it supports their analyses:
Cock, P. J. A., et al. (2009). Biopython: Freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics, 25(11), 1422–1423. https://doi.org/10.1093/bioinformatics/btp163
License
OrthoEvolution is distributed under the MIT License.
Authors
OrthoEvolution was created and is maintained by the Datasnakes:
Metadata
Release files for OrthoEvol 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| orthoevol-1.0.0.tar.gz | 23.8 MB | Without provenance | Details for orthoevol-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| orthoevol-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for orthoevol-1.0.0-py3-none-any.whl |
Total release size: 47.8 MB
Release files / orthoevol-1.0.0.tar.gz
| Download URL | orthoevol-1.0.0.tar.gz |
|---|---|
| Size | 23.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f67fd3a529baa139bd5bb54184565f8ed5e852a3fa3f7193238d0ecf4e14a36
|
|
BLAKE2b-256 checksum How to use checksums |
d2dfdbe2f57e957ccd9067fe552a0ec879809a8be8f224d077fbd54330dc8227
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / orthoevol-1.0.0-py3-none-any.whl
| Download URL | orthoevol-1.0.0-py3-none-any.whl |
|---|---|
| Size | 24.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a8f28e7f719a484db7bea85bc75830627f38b2bdcc0d9acd005e8dde4d7b356e
|
|
BLAKE2b-256 checksum How to use checksums |
47795f76ef2575e51c0d6dad35ee6d69020305817583fd36d0320c17ee18b448
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Security for OrthoEvol 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.