Run standard search algorithms (NNI, SPR or TBR) to search for a more parsimonious tree.
IWTreeSearch(tree, dataset, concavity = 4, EdgeSwapper = RootedTBR,
maxIter = 100, maxHits = 20, forestSize = 1, verbosity = 1, ...)EdgeListSearch(edgeList, dataset, TreeScorer = MorphyLength,
EdgeSwapper = RootedTBRSwap, maxIter = 100, maxHits = 20,
bestScore = NULL, stopAtScore = NULL, stopAtPeak = FALSE,
stopAtPlateau = 0L, forestSize = 1L, cluster = NULL,
verbosity = 1L, ...)
TreeSearch(tree, dataset, InitializeData = PhyDat2Morphy,
CleanUpData = UnloadMorphy, TreeScorer = MorphyLength,
EdgeSwapper = RootedTBRSwap, maxIter = 100L, maxHits = 20L,
forestSize = 1L, stopAtPeak = FALSE, stopAtPlateau = 0L,
verbosity = 1L, ...)
ProfileTreeSearch(tree, dataset, EdgeSwapper = RootedTBR,
maxIter = 100, maxHits = 20, forestSize = 1, verbosity = 1,
precision = 40000, ...)
a fully-resolved starting tree in phylo
format, with the desired outgroup; edge lengths are not supported and will be deleted;
Data in format required by InitializeData
.
A numeric value to use as the concavity constant (`k`) in implied weighting.
a function that rearranges a parent and child vector,
and returns a list with modified vectors; for example
SPRSwap
.
the maximum number of iterations to perform before abandoning the search.
the maximum times to hit the best pscore before abandoning the search.
the maximum number of trees to return - useful in concert with consensus
.
Level of detail to display in console: larger numbers provide more verbose feedback to the user.
further arguments to pass to TreeScorer
function
(e.g. TipsAreColumns
, dataset
)
a list containing the following: - vector of integers corresponding to the parent of each edge in turn - vector of integers corresponding to the child of each edge in turn - (optionally) score of the tree - (optionally, if score provided) number of times this score has been hit
function to score a given tree. The function will be passed three parameters, corresponding to the `parent` and `child` entries of a tree's edge list, and a dataset.
Logical specifying whether to terminate search once a subsequent
iteration recovers a sub-optimal score. Useful with methods that
return all trees one rearrangement from the current tree, such
as AllTBR
. Will be overridden if a passed function
has an attribute `stopAtPeak` set by
`attr(FunctionName, 'stopAtPeak') <- TRUE`.
Integer. If > 0, tree search will terminate if the score
has not improved after `stopAtPlateau` iterations.
Useful with methods that return all trees one
rearrangement from the current tree, such as
AllTBR
.
Will be overridden if a passed function has an attribute
`stopAtPlateau` set by `attr(FunctionName,
'stopAtPlateau') <- TRUE`.
Function that sets up data object to prepare for tree search. The function will be passed the dataset parameter. Its return value will be passed to TreeScorer and CleanUpData.
Function to destroy data object on function exit. The function will be passed the value returned by InitializeData.
A phylogenetic data matrix of class phyDat
, whose names
correspond to the labels of any accompanying tree.
This function returns a tree, with an attribute pscore
conveying its parsimony score.
Note that the parsimony score will be inherited from the tree's attributes, which is only valid if it
was generated using the same data
that is passed here.
IWTreeSearch
: Search using profile parsimony
EdgeListSearch
: Tree Search from Edge lists
ProfileTreeSearch
: Search using profile parsimony
# NOT RUN {
data('Lobo')
njtree <- NJTree(Lobo.phy)
# }
# NOT RUN {
TreeSearch(njtree, Lobo.phy, maxIter=20, EdgeSwapper=NNISwap)
TreeSearch(njtree, Lobo.phy, maxIter=20, EdgeSwapper=RootedSPRSwap)
TreeSearch(njtree, Lobo.phy, maxIter=20, EdgeSwapper=TBRSwap)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab