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:
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orthoevol-1.0.0.tar.gz.
File metadata
- Download URL: orthoevol-1.0.0.tar.gz
- Upload date:
- Size: 23.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f67fd3a529baa139bd5bb54184565f8ed5e852a3fa3f7193238d0ecf4e14a36
|
|
| MD5 |
c263497be6c6a00db213f5cda9f5d54f
|
|
| BLAKE2b-256 |
d2dfdbe2f57e957ccd9067fe552a0ec879809a8be8f224d077fbd54330dc8227
|
File details
Details for the file orthoevol-1.0.0-py3-none-any.whl.
File metadata
- Download URL: orthoevol-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8f28e7f719a484db7bea85bc75830627f38b2bdcc0d9acd005e8dde4d7b356e
|
|
| MD5 |
1f7b5825b48e28439334aa7d826c703e
|
|
| BLAKE2b-256 |
47795f76ef2575e51c0d6dad35ee6d69020305817583fd36d0320c17ee18b448
|