Learn R Programming

phangorn (version 1.7-4)

parsimony: Parsimony tree.

Description

parsimony returns the parsimony score of a tree using either the sankoff or the fitch algorithm. optim.parsimony tries to find the maximum parsimony tree using either Nearest Neighbor Interchange (NNI) rearrangements or sub tree pruning and regrafting (SPR). pratchet implements the parsimony ratchet (Nixon, 1999) and is the prefered way to search for the best tree. random.addition can be used to produce starting trees. CI and RI computes the consistency and retention index.

Usage

parsimony(tree, data, method="fitch", ...)
optim.parsimony(tree, data, method="fitch", cost=NULL, trace=1, rearrangements="NNI", ...)
pratchet(data, start=NULL, method="fitch", maxit=1000, k=10, trace=1, all=FALSE, rearrangements="NNI", ...)
fitch(tree, data, site = "pscore")
sankoff(tree, data, cost = NULL, site = "pscore")
random.addition(data, method="fitch")
CI(tree, data)
RI(tree, data)
acctran(tree, data)

Arguments

data
A object of class phyDat containing sequences.
tree
tree to start the nni search from.
method
one of 'fitch' or 'sankoff'.
cost
A cost matrix for the transitions between two states.
site
return either 'pscore' or 'site' wise parsimony scores.
trace
defines how much information is printed during optimisation.
rearrangements
SPR or NNI rearrangements.
start
a starting tree can be supplied.
maxit
maximum number of iterations in the ratchet.
k
number of rounds ratchet is stopped, when there is no improvement.
all
return all equally good trees or just one of them.
...
Further arguments passed to or from other methods (e.g. model="sankoff" and cost matrix).

Value

  • parsimony returns the maximum parsimony score (pscore). optim.parsimony returns a tree after NNI rearrangements. pratchet returns a tree or list of trees containing the best tree(s) found during the search. acctran returns a tree with edge length according to the ACCTRAN criterion.

Details

The "SPR" is so far only available for the "fitch" method and may not be as extensive as other implementations.

References

Felsenstein, J. (2004). Inferring Phylogenies. Sinauer Associates, Sunderland. Nixon, K. (1999) The Parsimony Ratchet, a New Method for Rapid Rarsimony Analysis. Cladistics 15, 407-414

See Also

bab, ancestral.pml, nni, NJ, pml, getClans ,ancestral.pars, bootstrap.pml

Examples

Run this code
data(Laurasiatherian)
dm = dist.logDet(Laurasiatherian)
tree = NJ(dm)
parsimony(tree, Laurasiatherian)
treeRA <- random.addition(Laurasiatherian)
treeNNI <- optim.parsimony(tree, Laurasiatherian)
treeRatchet <- pratchet(Laurasiatherian, start=tree)
# assign edge length
treeRatchet <- acctran(treeRatchet, Laurasiatherian)

plot(midpoint(treeRatchet))
add.scale.bar(0,0, length=100)

parsimony(c(tree,treeNNI, treeRatchet), Laurasiatherian)

Run the code above in your browser using DataLab