341b0ee8 |
##' 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",
|
341b0ee8 |
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)
}
)
|