Next: Distance Matrix Methods
Up: Finding the Tree
Previous: Finding the Tree
Constructing the Phylogeny
In this algorithm we will iteratively construct an unrooted phylogeny,
given the matrix M and the character set S*. At each step we use one of the characters in S* to extend the tree T. The set S holds the characters not yet used. Each node in T will be either unlabeled, or labeled with a set
,
representing species.
- Initialization:
- 1.
-
a tree containing a single node r, labeled with the set
.
- 2.
-
.
- Iteration:
- 1.
- Choose any character .
- 2.
- For each labelled node
such that Lv has more than one member:
- (a)
- Define
for i = 0,1.
- (b)
- If
or
,
go on to the next node.
- (c)
- Add two new vertices, v0 and v1 to T, labeling vi with Liv.
- (d)
- Add two edges connecting each vi to v.
- (e)
- Remove the label from v.
- 3.
-
- 4.
- Go back to step 1 while
.
The resulting tree T is an unrooted phylogeny with labeled leaves. Finding the labeling of the internal nodes is simple and can be done using Fitch's algorithm described in section 9.2.1.
Next: Distance Matrix Methods
Up: Finding the Tree
Previous: Finding the Tree
Itshack Pe`er
1999-02-18