A low-polynomial algorithm for assembling clusters of orthologous groups from intergenomic symmetric best matches.
BACKGROUND
Identifying orthologous genes in multiple genomes is a fundamental task in comparative genomics. Construction of intergenomic symmetrical best matches (SymBets) and joining them into clusters is a popular method of ortholog definition, embodied in several software programs. Despite their wide use, the computational complexity of these programs has not been thoroughly examined.


RESULTS
In this work, we show that in the standard approach of iteration through all triangles of SymBets, the memory scales with at least the number of these triangles, O(g(3)) (where g = number of genomes), and construction time scales with the iteration through each pair, i.e. O(g(6)). We propose the EdgeSearch algorithm that iterates over edges in the SymBet graph rather than triangles of SymBets, and as a result has a worst-case complexity of only O(g(3)log g). Several optimizations reduce the run-time even further in realistically sparse graphs. In two real-world datasets of genomes from bacteriophages (POGs) and Mollicutes (MOGs), an implementation of the EdgeSearch algorithm runs about an order of magnitude faster than the original algorithm and scales much better with increasing number of genomes, with only minor differences in the final results, and up to 60 times faster than the popular OrthoMCL program with a 90% overlap between the identified groups of orthologs.


METHODS
C++ source code freely available for download at ftp.ncbi.nih.gov/pub/wolf/COGs/COGsoft/.


BACKGROUND
Supplementary materials are available at Bioinformatics online.
Kristensen
David M
DM
Department of Binformatics, Stowers Institute for Medical Research, Kansas City, MO 64110, USA. dmk@stowers.org
Kannan
Lavanya
L
Coleman
Michael K
MK
Wolf
Yuri I
YI
Sorokin
Alexander
A
Koonin
Eugene V
EV
Mushegian
Arcady
A
D000465:Algorithms; D016000:Cluster Analysis; D016678:Genome; D023281:Genomics / Q000379:methods*