Nothing
## -----------------------------------------------------------------------------
# load the packages
library(tbea)
library(ape)
# create a file with multiple trees in TNT format
writeLines(text=c("tread 'three arbitrary trees in TNT format'",
"(Taxon_A ((Taxon_B Taxon_C)(Taxon_D Taxon_E)))*",
"(Taxon_A (Taxon_B (Taxon_C (Taxon_D Taxon_E))))*",
"(Taxon_A (Taxon_C (Taxon_B (Taxon_D Taxon_E))));",
"proc-;"),
con = "someTrees.tre")
# convert TNT to newick
tnt2newick(file="someTrees.tre", return=TRUE)
# cleanup after the example
file.remove("someTrees.tre")
## -----------------------------------------------------------------------------
# read tree with ape
tree <- read.tree(text="(Acestrorhynchus_falcirostris:0.1296555,
((((Cynodon_gibbus:0.002334399,Cynodon_septenarius:0.00314063)
:0.07580842,((Hydrolycus_scomberoides:0.007028806,Hydrolycus_MUN_16211
:0.009577958):0.0225477,(Hydrolycus_armatus:0.002431794,
Hydrolycus_tatauaia:0.002788708):0.02830852):0.05110053)
:0.02656745,Hydrolycus_wallacei:0.01814363):0.1712442,
Rhaphiodon_vulpinus:0.04557667):0.1936416);")
# get the node IDs according to the mrca of pairs of appropriate
# species root
mrca(tree)["Acestrorhynchus_falcirostris", "Hydrolycus_armatus"]
# Hydrolycus sensu stricto (cf. Hydrolycus)
mrca(tree)["Hydrolycus_scomberoides", "Hydrolycus_armatus"]
# specify calibrations as a data frame
calibs <- data.frame(node=c(10, 15),
age.min=c(43, 40.94),
age.max=c(60, 41.6),
stringsAsFactors=FALSE)
# calibrate the tree with the information in calibs using ape
set.seed(15)
calibrated <- chronos(phy=tree, calibration=calibs)
# plot the calibrated tree
plot(calibrated, label.offset=1.2)
axisPhylo()
# fetch the plotted tree from the graphic environment
plttree <- get("last_plot.phylo", envir=.PlotPhyloEnv)
# process the node heights and reorder as needed
nodes <- cbind(plttree$xx, plttree$yy)
nodes <- nodes[c(10, 15),]
nodes <- cbind(nodes, calibs[, c("age.min", "age.max")])
colnames(nodes) <- c("x", "y", "min", "max")
nodes <- cbind(nodes, rev.min=-(nodes[, c("min")] - max(plttree$xx)))
nodes <- cbind(nodes, rev.max=-(nodes[, c("max")] - max(plttree$xx)))
# plot the original calibrations as error bars
arrows(x0=nodes[, "rev.max"], x1=nodes[, "rev.min"],
y0=nodes[,"y"], y1=nodes[,"y"],
angle=90, length=0.3, lwd=3,
code=3, col="darkblue")
nodelabels()
tiplabels()
# write the tree
write.tree(phy=calibrated)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.