Department of Computer Science, Durham University, Durham DH1 3LE, United Kingdom.
Evol Bioinform Online. 2007 May 30;3:86-98.
Hybridization is an important evolutionary process for many groups of species. Thus, conflicting signals in a data set may not be the result of sampling or modeling errors, but due to the fact that hybridization has played a significant role in the evolutionary history of the species under consideration. Assuming that the initial set of gene trees is correct, a basic problem for biologists is to compute this minimum number of hybridization events to explain this set. In this paper, we describe a new reduction-based algorithm for computing the minimum number, when the initial data set consists of two trees. Although the two-tree problem is NP-hard, our algorithm always gives the exact solution and runs efficiently on many real biological problems. Previous algorithms for the two-tree problem either solve a restricted version of the problem or give an answer with no guarantee of the closeness to the exact solution. We illustrate our algorithm on a grass data set. This new algorithm is freely available for application at either http://www.bi.uni-duesseldorf.de/approximately linz or http://www.math.canterbury.ac.nz/approximately cas83.
杂交是许多物种群体的重要进化过程。因此,数据集中的冲突信号可能不是采样或建模错误的结果,而是因为杂交在所考虑物种的进化历史中发挥了重要作用。假设初始基因树集是正确的,那么生物学家的一个基本问题是计算出解释该集合所需的最少杂交事件数。在本文中,我们描述了一种新的基于约简的算法,用于计算当初始数据集由两棵树组成时的最小数量。尽管两棵树问题是 NP 难的,但我们的算法总是给出精确的解,并在许多实际的生物学问题上高效运行。以前用于两棵树问题的算法要么解决问题的受限版本,要么给出没有保证接近精确解的答案。我们在一个草数据集上演示了我们的算法。这个新算法可以在 http://www.bi.uni-duesseldorf.de/approximately linz 或 http://www.math.canterbury.ac.nz/approximately cas83 上免费应用。