phylocomr is an R
client for Phylocom - a C library for Analysis of Phylogenetic Community
Structure and Character Evolution.
Phylocom home page is at https://phylodiversity.net/phylocom/. The source code for Phylocom is at https://github.com/phylocom/phylocom/.
Phylocom is usually used either on the command line or through the R
package picante, which has duplicated some of the Phylocom
functionality.
Phylocom has been cited nearly 1000 times according to Google
Scholar, so is clearly a very widely used piece of software. The goal
with this package is to make it even easier to use - and in particular,
to incorporate its use into a reproducible workflow entirely in R
instead of going to the shell/command line for Phylocom usage. (Yes,
some of Phylocom functionality is in picante, but not
all.)
In terms of performance, some functionality will be faster here than
in picante, but the maintainers of picante
have re-written some Phylocom functionality in C/C++, so performance
should be similar in those cases.
Install ape for below examples:
Stable phylocomr version from CRAN
Or, the development version from Github
traits_file <- system.file("examples/traits_aot", package = "phylocomr")
phylo_file <- system.file("examples/phylo_aot", package = "phylocomr")
traitsdf_file <- system.file("examples/traits_aot_df", package = "phylocomr")
traits <- read.table(text = readLines(traitsdf_file), header = TRUE,
  stringsAsFactors = FALSE)
phylo_str <- readLines(phylo_file)
ph_aot(traits = traits, phylo = phylo_str)ages_file <- system.file("examples/ages", package = "phylocomr")
phylo_file <- system.file("examples/phylo_bladj", package = "phylocomr")
ages_df <- data.frame(
  a = c('malpighiales','salicaceae','fabaceae','rosales','oleaceae',
        'gentianales','apocynaceae','rubiaceae'),
  b = c(81,20,56,76,47,71,18,56)
)
phylo_str <- readLines(phylo_file)
res <- ph_bladj(ages = ages_df, phylo = phylo_str)
if (requireNamespace("ape")) {
  library(ape)
  plot(read.tree(text = res))
}