## ##' parse output from r8s ## ##' ## ##' ## ##' @title read.r8s ## ##' @param file r8s output log file ## ##' @return r8s instance ## ##' @export ## ##' @author Guangchuang Yu ## read.r8s <- function(file) { ## r8s <- readLines(file) ## label_idx <- grep("\\[\\w+\\sDESCRIPTION\\sof\\stree\\s.*\\]", r8s) ## tree_idx <- grep("^tree\\s.*\\s=\\s", r8s) ## if (length(label_idx) != length(tree_idx)) { ## stop("fail to parse the file...") ## } ## tree_text <- gsub("^tree\\s.*\\s=\\s", "", r8s[tree_idx]) ## trees <- read.tree(text=tree_text) ## label <- gsub("^\\[(\\w+)\\s.*", "\\1", r8s[label_idx]) ## names(trees) <- label ## new("r8s", ## file = filename(file), ## fields = label, ## phylo = trees) ## } ## ##' @rdname groupClade-methods ## ##' @exportMethod groupClade ## ##' @param tree which tree selected ## setMethod("groupClade", signature(object="r8s"), ## function(object, node, group_name="group", tree="TREE") { ## groupClade_(get.tree(object)[[tree]], node, group_name) ## }) ## ##' @rdname scale_color-methods ## ##' @exportMethod scale_color ## ##' @param tree which tree selected ## setMethod("scale_color", signature(object="r8s"), ## function(object, by="bootstrap", tree="TREE") { ## scale_color_(get.tree(object)[[tree]], by) ## }) ## ##' @rdname gzoom-methods ## ##' @exportMethod gzoom ## ##' @param tree which tree selected ## setMethod("gzoom", signature(object="r8s"), ## function(object, focus, subtree=FALSE, widths=c(.3, .7), tree="TREE") { ## gzoom.phylo(get.tree(object)[[tree]], focus, subtree, widths) ## }) ## ##' @rdname get.tree-methods ## ##' @exportMethod get.tree ## setMethod("get.tree", signature(object="r8s"), ## function(object,...) { ## object@phylo ## } ## ) ## ##' @rdname get.fields-methods ## ##' @exportMethod get.fields ## setMethod("get.fields", signature(object="r8s"), ## function(object, ...) { ## get.fields.tree(object) ## } ## )