Skip to main content

OrthoEvolution

CI PyPI Documentation Coverage DOI Last Commit

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

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:

  • Orthologs provides ortholog inference, alignment, and phylogenetic tools.
  • Manager creates and coordinates repositories, projects, databases, and research datasets.
  • Tools provides reusable utilities for data retrieval, parallel execution, logging, and cluster workloads.
  • Cookies provides 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

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)

Source distribution for OrthoEvol 1.0.0
File Size Uploaded
orthoevol-1.0.0.tar.gz 23.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for OrthoEvol 1.0.0
File Interpreter ABI Platform
orthoevol-1.0.0-py3-none-any.whl Python 3 none any Details

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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page