Constructing Phylogenetic Networks via Cherry Picking and Machine Learning

Giulia Bernardini, Leo van Iersel, Esther Julien, Leen Stougie
3/31/2023
q-bio.PEcs.LG

No official code found. Best implementation: estherjulien/learn2cherrypick (0 stars, last commit 2024-06-19).

Abstract

Combining a set of phylogenetic trees into a single phylogenetic network that explains all of them is a fundamental challenge in evolutionary studies. Existing methods are computationally expensive and can either handle only small numbers of phylogenetic trees or are limited to severely restricted classes of networks. In this paper, we apply the recently-introduced theoretical framework of cherry picking to design a class of efficient heuristics that are guaranteed to produce a network containing each of the input trees, for datasets consisting of binary trees. Some of the heuristics in this framework are based on the design and training of a machine learning model that captures essential information on the structure of the input trees and guides the algorithms towards better solutions. We also propose simple and fast randomised heuristics that prove to be very effective when run multiple times. Unlike the existing exact methods, our heuristics are applicable to datasets of practical size, and the experimental study we conducted on both simulated and real data shows that these solutions are qualitatively good, always within some small constant factor from the optimum. Moreover, our machine-learned heuristics are one of the first applications of machine learning to phylogenetics and show its promise.

View on arXivView PDF

Code Implementations(1)

01PythonMar 23, 20232 years ago

Similar Papers

Cite this paper

@article{bernardini2023constructing,
  title  = {Constructing Phylogenetic Networks via Cherry Picking and Machine Learning},
  author = {Giulia Bernardini and Leo van Iersel and Esther Julien and Leen Stougie},
  year   = {2023},
  eprint = {2304.02729},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2304.02729v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2304.02729.svg)](https://codeofpaper.com/paper/2304.02729)

Discussion