R/BPtree_from_MSA.R

Defines functions msaBP_nj_tree

Documented in msaBP_nj_tree

#' Generate NJ BP tree from MSA
#'
#' @param msa multiple sequence alignment of class AAbin or DNAbin
#' @return tree of class phylo
#' @import phangorn
#' @import ape
#' @export


msaBP_nj_tree <- function(msa, outgroup){

  base.msa.bp <- msaBP(msa)
  # convert to class phyDAT
  base.msa.ml <- as.phyDat(as.character(base.msa.bp))
  # find ML distance as input to nj tree search
  ml.dist.msa <- dist.ml(base.msa.ml)
  # NJ
  tr <- ape::nj(ml.dist.msa)
  # root
  if(outgroup == "auto")
    outgroup <- tr$tip.label[1]
  tr <- root(tr, outgroup = outgroup)
  # resolve polytomies
  tr <- multi2di(tr)
  ## Rescale branch lengths
  tr <- compute.brlen(tr)

  return(tr)
}
heibl/rpg documentation built on May 17, 2019, 3:23 p.m.