Rev Language Reference


mvFNPR - Fixed Node-height Prune and Regraft (FNPR) move.

Tree topology move that prunes and re-attaches a subtree without changing any node heights.

Usage

mvFNPR(TimeTree tree, RealPos weight, Probability tuneTarget)

Arguments

tree : TimeTree (<stochastic> pass by reference)
The time-tree variable on which this move operates.
weight : RealPos (pass by value)
The weight determines the relative frequency with which this move will be attempted. For details, see the description of the 'moveschedule' parameter on the documentation page for 'mcmc()'.
Default : 1
tuneTarget : Probability (pass by value)
The acceptance probability targeted by auto-tuning.
Default : 0.44

Details

`mvFNPR` randomly picks node i which is neither a tip nor the root, and prunes the subtree originating with this node. It then picks another node j such that j is younger than i but the parent of j is older than i, and re-attaches the pruned subtree onto the branch above j. Because the node height of i is fixed rather than re-adjusted, the FNPR move represents a special case of the fully general time tree version of the subtree prune and regraft (SPR) move. This fully general version is also known as the Wilson-Balding move. `mvFNPR` often exhibits higher acceptance rates than the Wilson-Balding move.

Example

taxa <- v(taxon("A"), taxon("B"), taxon("C"), taxon("D"), taxon("E"), taxon("F"))
height ~ dnUniform(0, 10)
moves = VectorMoves()

# Simulate a simple TimeTree
tree ~ dnBDP(lambda=1.0, mu=0.2, rootAge=height, taxa=taxa)

# Assign it a mvFNPR move
moves.append( mvFNPR(tree, weight=taxa.size()) )

See Also