Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

pyHam: A Tool to Analyze Hierarchical Orthologous Groups (HOGs)


pyHam is a library to facilitate the analysis of hierarchical orthologous groups. It also contains a few tools to run standard type of analysis.

Currently, Ham is limited to analyze HOGs that are stored in an orthoXML file. More information on the schema of orthoxml and some examples are available at

For extended documentation we refer to the docs folder that contain information on common use cases and API documentation of the library.

How to cite pyHam

If you use pyHam in your work, please consider citing:

Clément-Marie Train, Miguel Pignatelli, Adrian Altenhoff, Christophe Dessimoz; iHam and pyHam: visualizing and processing hierarchical orthologous groups, Bioinformatics, bty994,


Ham is written in python3 (also compatible with python2), with little external dependencies, i.e. currently ete3, lml, six. The setup script should resolve these dependencies automatically. Consider using pip to install the package directly from a checked out git repo

python -m pip install --upgrade pip
pip install pyham


We prepare a ready-to-use example (see example folder) with few python scripts to use main pyHam features. You just have to run the following command in bash:


Getting started

We create a small introductory blog post about HOGs and pyHam at We highly recommend you to read it before starting using pyHam.

We also create an ipython notebook to help you with basic uses of pyHam API and embedded tools at

Table of compatibility

Support for pyHam by various HOG inference resources.

Resource Species tree format OrthoXML SUPPORT
OMA browser PhyloXML and Newick All HOGs , or one HOG at a time YES
OMA standalone PhyloXML and Newick All HOGs YES
Ensembl Newick one HOG at a time YES
HieranoidDB Newick one HOG at a time YES


You can the full documentation of pyHam at