Background: Many supertree estimation and multi-locus species tree estimation methods compute trees by combining trees on subsets of the species set based on some NP-hard optimization criterion. A recent approach to computing large trees has been to constrain the search space by defining a set of "allowed bipartitions", and then use dynamic programming to find provably optimal solutions in polynomial time. Several phylogenomic estimation methods, such as ASTRAL, the MDC algorithm in PhyloNet, FastRFS, and ALE, use this approach. Results: We present SIESTA, a method that can be combined with these dynamic programming algorithms to return a data structure that compactly represents all the optimal trees in the search space. As a result, SIESTA provides multiple capabilities, including: (1) counting the number of optimal trees, (2) calculating consensus trees, (3) generating a random optimal tree, and (4) annotating branches in a given optimal tree by the proportion of optimal trees it appears in. Conclusions: SIESTA improves the accuracy of FastRFS and ASTRAL, and is a general technique for enhancing dynamic programming methods for constrained optimization.

Original languageEnglish (US)
Article number252
JournalBMC genomics
StatePublished - May 8 2018


  • Dynamic programming
  • NP-hard problems
  • Phylogenomics
  • Species trees
  • Supertree methods

ASJC Scopus subject areas

  • Biotechnology
  • Genetics


Dive into the research topics of 'SIESTA: Enhancing searches for optimal supertrees and species trees'. Together they form a unique fingerprint.

Cite this