Revision as of 22:40, 28 January 2024 by Achander (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


orthomcl website  

OrthoMCL is a genome-scale algorithm for grouping orthologous protein sequences. It provides not only groups shared by two or more species/genomes, but also groups representing species-specific gene expansion families. So it serves as an important utility for automated eukaryotic genome annotation. OrthoMCL starts with reciprocal best hits within each genome as potential in-paralog/recent paralog pairs and reciprocal best hits across any two genomes as potential ortholog pairs. Related proteins are interlinked in a similarity graph. Then MCL (Markov Clustering algorithm,Van Dongen 2000; www.micans.org/mcl) is invoked to split mega-clusters. This process is analogous to the manual review in COG construction. MCL clustering is based on weights between each pair of proteins, so to correct for differences in evolutionary distance the weights are normalized before running MCL.

Environment Modules

Run module spider orthomcl to find out what environment modules are available for this application.

System Variables

  • HPC_ORTHOMCL_DIR - installation directory
  • HPC_ORTHOMCL_BIN - executable directory
  • HPC_ORTHOMCL_CONF - configuration directory. It contains template orthomcl.config files for SQLite and MySQL connection settings, credentials, and database structures.

How To Run


Only SQLite is supported as an OrthoMCL database out of the box at this time unless you attempt to stand up your own MariaDB database in another job using a container on your own.

The '$HPC_ORTHOMCL_CONF/orthomcl.config' file provides a template for configuring an OrthoMCL SQLite database. Copy it to your working directory with

$ cp $HPC_ORTHOMCL_CONF/orthomcl.config .

The '$HPC_ORTHOMCL_CONF/orthomcl.config.sql' file provides a template for configuring an OrthoMCL MySQL database. Copy it to your working directory with

$ cp $HPC_ORTHOMCL_CONF/orthomcl.config.sql .

Don't forget to create the schema with the following before creating a database:

orthomclInstallSchema orthomcl.config

A wrapper script -- 'orthomcl_wrapper_SQLITE' -- that creates a suitable orthomcl.config file and automates much of the pipeline is provided:

$ orthomcl_wrapper_SQLITE -p compliantFASTA -u 2 -s 100
-p path to folder with input fasta files 
-u position of unique IDs in fasta headers
-s number of parallel blast jobs to run in a slurm array.

The wrapper script writes a 'run_split_blast_array.sh' script that can be modified to resubmit blast jobs if necessary, and a 'finish.orthomcl.sh' script to be run after all blast jobs complete.


If you publish research that uses orthomcl you have to cite it as follows:

  1. Feng Chen, Aaron J. Mackey, Christian J. Stoeckert, Jr., and David S. Roos. OrthoMCL-DB: querying a comprehensive multi-species collection of ortholog groups. Nucleic Acids Res. 2006 34: D363-8. Please cite this paper if you publish research results benefited from OrthoMCL-DB.
  2. Li Li, Christian J. Stoeckert, Jr., and David S. Roos. OrthoMCL: Identification of Ortholog Groups for Eukaryotic Genomes. Genome Res. 2003 13: 2178-2189.
  3. Feng Chen, Aaron J. Mackey, Jeroen K. Vermunt, and David S. Roos. Assessing Performance of Orthology Detection Strategies Applied to Eukaryotic Genomes. PLoS ONE 2007 2(4): e383.