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:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orthoevol-1.0.0.tar.gz (23.8 MB view details)

Uploaded Source

Built Distribution

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

orthoevol-1.0.0-py3-none-any.whl (24.0 MB view details)

Uploaded Python 3

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

Hashes for orthoevol-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8f67fd3a529baa139bd5bb54184565f8ed5e852a3fa3f7193238d0ecf4e14a36
MD5 c263497be6c6a00db213f5cda9f5d54f
BLAKE2b-256 d2dfdbe2f57e957ccd9067fe552a0ec879809a8be8f224d077fbd54330dc8227

See more details on using hashes here.

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

Hashes for orthoevol-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8f28e7f719a484db7bea85bc75830627f38b2bdcc0d9acd005e8dde4d7b356e
MD5 1f7b5825b48e28439334aa7d826c703e
BLAKE2b-256 47795f76ef2575e51c0d6dad35ee6d69020305817583fd36d0320c17ee18b448

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

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