##' read mlc file of codeml output ##' ##' ##' @title read.codeml_mlc ##' @param mlcfile mlc file ##' @return A \code{codeml_mlc} object ##' @export ##' @author ygc ##' @examples ##' mlcfile <- system.file("extdata/PAML_Codeml", "mlc", package="ggtree") ##' read.codeml_mlc(mlcfile) read.codeml_mlc <- function(mlcfile) { ## tip_seq <- read.tip_seq_mlc(mlcfile) dNdS <- read.dnds_mlc(mlcfile) new("codeml_mlc", fields = colnames(dNdS)[-c(1,2)], treetext = read.treetext_paml_mlc(mlcfile), phylo = read.phylo_paml_mlc(mlcfile), dNdS = dNdS, ## seq_type = get_seqtype(tip_seq), ## tip_seq = tip_seq, mlcfile = filename(mlcfile)) } ##' @rdname gzoom-methods ##' @exportMethod gzoom setMethod("gzoom", signature(object="codeml_mlc"), function(object, focus, subtree=FALSE, widths=c(.3, .7)) { gzoom.phylo(get.tree(object), focus, subtree, widths) }) ##' @rdname groupClade-methods ##' @exportMethod groupClade setMethod("groupClade", signature(object="codeml_mlc"), function(object, node, group_name="group") { groupClade_(object, node, group_name) } ) ##' @rdname scale_color-methods ##' @exportMethod scale_color setMethod("scale_color", signature(object="codeml_mlc"), function(object, by, ...) { scale_color_(object, by, ...) }) ##' @rdname get.fields-methods ##' @exportMethod get.fields setMethod("get.fields", signature(object = "codeml_mlc"), function(object) { get.fields.tree(object) }) plot.codeml_mlc_<- function(p, position, annotation=NULL, annotation.size, annotation.color){ if (!is.null(annotation) && !is.na(annotation)) { p <- p + geom_text(aes_string(x=position, label = annotation), size=annotation.size, vjust=-.5, color = annotation.color) } p + theme_tree2() } ##' @rdname get.tree-methods ##' @exportMethod get.tree setMethod("get.tree", signature(object = "codeml_mlc"), function(object, ...) { object@phylo } )