This repository has been archived by the owner. It is now read-only.
Automatic annotation of gene families
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Automatic annotation of gene families

Author: Tamás Nepusz, Rajkumar Sasidharan, Alberto Paccanaro

Archival notice

gfam is now archived and has been superseded by ConSAT. If you are new to gfam, please consider using ConSAT instead.

The original documentation of gfam follows from here for historical purposes.


This is the documentation of gfam, a Python module to aid the automatic annotation of gene families based on consensus domain architecture. gfam started out as a collection of loosely coupled Python scripts that process the output of iprscan (a tool to obtain domain assignments of individual genes from InterPro) and conduct some analyses using BLAST to detect novel, previously uncharacterised domains. The original domains and the detected novel domain candidates are then used to create a consensus domain assignment for each gene sequence. Genes are then finally assigned to families based on their domain architectures, and a Gene Ontology overrepresentation analysis is conducted on the GO annotations of individual domains in the same sequence to come up with a set of functional labels for each sequence.


You will need the following tools to run gfam:

  • Python 2.5 or later. Python 3 is not supported yet. gfam also seems to work with Jython, but this was not tested thoroughly.
  • NCBI BLAST; in particular, the formatdb and blastall tools from the legacy C-based BLAST distribution.

The latest release of SciPy is recommended, but not necessary. gfam uses SciPy for calculating the logarithm of the gamma function in the overrepresentation analysis routines, but it falls back to a (somewhat slower) Python implementation if SciPy is not installed.

Running gfam

gfam is driven by a master configuration file named gfam.cfg. A sample configuration file is given in the distribution. The sample file works fine for the gene sequences of Arabidopsis thaliana; for other species, you might have to tweak some of the parameters, and you will surely have to modify the paths to the data files. The configuration file is documented and mostly self-explanatory.

You can launch gfam by typing:

$ bin/gfam

This will run the whole gfam analysis pipeline using the configuration specified in gfam.cfg. If your configuration file is named otherwise, you can run it by typing:

$ bin/gfam -c my_config.cfg

Questions, comments

If you have a question or a comment about gfam or you think you have found a bug, feel free to contact me.