example(NJ)
# Jukes-Cantor (starting tree from NJ)
fitJC <- pml(tree, Laurasiatherian)
# optimize edge length parameter
fitJC <- optim.pml(fitJC)
fitJC
# search for a better tree using NNI rearrangements
fitJC <- optim.pml(fitJC, optNni=TRUE)
fitJC
plot(fitJC$tree)
# JC + Gamma + I - model
fitJC_GI <- update(fitJC, k=4, inv=.2)
# optimize shape parameter + proportion of invariant sites
fitJC_GI <- optim.pml(fitJC_GI, optGamma=TRUE, optInv=TRUE)
# GTR + Gamma + I - model
fitGTR <- optim.pml(fitJC_GI, optNni=TRUE, optGamma=TRUE, optInv=TRUE, optBf=TRUE, optQ=TRUE)
# 2-state data (RY-coded)
dat <- as.character(Laurasiatherian)
# RY-coding
dat[dat=="a"] <- "r"
dat[dat=="g"] <- "r"
dat[dat=="c"] <- "y"
dat[dat=="t"] <- "y"
dat <- phyDat(dat, type="USER", levels=c("r","y"))
fit2ST <- pml(tree, dat, k=4, inv=.25)
fit2ST <- optim.pml(fit2ST,optNni=TRUE, optGamma=TRUE, optInv=TRUE)
fit2ST
# show some of the methods available for class pml
methods(class="pml")
Run the code above in your browser using DataLab