Abstract
AbstractReconciliation algorithms provide an accounting of the evolutionary history of individual gene trees given a species tree. Many reconciliation algorithms consider only duplication and loss events (and sometimes horizontal transfer), ignoring effects of the coalescent process, including incomplete lineage sorting (ILS). Here, we present a new algorithm for carrying out reconciliation that accurately accounts for incomplete lineage sorting by treating ILS as a series of nearest neighbor interchange (NNI) events. For discordant branches of the gene tree identified by last common ancestor (LCA) mapping, our algorithm recursively chooses the optimal history by comparing the cost of duplication and loss to the cost of NNI and loss. We demonstrate the accuracy of our new method, which we callreconcILS, using a new simulation engine (dupcoal) that can accurately generate gene trees produced by the interaction of duplication, ILS, and loss. We show thatreconcILSis much more accurate than models that ignore ILS, and at least as accurate or better than the leading method that can model ILS, duplication, and loss. We discuss how our method can also be extended in the future for use as a reconciliation algorithm in additional scenarios.AvailabilityreconcILSis implemented in Python 3 and is available athttps://github.com/smishra677/reconcILS. The dupcoal simulator is implemented in Python 3 and is available athttps://github.com/meganlsmith/dupcoal
Publisher
Cold Spring Harbor Laboratory