phyclust.se.update {phyclust} | R Documentation |
Update phyclust Results by the Sequencing Error Model
Description
Since phyclust.se
is difficult to optimize on a constrained high
dimension parameter space, the phyclust
is relatively easier to
find a better result, as well as the find.best
function.
This function will use the phyclust
result as initial parameters and
perform a sequencing error model. All parameters (Eta, Mu, Q, ...) in this
function will be updated through the EM algorithm as phyclust.se
.
Typically, this function run on the find.best
results will yield
a better result than on the phyclust.se
.
Usage
phyclust.se.update(X, EMC = .EMC, ret.phyclust = NULL,
K = NULL, Eta = NULL, Mu = NULL, pi = NULL, kappa = NULL,
Tt = NULL, byrow = TRUE)
Arguments
X |
nid/sid matrix with |
EMC |
EM control. |
ret.phyclust |
an object with the class |
K |
number of clusters. |
Eta |
proportion of subpopulations, |
Mu |
centers of subpopulations, dim = |
pi |
equilibrium probabilities, each row sums to 1. |
kappa |
transition and transversion bias. |
Tt |
total evolution time, |
byrow |
advanced option for |
Details
All the input arguments are the same as the inputs of the function
phyclust.em.step
and phyclust.update
.
Value
This function returns an object with class phyclust
.
Author(s)
Wei-Chen Chen wccsnow@gmail.com
References
Phylogenetic Clustering Website: https://snoweye.github.io/phyclust/
See Also
phyclust.se
,
phyclust.update
,
phyclust
,
find.best
.
Examples
## Not run:
library(phyclust, quiet = TRUE)
set.seed(1234)
X <- seq.data.toy$org
(ret.1 <- find.best(X, 4))
(ret.2 <- phyclust.se.update(X, ret.phyclust = ret.1))
.EMC$se.constant <- 1e-3
(ret.3 <- phyclust.se.update(X, ret.phyclust = ret.2))
### Search optimal error
func <- function(C){
.EMC$se.constant <<- C
-phyclust.se.update(X, ret.phyclust = ret.1)$logL
}
(ret.opt <- optimize(f = func, lower = 1e-3, upper = 1e-1))
.EMC$se.constant <- ret.opt$minimum
(ret.se.opt <- phyclust.se.update(X, ret.phyclust = ret.1))
## End(Not run)