##' @rdname reroot-methods ##' @exportMethod reroot setMethod("reroot", signature(object="beast"), function(object, node, ...) { object@phylo <- reroot(object@phylo, node, ...) node_map <- attr(object@phylo, "node_map") idx <- match(object@stats$node, node_map[,1]) object@stats$node <- node_map[idx, 2] return(object) }) ## ##' @rdname reroot-methods ## ##' @exportMethod reroot ## setMethod("reroot", signature(object="raxml"), ## function(object, node, ...) { ## object@phylo <- reroot(object@phylo, node, ...) ## node_map <- attr(object@phylo, "node_map") ## idx <- match(object@bootstrap$node, node_map[,1]) ## object@bootstrap$node <- node_map[idx, 2] ## return(object) ## }) ##' reroot a tree ##' ##' ##' @rdname reroot-methods ##' @exportMethod reroot setMethod("reroot", signature(object="phylo"), function(object, node, ...) { pos <- 0.5* object$edge.length[which(object$edge[,2] == node)] ## @importFrom phytools reroot phytools <- "phytools" require(phytools, character.only = TRUE) phytools_reroot <- eval(parse(text="phytools::reroot")) tree <- phytools_reroot(object, node, pos) attr(tree, "reroot") <- TRUE node_map <- reroot_node_mapping(object, tree) attr(tree, "node_map") <- node_map return(tree) })