Description Usage Arguments Details Value Note Author(s) References See Also Examples
View source: R/calc_loglike_sp_v01.R
Take input probabilities, and get the probabilities at the end of a branch using matrix exponentiation.
1 2 | calc_prob_forward_onebranch_dense(relprobs_branch_bottom,
branch_length, Qmat)
|
relprobs_branch_bottom |
The relative probability of each state at the base of the branch (should sum to 1). |
branch_length |
The length of the branch. |
Qmat |
A Q transition matrix in square (dense) format |
The calc_loglike_sp
function calculates
most transition probabilities internally via
rexpokit
. These are then stored
and can be used again when an uppass is being done for
ancestral state estimates. However, if there is a root
branch below the lowest fork, the uppass needs to
calculate the forward probabilities.
actual_probs_after_forward_exponentiation
The
probabilities of each state at the top of the branch.
Go BEARS!
Nicholas J. Matzke matzke@berkeley.edu
http://phylo.wikidot.com/matzke-2013-international-biogeography-society-poster http://www.bioinf.org/molsys/data/idiots.pdf
Matzke_2012_IBS
FosterIdiots
expokit_dgpadm_Qmat2
,
expokit_dgpadm_Qmat
,
rexpokit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Make a square instantaneous rate matrix (Q matrix)
# This matrix is taken from Peter Foster's (2001) "The Idiot's Guide
# to the Zen of Likelihood in a Nutshell in Seven Days for Dummies,
# Unleashed" at:
# \url{http://www.bioinf.org/molsys/data/idiots.pdf}
#
# The Q matrix includes the stationary base freqencies, which Pmat
# converges to as t becomes large.
Qmat = matrix(c(-1.218, 0.504, 0.336, 0.378, 0.126, -0.882, 0.252, 0.504, 0.168,
0.504, -1.05, 0.378, 0.126, 0.672, 0.252, -1.05), nrow=4, byrow=TRUE)
relprobs_branch_bottom = c(0.25, 0.25, 0.25, 0.25)
# Make a series of t values
branch_length = 0.1
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length, Qmat)
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length=0.5, Qmat)
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length=1, Qmat)
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length=2, Qmat)
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length=10, Qmat)
calc_prob_forward_onebranch_dense(relprobs_branch_bottom, branch_length=20, Qmat)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.