Clusterflock: A flocking algorithm for isolating congruent phylogenomic datasets

Apurva Narechania, Richard Baker, Rob DeSalle, Barun Mathema, Sergios Orestis Kolokotronis, Barry Kreiswirth, Paul J. Planet

Research output: Contribution to journalArticle

5 Scopus citations


Background: Collective animal behavior, such as the flocking of birds or the shoaling of fish, has inspired a class of algorithms designed to optimize distance-based clusters in various applications, including document analysis and DNA microarrays. In a flocking model, individual agents respond only to their immediate environment and move according to a few simple rules. After several iterations the agents self-organize, and clusters emerge without the need for partitional seeds. In addition to its unsupervised nature, flocking offers several computational advantages, including the potential to reduce the number of required comparisons. Findings: In the tool presented here, Clusterflock, we have implemented a flocking algorithm designed to locate groups (flocks) of orthologous gene families (OGFs) that share an evolutionary history. Pairwise distances that measure phylogenetic incongruence between OGFs guide flock formation. We tested this approach on several simulated datasets by varying the number of underlying topologies, the proportion of missing data, and evolutionary rates, and show that in datasets containing high levels of missing data and rate heterogeneity, Clusterflock outperforms other well-established clustering techniques. We also verified its utility on a known, large-scale recombination event in Staphylococcus aureus. By isolating sets of OGFs with divergent phylogenetic signals, we were able to pinpoint the recombined region without forcing a pre-determined number of groupings or defining a pre-determined incongruence threshold. Conclusions: Clusterflock is an open-source tool that can be used to discover horizontally transferred genes, recombined areas of chromosomes, and the phylogenetic 'core' of a genome. Although we used it here in an evolutionary context, it is generalizable to any clustering problem. Users can write extensions to calculate any distance metric on the unit interval, and can use these distances to 'flock' any type of data.

Original languageEnglish (US)
Article number01523
Issue number1
StatePublished - Jan 1 2016

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Health Informatics


  • Data mining
  • Flocking algorithm
  • Horizontal gene transfer
  • Recombination
  • Staphylococcus aureus
  • Swarms
  • Unsupervised clustering

Fingerprint Dive into the research topics of 'Clusterflock: A flocking algorithm for isolating congruent phylogenomic datasets'. Together they form a unique fingerprint.

  • Cite this

    Narechania, A., Baker, R., DeSalle, R., Mathema, B., Kolokotronis, S. O., Kreiswirth, B., & Planet, P. J. (2016). Clusterflock: A flocking algorithm for isolating congruent phylogenomic datasets. GigaScience, 5(1), [01523].