---
name: orthoevol
description: >
  This package aids in the analysis of orthologous genes. Use when writing Python code that uses the OrthoEvol package.
license: MIT
compatibility: Requires Python >=3.11,<3.15.
---

# OrthoEvolution

This package aids in the analysis of orthologous genes.

## Installation

```bash
pip install OrthoEvol
```

## API overview

### Ortholog discovery

Infer orthologs and summarize comparative-genetics results.

- `Orthologs.Blast.BaseComparativeGenetics`
- `Orthologs.Blast.ComparativeGenetics`
- `Orthologs.Blast.BaseBlastN`
- `Orthologs.Blast.OrthoBlastN`

### Sequence retrieval

Retrieve and organize GenBank records and NCBI datasets.

- `Orthologs.GenBank.GenBank`
- `Tools.ftp.BaseFTPClient`
- `Tools.ftp.NcbiFTPClient`
- `Tools.mygene.MyGene`

### Alignment and phylogenetics

Prepare alignments and run supported phylogenetic programs.

- `Orthologs.Align.ClustalO`
- `Orthologs.Align.Guidance2Commandline`
- `Orthologs.Align.Pal2NalCommandline`
- `Orthologs.Align.MultipleSequenceAlignment`
- `Orthologs.Phylogenetics.RelaxPhylip`
- `Orthologs.Phylogenetics.ETE3PAML`
- `Orthologs.Phylogenetics.PhyML`
- `Orthologs.Phylogenetics.Phylip`
- `Orthologs.Phylogenetics.IQTreeCommandline`
- `Orthologs.Phylogenetics.FilteredTree`
- `Orthologs.Phylogenetics.TreeViz`
- `Orthologs.Phylogenetics.PAML.CodemlRun`

### Project and data management

Create project layouts and coordinate data and database workflows.

- `Manager.management.Management`
- `Manager.management.RepoManagement`
- `Manager.management.UserManagement`
- `Manager.management.WebsiteManagement`
- `Manager.management.ProjectManagement`
- `Manager.data_management.DataMana`
- `Manager.database_management.BaseDatabaseManagement`
- `Manager.database_management.DatabaseManagement`
- `Manager.database_dispatcher.DatabaseDispatcher`
- `Manager.biosql.biosql.BaseBioSQL`
- `Manager.biosql.biosql.SQLiteBioSQL`
- `Manager.biosql.biosql.MySQLBioSQL`

### Execution and supporting tools

Run local, PBS, Slurm, logging, and transfer helpers.

- `Tools.pbs.BaseQsub`
- `Tools.pbs.Qsub`
- `Tools.pbs.BaseQstat`
- `Tools.pbs.Qstat`
- `Tools.pbs.MultiQstat`
- `Tools.pbs.TargetJobKeyError`
- `Tools.slurm.SlurmClient`
- `Tools.slurm.SlurmJob`
- `Tools.slurm.SlurmCommandNotFoundError`
- `Tools.parallel.Multiprocess`
- `Tools.logit.LogIt`
- `Tools.pybasher.PyBasher`
- `Tools.send2server.S2S`
- `Tools.slackify.Slackify`

### Templates and utilities

Create project templates and use shared package utilities.

- `Cookies.Oven`
- `Cookies.CookBook`
- `resources.package_resource_path`
- `utilities.DuplicateAnalysis`
- `utilities.BlastUtils`
- `utilities.GenbankUtils`
- `utilities.OrthologUtils`
- `utilities.ManagerUtils`
- `utilities.CookieUtils`
- `utilities.PackageVersion`
- `utilities.FunctionRepeater`
- `utilities.FullUtilities`
- `OrthoEvolWarning`: This is the OrthoEvol main warning class
- `OrthoEvolDevelopmentWarning`: This is the OrthoEvol developmental code warning subclass
- `OrthoEvolDeprecationWarning`: This is the Deprecation Warning subclass

## Resources

- [Full documentation](https://datasnakes.github.io/OrthoEvolution/)
- [llms.txt](llms.txt) — Indexed API reference for LLMs
- [llms-full.txt](llms-full.txt) — Comprehensive documentation for LLMs
- [Source code](https://github.com/datasnakes/OrthoEvolution)
