dnNucleotideRateMatrixMixture - Distribution on reversible and non-reversible nucleotide rate matrices
| alpha : | RealPos[] (pass by const reference) |
| The alpha shape parameter. | |
| fixedModel : | String (pass by value) |
| Confine the chain to one model: "free" (the default) lets the reversible jump operate, while "reversible" or "nonreversible" starts the chain in that model and suppresses the jump moves entirely. Use this to measure the two models separately. | |
| Default : free | |
| lnPriorOdds : | Real (pass by value) |
| The prior odds on the model indicator, as log(rho_R/rho_N), where rho_R and rho_N are the prior probabilities of the time-reversible and non-reversible models. The default of zero gives the two models equal prior probability. A positive value favours the time-reversible model. The odds are held fixed unless the move is given tuneModelPrior=TRUE, in which case they are adapted during burn-in and then frozen. | |
| Default : 0 |
# Create a rate matrix with equal prior probabilities for the models.
Q ~ dnNucleotideRateMatrixMixture(alpha=v(1,1,1,1), lnPriorOdds=0.0)
moves = VectorMoves()
moves.append(mvMPQRateMatrix(Q, tune=FALSE, tuneModelPrior=FALSE))
# Define quantities that can be monitored during MCMC.
reversible := ifelse(Q.isReversible(), 1.0, 0.0)
frequencies := Q.getPi()
log_prior_odds := Q.lnPriorOdds()
# Alternatively, restrict a separate matrix to one model.
Q_NR ~ dnNucleotideRateMatrixMixture(alpha=v(1,1,1,1), fixedModel="nonreversible")