From: paradis Date: Mon, 18 Apr 2011 02:51:28 +0000 (+0000) Subject: change file name ChangeLog to NEWS X-Git-Url: https://git.donarmstrong.com/?p=ape.git;a=commitdiff_plain;h=57296547225ce8a75813a996722c081da7837a88 change file name ChangeLog to NEWS git-svn-id: https://svn.mpl.ird.fr/ape/dev/ape@157 6e262413-ae40-0410-9e79-b911bd7a66b7 --- diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index c702b68..0000000 --- a/ChangeLog +++ /dev/null @@ -1,2380 +0,0 @@ - CHANGES IN APE VERSION 2.7-2 - - -NEW FEATURES - - o plot.phylo() has a new option 'draw = TRUE'. If FALSE, the tree - is not plotted but the graphical device is set and the - coordinates are saved as normal. - - - - CHANGES IN APE VERSION 2.7-1 - - -NEW FEATURES - - o The new function trex does tree exploration with multiple - graphical devices. - - o The new function kronoviz plots several rooted (dated) trees on - the scale scale. - - o identify.phylo() has a new option 'quiet' (FALSE by default). - - -BUG FIXES - - o A bug was introduced in read.nexus() in ape 2.7. - - o image.DNAbin() did not colour correctly the bases if there were - some '-' and no 'N'. - - o .compressTipLabel() failed with a list with a single tree. - - o identify.phylo() returned a wrong answer when the x- and y-scales - are very different. - - o write.nexus() failed with lists of trees with compressed labels. - - -OTHER CHANGES - - o identify.phylo() now returns NULL if the user right-(instead of - left-)clicks (an error was returned previously). - - o read.nexus() should be robust to commands inserted in the TREES - block. - - - - CHANGES IN APE VERSION 2.7 - - -NEW FEATURES - - o There is a new image() method for "DNAbin" objects: it plots DNA - alignments in a flexible and efficient way. - - o Two new functions as.network.phylo and as.igraph.phylo convert - trees of class "phylo" into these respective network classes - defined in the packages of the same names. - - o The three new functions clustal, muscle, and tcoffee perform - nucleotide sequence alignment by calling the external programs - of the same names. - - o Four new functions, diversity.contrast.test, mcconwaysims.test, - richness.yule.test, and slowinskiguyer.test, implement various - tests of diversification shifts using sister-clade comparisons. - - o base.freq() gains an option 'all' to count all the possible bases - including the ambiguous ones (defaults to FALSE). - - o read.nexus() now writes tree names in the NEXUS file if given a - list of trees with names. - - -BUG FIXES - - o prop.part() failed in some situations with unrooted trees. - - o read.nexus() shuffled node labels when a TRANSLATE block was - present. - - o varCompPhylip() did not work if 'exec' was specified. - - o bind.tree() shuffled node labels when position > 0 and 'where' - was not the root. - - -OTHER CHANGES - - o BaseProportion in src/dist_dna.c has been modified. - - o A number of functions in src/tree_build.c have been modified. - - o The matching representation has now only two columns as the third - column was redundant. - - - - CHANGES IN APE VERSION 2.6-3 - - -NEW FEATURES - - o rTraitCont() and rTraitDisc() gains a '...' argument used with - user-defined models (suggestion by Gene Hunt). - - -BUG FIXES - - o as.hclust.phylo() now returns an error with unrooted trees. - - o as.hclust.phylo() failed with trees with node labels (thanks to - Jinlong Zhang for pointing this bug out). - - o read.dna(, "fasta") failed if sequences were not all of the same - length. - - o plot.phylo() did not recycle values of 'font', 'cex' and - 'tip.color' correctly when type = "fan" or "radial". - - o plot.phylo() ignored 'label.offset' when type = "radial", "fan", or - "unrooted" with lab4ut = "axial" (the placement of tip labels still - needs to be improved with lab4ut = "horizontal"). - - -OTHER CHANGES - - o In drop.fossil() the default tol = 0 has been raised to 1e-8. - - o The help command ?phylo now points to the man page of read.tree() - where this class is described. Similarly, ?matching points to the - man page of as.matching(). - - - - CHANGES IN APE VERSION 2.6-2 - - -NEW FEATURES - - o Two new functions, pic.ortho and varCompPhylip, implements the - orthonormal contrasts of Felsenstein (2008, Am Nat, 171:713). The - second function requires Phylip to be installed on the computer. - - o bd.ext() has a new option conditional = TRUE to use probabilities - conditioned on no extinction for the taxonomic data. - - -BUG FIXES - - o write.tree() failed to output correctly tree names. - - o dist.nodes() returned duplicated column(s) with unrooted and/or - multichotomous trees. - - o mcmc.popsize() terminated unexpectedly if the progress bar was - turned off. - - o prop.part(x) made R frozen if 'x' is of class "multiPhylo". - - o Compilation under Mandriva failed (thanks to Jos Käfer for the fix). - - o drop.tip() shuffled tip labels with subtree = TRUE or trim.internal - = FALSE. - - o Objects returned by as.hclust.phylo() failed when analysed with - cutree() or rect.hclust(). - - o write.tree() did not output correctly node labels (thanks to Naim - Matasci and Jeremy Beaulieu for the fix). - - o ace(type = "discrete") has been improved thanks to Naim Marasci and - Jeremy Beaulieu. - - - - CHANGES IN APE VERSION 2.6-1 - - -NEW FEATURES - - o The new function speciesTree calculates the species tree from a set - of gene trees. Several methods are available including maximum tree - and shallowest divergence tree. - - -BUG FIXES - - o A bug introduced in write.tree() with ape 2.6 has been fixed. - - o as.list.DNAbin() did not work correctly with vectors. - - o as.hclust.phylo() failed with trees with node labels (thanks to - Filipe Vieira for the fix). - - - - CHANGES IN APE VERSION 2.6 - - -NEW FEATURES - - o The new functions rlineage and rbdtree simulate phylogenies under - any user-defined time-dependent speciation-extinction model. They - use continuous time algorithms. - - o The new function drop.fossil removes the extinct species from a - phylogeny. - - o The new function bd.time fits a user-defined time-dependent - birth-death model. It is a generalization of yule.time() taking - extinction into account. - - o The new function MPR does most parsimonious reconstruction of - discrete characters. - - o The new function Ftab computes the contingency table of base - frequencies from a pair of sequences. - - o There is now an 'as.list' method for the class "DNAbin". - - o dist.dna() can compute the number of transitions or transversions - with the option model = "Ts" or model = "Tv", respectively. - - o [node|tip|edge]labels() gain three options with default values to - control the aspect of thermometers: horiz = TRUE, width = NULL, - and height = NULL. - - o compar.gee() has been improved with the new option 'corStruct' as an - alternative to 'phy' to specify the correlation structure, and - calculation of the QIC (Pan 2001, Biometrics). The display of the - results has also been improved. - - o read.GenBank() has a new option 'gene.names' to return the name of - the gene (FALSE by default). - - -BUG FIXES - - o extract.clade() sometimes shuffled the tip labels. - - o plot.phylo(type = "unrooted") did not force asp = 1 (thanks to Klaus - Schliep for the fix) - - o dist.dna(model = "logdet") used to divide distances by 4. The - documentation has been clarified on the formulae used. - - -OTHER CHANGES - - o rTraitCont(model = "OU") has an option 'linear = TRUE' to possibly - change the parameterisation (see ?rTraitCont for details). - - o pic() now returns a vector with the node labels of the tree (if - available) as names. - - o write.tree() and read.tree() have been substantially improved thanks - to contributions by Klaus Schliep. - - - - CHANGES IN APE VERSION 2.5-3 - - -NEW FEATURES - - o The new function mixedFontLabel helps to make labels with bits of - text to be plotted in different fonts. - - o There are now replacement operators for [, [[, and $ for the class - "multiPhylo" (i.e., TREES[11:20] <- rmtree(10, 100)). They possibly - check that the tip labels are the same in all trees. - - o Objects of class "multiPhylo" can be built with c(): there are - methods for the classes "phylo" and "multiPhylo". - - o The internal functions .compressTipLabel and .uncompressTipLabel are - now documented. - - -BUG FIXES - - o bind.tree(x, y, where, position = 0) did not work correctly if 'y' - was a single-edge tree and 'where' was a tip. - - o rTraitCont() did not use the square-root of branch lengths when - simulating a Brownian motion model. - - - - CHANGES IN APE VERSION 2.5-2 - - -NEW FEATURES - - o There is now a print method for results from ace(). - - o There is a labels() method for objects of class "DNAbin". - - o read.dna() has a new option 'as.matrix' to possibly force sequences - in a FASTA file to be stored in a matrix (see ?read.dna for details). - - -BUG FIXES - - o as.phylo.hclust() used to multiply edge lengths by 2. - - o A minor bug was fixed in rTraitDisc(). - - o ace() sometimes failed (parameter value was NaN and the optimisation - failed). - - -DEPRECATED & DEFUNCT - - o evolve.phylo() and plot.ancestral() have been removed. - - o chronogram(), ratogram(), and NPRS.criterion() have been removed. - - -OTHER CHANGES - - o nj() has been improved and is now about 30% faster. - - o The default option 'drop' of [.DNAbin has been changed to FALSE to - avoid dropping rownames when selecting a single sequence. - - o print.DNAbin() has been changed to summary.DNAbin() which has been - removed. - - - - CHANGES IN APE VERSION 2.5-1 - - -NEW FEATURES - - o The new function stree generates trees with regular shapes. - - o It is now possible to bind two trees with x + y (see ?bind.tree for - details). - - o drop.tip(), extract.clade(), root(), and bind.tree() now have an - 'interactive' option to make the operation on a plotted tree. - - o cophyloplot() gains two new arguments 'lwd' and 'lty' for the - association links; they are recycled like 'col' (which wasn't before). - - -BUG FIXES - - o rTraitDisc() did not use its 'freq' argument correctly (it was - multiplied with the rate matrix column-wise instead of row-wise). - - o [node|tip|edge]labels(thermo = ) used to draw empty thermometers - with NA values. Nothing is drawn now like with 'text' or 'pch'. - The same bug occurred with the 'pie' option. - - o A bug was fixed in compar.ou() and the help page was clarified. - - o bind.tree() has been rewritten fixing several bugs and making it - more efficient. - - o plot.phylo(type = "p") sometimes failed to colour correctly the - vertical lines representing the nodes. - - o plot.phylo(direction = "l", x.lim = 30) failed to plot the branches - in the correct direction though the tip labels were displayed - correctly. - - -OTHER CHANGES - - o The c, cbind, and rbind methods for "DNAbin" objetcs now check that - the sequences are correctly stored (in a list for c, in a matrix - for the two other functions). - - - - CHANGES IN APE VERSION 2.5 - - -NEW FEATURES - - o The new function parafit by Pierre Legendre tests for the - coevolution between hosts and parasites. It has a companion - function, pcoa, that does principal coordinate decomposition. - The latter has a biplot method. - - o The new function lmorigin by Pierre Legendre performs multiple - regression through the origin with testing by permutation. - - o The new functions rTraitCont and rTraitDisc simulate continuous and - discrete traits under a wide range of evolutionary models. - - o The new function delta.plot does a delta plot following Holland et - al. (2002, Mol. Biol. Evol. 12:2051). - - o The new function edges draws additional branches between any nodes - and/or tips on a plotted tree. - - o The new function fancyarrows enhances arrows from graphics with - triangle and harpoon heads; it can be called from edges(). - - o add.scale.bar() has a new option 'ask' to draw interactively. - - o The branch length score replaces the geodesic distance in dist.topo. - - o Three new data sets are included: the gopher-lice data (gopher.D), - SO2 air pollution in 41 US cities (lmorigin.ex1, from Sokal & - Rohlf 1995), and some host-parasite specificity data - (lmorigin.ex2, from Legendre & Desdevises 2009). - - -BUG FIXES - - o add.scale.bar() drew the bar outside the plotting region with the - default options with unrooted or radial trees. - - o dist.topo() made R stuck when the trees had different sizes (thanks - to Otto Cordero for the fix). - - -OTHER CHANGES - - o The geodesic distance has been replaced by the branch length score - in dist.topo(). - - - - CHANGES IN APE VERSION 2.4-1 - - -NEW FEATURES - - o rtree() and rcoal() now accept a numeric vector for the 'br' - argument. - - o vcv() is a new generic function with methods for the classes "phylo" - and "corPhyl" so that it is possible to calculate the var-cov matrix - for "transformation models". vcv.phylo() can still be used for trees - of class "phylo"; its argument 'cor' has been renamed 'corr'. - - -BUG FIXES - - o bind.tree() failed when 'y' had no root edge. - - o read.nexus() shuffled tip labels when the trees have no branch - lengths and there is a TRANSLATE block. - - o read.nexus() does not try to translate node labels if there is a - translation table in the NEXUS file. See ?read.nexus for a - clarification on this behaviour. - - o plot.multiPhylo() crashed R when plotting a list of trees with - compressed tip labels. - - o write.nexus() did not translate the taxa names when asked for. - - o plot.phylo(type = "fan") did not rotate the tip labels correctly - when the tree has branch lengths. - - o ace(type = "continuous", method = "ML") now avoids sigma² being - negative (which resulted in an error). - - o nj() crashed with NA/NaN in the distance matrix: an error in now - returned. - - - - CHANGES IN APE VERSION 2.4 - - -NEW FEATURES - - o base.freq() has a new option 'freq' to return the counts; the - default is still to return the proportions. - - -BUG FIXES - - o seg.sites() did not handle ambiguous nucleotides correctly: they - are now ignored. - - o plot(phy, root.edge = TRUE) failed if there was no $root.edge in - the tree: the argument is now ignored. - - o add.scale.bar() failed when 'x' and 'y' were given (thanks to Janet - Young for the fix). - - -OTHER CHANGES - - o Trying to plot a tree with a single tip now returns NULL with a - warning (it returned an error previously). - - o The way lines representing nodes are coloured in phylograms has - been modified (as well as their widths and types) following some - users' request; this is only for dichotomous nodes. - - o The argument 'adj' in [node][tip][edge]labels() now works when - using 'pie' or 'thermo'. - - o A more informative message error is now returned by dist.dna() when - 'model' is badly specified (partial matching of this argument is - done now). - - o Deprecated functions are now listed in a help page: see - help("ape-defunct") with the quotes. - - -DEPRECATED & DEFUNCT - - o The functions heterozygosity, nuc.div, theta.h, theta.k and - theta.s have been moved from ape to pegas. - - o The functions mlphylo, DNAmodel and sh.test have been removed. - - - - CHANGES IN APE VERSION 2.3-3 - - -BUG FIXES - - o add.scale.bar() always drew a horizontal bar. - - o zoom() shuffled tips with unrooted trees. - - o write.nexus() failed to write correctly trees with a "TipLabel" - attribute. - - o rcoal() failed to compute branch lengths with very large n. - - o A small bug was fixed in compar.cheverud() (thanks to Michael - Phelan for the fix). - - o seg.sites() failed when passing a vector. - - o drop.tip() sometimes shuffled tip labels. - - o root() shuffled node labels with 'resolve.root = TRUE'. - - - - CHANGES IN APE VERSION 2.3-2 - - -BUG FIXES - - o all.equal.phylo() did not compare unrooted trees correctly. - - o dist.topo(... method = "PH85") did not treat unrooted trees - correctly (thanks to Tim Wallstrom for the fix). - - o root() sometimes failed to test for the monophyly of the - outgroup correctly. - - o extract.clade() sometimes included too many edges. - - o vcv.phylo() did not work correctly when the tree is in - "pruningwise" order. - - o nj() did not handle correctly distance matrices with many 0's. - The code has also been significantly improved: 7, 70, 160 times - faster with n = 100, 500, 1000, respectively. - - - - CHANGES IN APE VERSION 2.3-1 - - -NEW FEATURES - - o The new function is.monophyletic tests the monophyly of a group. - - o There is now a c() method for lists of class "DNAbin". - - o yule.cov() now fits the null model, and its help page has been - corrected with respect to this change. - - o drop.tip() has a new option 'rooted' to force (or not) a tree - to be treated as (un)rooted. - - -BUG FIXES - - o dist.gene() failed on most occasions with the default - pairwise.deletion = FALSE. - - o read.tree() failed to read correctly the tree name(s). - - o boot.phylo() now treats correctly data frames. - - o del.gaps() did not copy the rownames of a matrix. - - o A small bug was fixed in CDAM.global(). - - o ace() failed with large data sets. Thanks to Rich FitzJohn for - the fix. With other improvements, this function is now about 6 - times faster. - - o write.tree() failed with objects of class "multiPhylo". - - o drop.tip(, subtree = TRUE) sometimes shuffled tip labels. - - -OTHER CHANGES - - o [.multiPhylo and [.DNAbin now respect the original class. - - o Instances of the form class(phy) == "phylo" have been replaced - by inherits(phy, "phylo"). - - o rcoal() is now faster. - - -DEPRECATED & DEFUNCT - - o klastorin() has been removed. - - - - CHANGES IN APE VERSION 2.3 - - -NEW FEATURES - - o The new functions CADM.global and CADM.post, contributed by - Pierre Legendre, test the congruence among several distance - matrices. - - o The new function yule.time fits a user-defined time-dependent - Yule model by maximum likelihood. - - o The new function makeNodeLabel creates and/or modifies node - labels in a flexible way. - - o read.tree() and write.tree() have been modified so that they can - handle individual tree names. - - o plot.phylo() has a new argument 'edge.lty' that specifies the - types of lines used for the edges (plain, dotted, dashed, ...) - - o phymltest() has been updated to work with PhyML 3.0.1. - - -BUG FIXES - - o drop.tip() shuffled tip labels in some cases. - - o drop.tip() did not handle node.label correctly. - - o is.ultrametric() now checks the ordering of the edge matrix. - - o ace() sometimes returned negative values of likelihoods of - ancestral states (thanks to Dan Rabosky for solving this long - lasting bug). - - -OTHER CHANGES - - o The data set xenarthra has been removed. - - - - CHANGES IN APE VERSION 2.2-4 - -BUG FIXES - - o The bug fix in read.nexus() in version 2.2-3 was wrong: this is - now fixed. (Thanks to Peter Wragg for the fix!) - - o A warning message occurred for no reason with ace(method="GLS"). - - -OTHER CHANGES - - o There is now a general help page displayed with '?ape'. - - - - CHANGES IN APE VERSION 2.2-3 - - -NEW FEATURES - - o The new function extract.clade extracts a clade from a tree by - specifying a node number or label. - - o fastme.bal() has two new options 'spr' and 'tbr' to perform tree - operations of the same names. - - o dist.dna() can now return the number of site differences by - specifying model="N". - - -BUG FIXES - - o chronopl() did not work with CV = TRUE. - - o read.nexus() did not work correctly in some situations (trees on - multiple lines with different numbers of lines and/or with - comments inserted within the trees). - - o ltt.plot(), ltt.lines(), and mltt.plot() did not count correctly - the number of lineages with non-binary trees. - - -OTHER CHANGES - - o ape has now a namespace. - - o drop.tip() has been improved: it should be much faster and work - better in some cases (e.g., see the example in ?zoom). - - - - CHANGES IN APE VERSION 2.2-2 - - -NEW FEATURES - - o dist.gene() has been substantially improved and gains an option - 'pairwise.deletion'. - - o cbind.DNAbin() has a new option 'fill.with.gaps' and is now - more flexible. - - -BUG FIXES - - o prop.part() failed with a single tree with the default option - 'check.labels = TRUE'. - - o summary.DNAbin() failed to display correctly the summary of - sequence lengths with lists of sequences of 10,000 bases or more - (because summary.default uses 4 significant digits by default). - - o read.nexus() failed to read a file with a single tree with line - breaks in the Newick string. - - o del.gaps() returned a list of empty sequences when there were no - gaps. - - -OTHER CHANGES - - o phymltest() has been updated for PhyML 3.0 and gains an option - 'append', whereas the option 'path2exec' has been removed. - - o rbind.DNAbin() and cbind.DNAbin() now accept a single matrix - which is returned unchanged (instead of an error). - - o The data sets bird.orders and bird.families are now stored as - Newick strings; i.e., the command data(bird.orders) calls - read.tree(). - - - - CHANGES IN APE VERSION 2.2-1 - - -NEW FEATURES - - o The new function makeLabel() helps to modify labels of trees, - lists of trees, or DNA sequences, with several utilities to - truncate and/or make them unique, substituting some - characters, and so on. - - o The new function del.gaps() removes insertion gaps ("-") in a - set of DNA sequences. - - o read.dna() can now read Clustal files (*.aln). - - -BUG FIXES - - o root() failed with 'resolve.root = TRUE' when the root was - already the specified root. - - o Several bugs were fixed in mlphylo(). - - o collapsed.singles() did not propagate the 'Nnode' and - 'node.labels' elements (thanks to Elizabeth Purdom for the fix). - - o read.nexus() failed to remove correctly the comments within - trees. - - o read.nexus() failed to read a file with a single tree and no - translation of tip labels. - - o read.nexus() failed to place correctly tip labels when reading - a single tree with no edge lengths. - - o A bug was fixed in sh.test(). - - -OTHER CHANGES - - o unique.multiPhylo() is faster thanks to a suggestion by Vladimir - Minin. - - o The option 'check.labels' of consensus() and prop.part() is now - TRUE by default. - - o write.dna() now does not truncate names to 10 characters with - the Phylip formats. - - - - CHANGES IN APE VERSION 2.2 - - -NEW FEATURES - - o Four new functions have been written by Damien de Vienne for the - graphical exploration of large trees (cophyloplot, subtrees, - subtreeplot), and to return the graphical coordinates of tree - (without plotting). - - o The new functions corPagel and corBlomberg implement the Pagel's - "lambda" and Blomberg et al.'s "ACDC" correlation structures. - - o chronopl() has been improved and gains several options: see its - help page for details. - - o boot.phylo() has now an option 'trees' to possibly return the - bootstraped trees (the default is FALSE). - - o prop.part() has been improved and should now be faster in all - situations. - - -BUG FIXES - - o read.dna() failed if "?" occurred in the first 10 sites of the - first sequence. - - o The x/y aspect of the plot is now respected when plotting a - circular tree (type = "r" or "f"). - - o Drawing the tip labels sometimes failed when plotting circular - trees. - - o zoom() failed when tip labels were used instead of their numbers - (thanks to Yan Wong for the fix). - - o drop.tip() failed with some trees (fixed by Yan Wong). - - o seg.sites() failed with a list. - - o consensus() failed in some cases. The function has been improved - as well and is faster. - - - - CHANGES IN APE VERSION 2.1-3 - - -BUG FIXES - - o A bug in read.nexus() made the Windows R-GUI crash. - - o An error was fixed in the computation of ancestral character - states by generalized least squares in ace(). - - o di2multi() did not modify node labels correctly. - - o multi2di() failed if the tree had its attribute "order" set to - "cladewise". - - - - CHANGES IN APE VERSION 2.1-2 - - -NEW FEATURES - - o There three new methods for the "multiPhylo" class: str, $, - and [[. - - o root() gains the options 'node' and 'resolve.root' - (FALSE by default) as well as its code being improved. - - o mltt.plot() has now an option 'log' used in the same way - than in plot.default(). - - -BUG FIXES - - o mltt.plot() failed to display the legend with an unnamed - list of trees. - - o nodelabels() with pies now correcly uses the argument - 'cex' to draw symbols of different sizes (which has - worked already for thermometers). - - o read.nexus() generally failed to read very big files. - - -OTHER CHANGES - - o The argument 'family' of compar.gee() can now be a function - as well as a character string. - - o read.tree() and read.nexus() now return an unnamed list if - 'tree.names = NULL'. - - o read.nexus() now returns a modified object of class "multiPhylo" - when there is a TRANSLATE block in the NEXUS file: the individual - trees have no 'tip.label' vector, but the list has a 'TipLabel' - attribute. The new methods '$' and '[[' set these elements - correctly when extracting trees. - - - - CHANGES IN APE VERSION 2.1-1 - - -NEW FEATURES - - o The new function rmtree generates lists of random trees. - - o rcoal() now generates a genuine coalescent tree by default - (thanks to Vladimir Minin for the code). - - -BUG FIXES - - o nuc.div() returned an incorrect value with the default - pairwise.deletion = FALSE. - - -OTHER CHANGES - - o The internal codes of bionj(), fastme.bal(), and fastme.ols() - have been improved so that they are stabler and faster. - - o R packages used by ape are now loaded silently; lattice and gee - are loaded only when needed. - - - - CHANGES IN APE VERSION 2.1 - - -NEW FEATURES - - o The new function identify.phylo identifies clades on a plotted - tree using the mouse. - - o It is now possible to subset a list of trees (object of class - "multiPhylo") with "[" while keeping its class correct. - - o The new function as.DNAbin.alignment converts DNA sequences - stored in the "alignment" format of the package seqinr into - an object of class "DNAbin". - - o The new function weight.taxo2 helps to build similarity matrices - given two taxonomic levels (usually called by other functions). - - o write.tree() can now take a list of trees (class "multiPhylo") - as its main argument. - - o plot.correlogram() and plot.correlogramList() have been - improved, and gain several options (see the help page for - details). A legend is now plotted by default. - - -BUG FIXES - - o dist.dna() returned some incorrect values with `model = "JC69"' - and `pairwise.deletion = TRUE'. This affected only the - distances involving sequences with missing values. (Thanks - to Bruno Toupance for digging this bug out.) - - o write.tree() failed with some trees: this is fixed by removing - the `multi.line' option (trees are now always printed on a - single line). - - o read.nexus() did not correctly detect trees with multiple root - edges (see OTHER CHANGES). - - -OTHER CHANGES - - o The code of mlphylo() has been almost entirely rewritten, and - should be much stabler. The options have been also greatly - simplified (see ?mlphylo and ?DNAmodel for details). - - o The internal function nTips has been renamed klastorin_nTips. - - o The code of is.ultrametric() contained redundancies and has - been cleaned-up. - - o The code of Moran.I() and of correlogram.formula() have been - improved. - - o read.tree() and read.nexus() now return an error when trying to - read a tree with multiple root edges (see BUG FIXES). The - correction applied in previous version did not work in all - situations. - - o The class c("multi.tree", "phylo") has been renamed - "multiPhylo". - - -DOCUMENTATION - - o There is now a vignette in ape: see vignette("MoranI", "ape"). - - -DEPRECATED & DEFUNCT - - o as.matching() and as.phylo.matching() do not support branch - lengths. - - o correlogram.phylo() and discrete.dist() have been removed. - - - - CHANGES IN APE VERSION 2.0-2 - - -NEW FEATURES - - o The new function matexpo computes the exponential of a square - matrix. - - o The new function unique.multi.tree removes duplicate trees from - a list. - - o yule() has a new option `use.root.edge = FALSE' that specifies - to ignore, by default, the root edge of the tree if it exists. - - -BUG FIXES - - o which.edge() failed when the index of a single terminal edge was - looked for. - - o In diversi.time(), the values returned for model C were - incorrect. - - o A bug was fixed in yule() that affected the calculation of the - likelihood in the presence of ties in the branching times. - - o There was a bug in the C function mat_expo4x4 affecting the - calculations of the transition probabilities for models HKY and - GTR in mlphylo(). - - o A small bug was fixed in as.matrix.DNAbin (thanks to James - Bullard). - - o rtree() did not `shuffle' the tip labels by default, so only a - limited number of labelled topologies could be generated. - - - - CHANGES IN APE VERSION 2.0-1 - - -NEW FEATURES - - o The three new functions bionj, fastme.ols, and fastme.bal - perform phylogeny estimation by the BIONJ and fastME methods in - OLS and balanced versions. This is a port to R of previous - previous programs done by Vincent Lefort. - - o The new function chronoMPL performs molecular dating with the - mean path lengths method of Britton et al. (2002, Mol. Phyl. - Evol. 24: 58). - - o The new function rotate, contributed by Christoph Heibl, swaps - two clades connected to the same node. It works also with - multichotomous nodes. - - o The new `method' as.matrix.DNAbin() may be used to convert - easily DNA sequences stored in a list into a matrix while - keeping the names and the class. - - -BUG FIXES - - o chronopl() failed when some branch lengths were equal to zero: - an error message is now returned. - - o di2multi() failed when there was a series of consecutive edges - to remove. - - - - CHANGES IN APE VERSION 1.10-2 - - -NEW FEATURES - - o plot.phylo() can now plot circular trees: the option is type = - "fan" or type = "f" (to avoid the ambiguity with type = "c"). - - o prop.part() has a new option `check.labels = FALSE' which allows - to considerably speed-up the calculations of bipartitions. As a - consequence, calculations of bootstrap values with boot.phylo() - should be much faster. - - -BUG FIXES - - o read.GenBank() did not return correctly the list of species as - from ape 1.10: this is fixed in this version - - o Applying as.phylo() on a tree of class "phylo" failed: the - object is now returned unchanged. - - - - CHANGES IN APE VERSION 1.10-1 - - -NEW FEATURES - - o The three new functions Ntip, Nnode, and Nedge return, for a - given tree, the number of tips, nodes, or edges, respectively. - - -BUG FIXES - - o read.nexus() did not set correctly the class of the returned - object when reading multiple trees. - - o mllt.plot() failed with objects of class c("multi.tree", - "phylo"). - - o unroot() did not work correctly in most cases. - - o reorder.phylo() made R freeze in some occasions. - - o Plotting a tree in pruningwise order failed. - - o When plotting an unrooted tree, the tip labels where not all - correctly positioned if the option `cex' was used. - - - - CHANGES IN APE VERSION 1.10 - - -NEW FEATURES - - o Five new `method' functions have been introduced to manipulate - DNA sequences in binary format (see below). - - o Three new functions have been introduced to convert between the - new binary and the character formats. - - o The new function as.alignment converts DNA sequences stored as - single characters into the class "alignment" used by the package - seqinr. - - o read.dna() and read.GenBank() have a new argument `as.character' - controlling whether the sequences are returned in binary format - or as character. - - -BUG FIXES - - o root() failed when the tree had node labels: this is fixed. - - o plot.phylo() did not correctly set the limits on the y-axis with - the default setting: this is fixed. - - o dist.dna() returned a wrong result for the LogDet, paralinear, - and BH87 models with `pairwise.deletion = TRUE'. - - -OTHER CHANGES - - o DNA sequences are now internally stored in a binary format. See - the document "A Bit-Level Coding Scheme for Nucleotides" for the - details. Most functions analyzing DNA functions have been - modified accordingly and are now much faster (dist.dna is now - ca. 60 times faster). - - - - CHANGES IN APE VERSION 1.9-4 - - -BUG FIXES - - o A bug was fixed in edgelabels(). - - o as.phylo.hclust() did not work correctly when the object of - class "hclust" has its labels set to NULL: the returned tree has - now its tip labels set to "1", "2", ... - - o consensus could fail if some tip labels are a subset of others - (e.g., "a" and "a_1"): this is now fixed. - - o mlphylo() failed in most cases if some branch lengths of the - initial tree were greater than one: an error message is now - issued. - - o mlphylo() failed in most cases when estimating the proportion of - invariants: this is fixed. - - - - CHANGES IN APE VERSION 1.9-3 - - -NEW FEATURES - - o The new function edgelabels adds labels on the edge of the tree - in the same way than nodelabels or tiplabels. - - -BUG FIXES - - o multi2di() did not handle correctly branch lengths with the - default option `random = TRUE': this is now fixed. - - o A bug was fixed in nuc.div() when using pairwise deletions. - - o A bug occurred in the analysis of bipartitions with large - numbers of large trees, with consequences on prop.part, - prop.clades, and boot.phylo. - - o The calculation of the Billera-Holmes-Vogtmann distance in - dist.topo was wrong: this has been fixed. - - - - CHANGES IN APE VERSION 1.9-2 - - -NEW FEATURES - - o The new function ladderize reorganizes the internal structure of - a tree to plot them left- or right-ladderized. - - o The new function dist.nodes computes the patristic distances - between all nodes, internal and terminal, of a tree. It replaces - the option `full = TRUE' of cophenetic.phylo (see below). - - -BUG FIXES - - o A bug was fixed in old2new.phylo(). - - o Some bugs were fixed in chronopl(). - - o The edge colours were not correctly displayed by plot.phylo - (thank you to Li-San Wang for the fix). - - o cophenetic.phylo() failed with multichotomous trees: this is - fixed. - - -OTHER CHANGES - - o read.dna() now returns the sequences in a matrix if they are - aligned (interleaved or sequential format). Sequences in FASTA - format are still returned in a list. - - o The option `full' of cophenetic.phylo() has been removed because - it could not be used from the generic. - - -DEPRECATED & DEFUNCT - - o rotate() has been removed; this function did not work correctly - since ape 1.9. - - - - CHANGES IN APE VERSION 1.9-1 - - -BUG FIXES - - o Trees with a single tip were not read correctly in R as the - element `Nnode' was not set: this is fixed. - - o unroot() did not set correctly the number of nodes of the - unrooted tree in most cases. - - o read.GenBank() failed when fetching very long sequences, - particularly of the BX-series. - - o A bug was introduced in read.tree() with ape 1.9: it has been - fixed - - - - CHANGES IN APE VERSION 1.9 - - -NEW FEATURES - - o There are two new print `methods' for trees of class "phylo" and - lists of trees of class "multi.tree", so that they are now - displayed in a compact and informative way. - - o There are two new functions, old2new.phylo and new2old.phylo, - for converting between the old and new coding of the class - "phylo". - - o dist.dna() has three new models: Barry and Hartigan ("BH87"), - LogDet ("logdet"), and paralinear ("paralin"). - - o compute.brlen() has been extended: several methods are now - available to compute branch lengths. - - o write.dna() can now handle matrices as well as lists. - - -BUG FIXES - - o cophenetic.phylo() sometimes returned a wrong result with - multichotomous trees: this is fixed. - - o rotate() failed when a single tip was specified: the tree is now - returned unchanged. - - o ace() did not return the correct index matrix with custom - models: this is fixed. - - o multi2di() did not work correctly when resolving multichotomies - randomly: the topology was always the same, only the arrangement - of clades was randomized: this is fixed. This function now - accepts trees with no branch lengths. - - o The output of diversi.gof() was blurred by useless prints when a - user distribution was specified. This has been corrected, and - the help page of this function has been expanded. - - -OTHER CHANGES - - o The internal structure of the class "phylo" has been changed: - see the document "Definition of Formats for Coding Phylogenetic - Trees in R" for the details. In addition, the code of most - functions has been improved. - - o Several functions have been improved by replacing some R codes - by C codes: pic, plot.phylo, and reorder.phylo. - - o There is now a citation information: see citation("ape") in R. - - o write.tree() now does not add extra 0's to branch lengths so - that 1.23 is printed "1.23" by default, not "1.2300000000". - - o The syntax of bind.tree() has been simplified. This function now - accepts trees with no branch lengths, and handles correctly node - labels. - - o The option `as.numeric' of mrca() has been removed. - - o The unused options `format' and `rooted' of read.tree() have - been removed. - - o The unused option `format' of write.tree() has been removed. - - o The use of node.depth() has been simplified. - - - - CHANGES IN APE VERSION 1.8-5 - - -NEW FEATURES - - o Two new functions read.nexus.data() and write.nexus.data(), - contributed by Johan Nylander, allow to read and write molecular - sequences in NEXUS files. - - o The new function reorder.phylo() reorders the internal structure - of a tree of class "phylo". It is used as the generic, e.g., - reorder(tr). - - o read.tree() and read.nexus() can now read trees with a single - edge. - - o The new data set `cynipids' supplies a set of protein sequences - in NEXUS format. - - -BUG FIXES - - o The code of all.equal.phylo() has been completely rewritten - (thanks to Benoît Durand) which fixes several bugs. - - o read.tree() and read.nexus() now checks the labels of the tree - to remove or substitute any characters that are illegal in the - Newick format (parentheses, etc.) - - o A negative P-value could be returned by mantel.test(): this is - now fixed. - - - - CHANGES IN APE VERSION 1.8-4 - - -NEW FEATURES - - o The new function sh.test() computes the Shimodaira- - Hasegawa test. - - o The new function collapse.singles() removes the nodes with a - single descendant from a tree. - - o plot.phylo() has a new argument `tip.color' to specify the - colours of the tips. - - o mlphylo() has now an option `quiet' to control the display of - the progress of the analysis (the default is FALSE). - - -BUG FIXES - - o read.dna() did not read correctly sequences in sequential format - with leading alignment gaps "-": this is fixed. - - o ace() returned a list with no class so that the generic - functions (anova, logLik, ...) could not be used directly. This - is fixed as ace() now returns an object of class "ace". - - o anova.ace() had a small bug when computing the number of degrees - of freedom: this is fixed. - - o mlphylo() did not work when the sequences were in a matrix or - a data frame: this is fixed. - - o rtree() did not work correctly when trying to simulate an - unrooted tree with two tips: an error message is now issued. - - -OTHER CHANGES - - o The algorithm of rtree() has been changed: it is now about 40, - 100, and 130 times faster for 10, 100, and 1000 tips, - respectively. - - - - CHANGES IN APE VERSION 1.8-3 - - -NEW FEATURES - - o There are four new `method' functions to be used with the - results of ace(): logLik(), deviance(), AIC(), and anova(). - - o The plot method of phymltest has two new arguments: `main' to - change the title, and `col' to control the colour of the - segments showing the AIC values. - - o ace() has a new argument `ip' that gives the initial values used - in the ML estimation with discrete characters (see the examples - in ?ace). This function now returns a matrix giving the indices - of the estimated rates when analysing discrete characters. - - o nodelabels() and tiplabels() have a new argument `pie' to - represent proportions, with any number of categories, as - piecharts. The use of the option `thermo' has been improved: - there is now no limitation on the number of categories. - - -BUG FIXES - - o mlphylo() did not work with more than two partitions: this is - fixed. - - o root() failed if the proposed outgroup was already an outgroup - in the tree: this is fixed. - - o The `col' argument in nodelabels() and tiplabels() was not - correctly passed when `text' was used: this is fixed. - - o Two bugs were fixed in mlphylo(): parameters were not always - correctly output, and the estimation failed in some cases. - - o plot.phylo() was stuck when given a tree with a single tip: this - is fixed and a message error is now returned. - - o An error was corrected in the help page of gammaStat regarding - the calculation of P-values. - - o Using gls() could crash R when the number of species in the tree - and in the variables were different: this is fixed. - - - - CHANGES IN APE VERSION 1.8-2 - - -NEW FEATURES - - o The new function mlphylo() fits a phylogenetic tree by maximum - likelihood from DNA sequences. Its companion function DNAmodel() - is used to define the substitution model which may include - partitioning. There are methods for logLik(), deviance(), and - AIC(), and the summary() method has been extended to display in - a friendly way the results of this model fitting. Currently, the - functionality is limited to estimating the substitution and - associated parameters and computing the likelihood. - - o The new function drop1.compar.gee (used as, e.g., drop1(m)) - tests for single effects in GEE-based comparative method. A - warning message is printed if there is not enough degrees of - freedom. - - -BUG FIXES - - o An error message was sometimes issued by plot.multi.tree(), - though with no consequence. - - - - CHANGES IN APE VERSION 1.8-1 - - -NEW FEATURES - - o There is a new plot method for lists of trees (objects of class - "multi.tree"): it calls plot.phylo() internally and is - documented on the same help page. - - -BUG FIXES - - o A bug was fixed in the C code that analyzes bipartitions: this - has impact on several functions like prop.part, prop.clades, - boot.phylo, or consensus. - - o root() did not work correctly when the specified outgroup had - more than one element: this is fixed. - - o dist.dna() sometimes returned a warning inappropriately: this - has been corrected. - - o If the distance object given to nj() had no rownames, nj() - returned a tree with no tip labels: it now returns tips labelled - "1", "2", ..., corresponding to the row numbers. - - -OTHER CHANGES - - o nj() has been slightly changed so that tips with a zero distance - are first aggregated with zero-lengthed branches; the usual NJ - procedure is then performed on a distance matrix without 0's. - - - - CHANGES IN APE VERSION 1.8 - - -NEW FEATURES - - o The new function chronopl() estimates dates using the penalized - likelihood method by Sanderson (2002; Mol. Biol. Evol., 19:101). - - o The new function consensus() calculates the consensus tree of a - list of trees. - - o The new function evolve.phylo() simulates the evolution of - continuous characters along a phylogeny under a Brownian model. - - o The new plot method for objects of class "ancestral" displays a - tree together with ancestral values, as returned by the above - function. - - o The new function as.phylo.formula() returns a phylogeny from a - set of nested taxonomic variables given as a formula. - - o The new function read.caic() reads trees in CAIC format. - - o The new function tiplabels() allows to add labels to the tips - of a tree using text or plotting symbols in a flexible way. - - o The new function unroot() unroots a phylogeny. - - o multi2di() has a new option, `random', which specifies whether - to resolve the multichotomies randomly (the default) or not. - - o prop.part() now returns an object of class "prop.part" for which - there are print (to display a partition in a more friendly way) - and summary (to extract the numbers) methods. - - o plot.phylo() has a new option, `show.tip.label', specifying - whether to print the labels of the tips. The default is TRUE. - - o The code of nj() has been replaced by a faster C code: it is now - about 10, 25, and 40 times faster for 50, 100, and 200 taxa, - respectively. - - o write.nexus() now writes whether a tree is rooted or not. - - -BUG FIXES - - o Two bugs have been fixed in root(): unrooted trees are now - handled corretly, and node labels are now output normally. - - o A bug was fixed in phymltest(): the executable couldn't be found - in some cases. - - o Three bug have been fixed in ace(): computing the likelihood of - ancestral states of discrete characters failed, custom models - did not work, and the function failed with a null gradient (a - warning message is now returned; this latter bug was also - present in yule.cov() as well and is now fixed). - - o pic() hanged out when missing data were present: a message error - is now returned. - - o A small bug was fixed in dist.dna() where the gamma correction - was not always correctly dispatched. - - o plot.phylo() plotted correctly the root edge only when the tree - was plotted rightwards: this works now for all directions. - - -OTHER CHANGES - - o dist.taxo() has been renamed as weight.taxo(). - - o dist.phylo() has been replaced by the method cophenetic.phylo(). - - o Various error and warning messages have been improved. - - - - CHANGES IN APE VERSION 1.7 -NEW FEATURES - - o The new function ace() estimates ancestral character states for - continuous characters (with ML, GLS, and contrasts methods), and - discrete characters (with ML only) for any number of states. - - o The new function compar.ou() fits the Ornstein-Uhlenbeck model - of directional evolution for continuous characters. The user - specifies the node(s) of the tree where the character optimum - changes. - - o The new function is.rooted() tests whether a tree (of class - "phylo") is rooted. - - o The new function rcoal() generates random ultrametric trees with - the possibility to specify the function that generates the - inter-nodes distances. - - o The new function mrca() gives for all pairs of tips in a tree - (and optionally nodes too) the most recent common ancestor. - - o nodelabels() has a new option `thermo' to plot proportions (up - to three classes) on the nodes of a tree. - - o rtree() has been improved: it can now generate rooted or - unrooted trees, and the mathematical function that generates the - branch lengths may be specified by the user. The tip labels may - be given directly in the call to rtree. The limit cases (n = 2, - 3) are now handled correctly. - - o dist.topo() has a new argument `method' with two choices: "PH85" - for Penny and Henny's method (already available before and now - the default), and "BHV01" for the geometric distance by Billera - et al. (2001, Adv. Appl. Math. 27:733). - - o write.tree() has a new option, `digits', which specifies the - number of digits to be printed in the Newick tree. By default - digits = 10. The numbers are now always printed in decimal form - (i.e., 1.0e-1 is now avoided). - - o dist.dna() can now compute the raw distances between pairs of - DNA sequences by specifying model = "raw". - - o dist.phylo() has a new option `full' to possibly compute the - distances among all tips and nodes of the tree. The default if - `full = FALSE'. - - -BUG FIXES - - o Several bugs were fixed in all.equal.phylo(). - - o dist.dna() did not handle correctly gaps ("-") in alignments: - they are now considered as missing data. - - o rotate() did not work if the tips were not ordered: this is - fixed. - - o mantel.test() returned NA in some special cases: this is fixed - and the function has been improved and is now faster. - - o A bug was fixed in diversi.gof() where the calculation of A² was - incorrect. - - o cherry() did not work correctly under some OSs (mainly Linux): - this is fixed. - - o is.binary.tree() has been modified so that it works with both - rooted and unrooted trees. - - o The documentation of theta.s() was not correct: this has been - fixed. - - o plot.mst() did not work correctly: this is fixed. - - - - CHANGES IN APE VERSION 1.6 - - -NEW FEATURES - - o The new function dist.topo() computes the topological distances - between two trees. - - o The new function boot.phylo() performs a bootstrap analysis on - phylogeny estimation. - - o The new functions prop.part() and prop.clades() analyse - bipartitions from a series of trees. - - -OTHER CHANGES - - o read.GenBank() now uses the EFetch utility of NCBI instead of - the usual Web interface: it is now much faster (e.g., 12 times - faster to retrieve 8 sequences, 37 times for 60 sequences). - - -BUG FIXES - - o Several bugs were fixed in read.dna(). - - o Several bugs were fixed in diversi.time(). - - o is.binary.tree() did not work correctly if the tree has no edge - lengths: this is fixed. - - o drop.tip() did not correctly propagated the `node.label' of a - tree: this is fixed. - - - - CHANGES IN APE VERSION 1.5 - - -NEW FEATURES - - o Two new functions, as.matching.phylo() and as.phylo.matching(), - convert objects between the classes "phylo" and "matching". The - latter implements the representation of binary trees introduced by - Diaconis and Holmes (1998; PNAS 95:14600). The generic function - as.matching() has been introduced as well. - - o Two new functions, multi2di() and di2multi(), allow to resolve - and collapse multichotomies with branches of length zero. - - o The new function nuc.div() computes the nucleotide diversity - from a sample a DNA sequences. - - o dist.dna() has been completely rewritten with a much faster - (particularly for large data sets) C code. Eight models are - available: JC69, K80, F81, K81, F84, T92, TN93, and GG95 (the - option `method' has been renamed `model'). Computation of variance - is available for all models. A gamma-correction is possible for - JC69, K80, F81, and TN93. There is a new option, pairwise.deletion, - to remove sites with missing data on a pairwise basis. The option - `GCcontent' has been removed. - - o read.GenBank() has a new option (species.names) which specifies - whether to return the species names of the organisms in addition - to the accession numbers of the sequences (this is the default - behaviour). - - o write.nexus() can now write several trees in the same NEXUS file. - - o drop.tip() has a new option `root.edge' that allows to specify the - new root edge if internal branches are trimmed. - - -BUG FIXES - - o as.phylo.hclust() failed if some labels had parentheses: this - is fixed. - - o Several bugs were fixed in all.equal.phylo(). This function now - returns the logical TRUE if the trees are identical but with - different representations (a report was printed previously). - - o read.GenBank() did not correctly handle ambiguous base codes: - this is fixed. - - -OTHER CHANGES - - o birthdeath() now returns an object of class "birthdeath" for - which there is a print method. - - - - CHANGES IN APE VERSION 1.4 - - -NEW FEATURES - - o The new function nj() performs phylogeny estimation with the - neighbor-joining method of Saitou and Nei (1987; Mol. Biol. - Evol., 4:406). - - o The new function which.edge() identifies the edges of a tree - that belong to a group specified as a set of tips. - - o The new function as.phylo.phylog() converts an object of class - "phylog" (from the package ade4) into an object of class - "phylo". - - o The new function axisPhylo() draws axes on the side of a - phylogeny plot. - - o The new function howmanytrees() calculates the number of trees - in different cases and giving a number of tips. - - o write.tree() has a new option `multi.line' (TRUE by default) to - write a Newick tree on several lines rather than on a single - line. - - o The functionalities of zoom() have been extended. Several - subtrees can be visualized at the same time, and they are marked - on the main tree with colors. The context of the subtrees can be - marked with the option `subtree' (see below). - - o drop.tip() has a new option `subtree' (FALSE by default) which - specifies whether to output in the tree how many tips have been - deleted and where. - - o The arguments of add.scale.bar() have been redefined and have - now default values (see ?add.scale.bar for details). This - function now works even if the plotted tree has no edge length. - - o plot.phylo() can now plot radial trees, but this does not take - edge lengths into account. - - o In plot.phylo() with `type = "phylogram"', if the values of - `edge.color' and `edge.width' are identical for sister-branches, - they are propagated to the vertical line that link them. - - -BUG FIXES - - o Repeated calls to as.phylo.hclust() or as.hclust.phylo() made R - crashing. This is fixed. - - o In plot.phylo(), the options `edge.color' and `edge.width' are - now properly recycled; their default values are now "black" and - 1, respectively. - - o A bug has been fixed in write.nexus(). - - -OTHER CHANGES - - o The function node.depth.edgelength() has been removed and - replaced by a C code. - - - - CHANGES IN APE VERSION 1.3-1 - - -NEW FEATURES - - o The new function nodelabels() allows to add labels to the nodes - of a tree using text or plotting symbols in a flexible way. - - o In plot.phylo() the arguments `x.lim' and `y.lim' can now be two - numeric values specifying the lower and upper limits on the x- - and y-axes. This allows to leave some space on any side of the - tree. If a single value is given, this is taken as the upper - limit (as before). - - - - CHANGES IN APE VERSION 1.3 - - -NEW FEATURES - - o The new function phymltest() calls the software PHYML and fits - 28 models of DNA sequence evolution. There are a print method to - display likelihood and AIC values, a summary method to compute - the hierarchical likelihood ratio tests, and a plot method to - display graphically the AIC values of each model. - - o The new function yule.cov() fits the Yule model with covariates, - a model where the speciation rate is affected by several species - traits through a generalized linear model. The parameters are - estimated by maximum likelihood. - - o Three new functions, corBrownian(), corGrafen(), and - corMartins(), compute the expected correlation structures among - species given a phylogeny under different models of evolution. - These can be used for GLS comparative phylogenetic methods (see - the examples). There are coef() and corMatrix() methods and an - Initialize.corPhyl() function associated. - - o The new function compar.cheverud() implements Cheverud et al.'s - (1985; Evolution 39:1335) phylogenetic comparative method. - - o The new function varcomp() estimates variance components; it has - a plot method. - - o Two new functions, panel.superpose.correlogram() and - plot.correlogramList(), allow to plot several phylogenetic - correlograms. - - o The new function node.leafnumber() computes the number of leaves - of a subtree defined by a particular node. - - o The new function node.sons() gets all tags of son nodes from a - given parent node. - - o The new function compute.brlen() computes the branch lengths of - a tree according to a specified method. - - o plot.phylo() has three new options: "cex" controls the size of - the (tip and node) labels (thus it is no more needed to change - the global graphical parameter), "direction" which allows to - plot the tree rightwards, leftwards, upwards, or downwards, and - "y.lim" which sets the upper limit on the y-axis. - - -BUG FIXES - - o Some functions which try to match tip labels and names of - additional data (e.g. vector) are likely to fail if there are - typing or syntax errors. If both series of names do not perfectly - match, they are ignored and a warning message is now issued. - These functions are bd.ext, compar.gee, pic. Their help pages - have been clarified on this point. - - - - CHANGES IN APE VERSION 1.2-7 - - -NEW FEATURES - - o The new function root() reroots a phylogenetic tree with respect - to a specified outgroup. - - o The new function rotate() rotates an internal branch of a tree. - - o In plot.phylo(), the new argument "lab4ut" (labels for unrooted - trees) controls the display of the tip labels in unrooted trees. - This display has been greatly improved: the tip labels are now not - expected to overlap with the tree (particularly if lab4ut = - "axial"). In all cases, combining appropriate values of "lab4ut" - and the font size (via "par(cex = )") should result in readable - unrooted trees. See ?plot.phylo for some examples. - - o In drop.tip(), the argument `tip' can now be numeric or character. - - -BUG FIXES - - o drop.tip() did not work correctly with trees with no branch - lengths: this is fixed. - - o A bug in plot.phylo(..., type = "unrooted") made some trees being - plotted with some line crossings: this is now fixed. - - - - CHANGES IN APE VERSION 1.2-6 - - -NEW FEATURES - - o Six new functions (Moran.I, correlogram.formula, discrete.dist, - correlogram.phylo, dist.taxo, plot.correlogram) have been added - to implement comparative methods with an autocorrelation approach. - - o A new data set describing some life history traits of Carnivores - has been included. - - -BUG FIXES - - o A fix was made on mcmc.popsize() to conform to R 2.0.0. - - -OTHER CHANGES - - o When plotting a tree with plot.phylo(), the new default of the - option `label.offset' is now 0, so the labels are always visible. - - - - CHANGES IN APE VERSION 1.2-5 - - -NEW FEATURES - - o The new function bd.ext() fits a birth-death model with combined - phylogenetic and taxonomic data, and estimates the corresponding - speciation and extinction rates. - - -OTHER CHANGES - - o The package gee is no more required by ape but only suggested - since only the function compar.gee() calls gee. - - - - CHANGES IN APE VERSION 1.2-4 - - -NEW FEATURES - - o Four new functions (mcmc.popsize, extract.popsize, plot.popsize, - and lines.popsize) implementing a new approach for inferring the - demographic history from genealogies using a reversible jump - MCMC have been introduced. - - o The unit of time in the skyline plot and in the new plots can - now be chosen to be actual years, rather than substitutions. - - - - CHANGES IN APE VERSION 1.2-3 - - -NEW FEATURES - - o The new function rtree() generates a random binary tree with or - without branch lengths. - - o Two new functions for drawing lineages-through-time (LTT) plots - are provided: ltt.lines() adds a LTT curve to an existing plot, - and mltt.plot() does a multiple LTT plot giving several trees as - arguments (see `?ltt.plot' for details). - - -BUG FIXES - - o Some taxon names made R crashing when calling as.phylo.hclust(): - this is fixed. - - o dist.dna() returned an error with two identical DNA sequences - (only using the Jukes-Cantor method returned 0): this is fixed. - - -OTHER CHANGES - - o The function dist.phylo() has been re-written using a different - algorithm: it is now about four times faster. - - o The code of branching.times() has been improved: it is now about - twice faster. - - - - CHANGES IN APE VERSION 1.2-2 - - -NEW FEATURES - - o The new function seg.sites() finds the segregating sites in a - sample of DNA sequences. - - -BUG FIXES - - o A bug introduced in read.tree() and in read.nexus() with version - 1.2-1 was fixed. - - o A few errors were corrected and a few examples were added in the - help pages. - - - - CHANGES IN APE VERSION 1.2-1 - - -NEW FEATURES - - o plot.phylo() can now draw the edge of the root of a tree if it - has one (see the new option `root.edge', its default is FALSE). - - -BUG FIXES - - o A bug was fixed in read.nexus(): files with semicolons inside - comment blocks were not read correctly. - - o The behaviour of read.tree() and read.nexus() was corrected so - that tree files with badly represented root edges (e.g., with - an extra pair of parentheses, see the help pages for details) - are now correctly represented in the object of class "phylo"; - a warning message is now issued. - - - - CHANGES IN APE VERSION 1.2 - - -NEW FEATURES - - o plot.phylo() has been completely re-written and offers several - new functionalities. Three types of trees can now be drawn: - phylogram (as previously), cladogram, and unrooted tree; in - all three types the branch lengths can be drawn using the edge - lengths of the phylogeny or not (e.g., if the latter is absent). - The vertical position of the nodes can be adjusted with two - choices (see option `node.pos'). The code has been re-structured, - and two new functions (potentially useful for developpers) are - documented separately: node.depth.edgelength() and node.depth(); - see the respective help pages for details. - - o The new function zoom() allows to explore very large trees by - focusing on a small portion of it. - - o The new function yule() fits by maximum likelihood the Yule model - (birth-only process) to a phylogenetic tree. - - o Support for writing DNA sequences in FASTA format has been - introduced in write.dna() (support for reading sequences in - this format was introduced in read.dna() in version 1.1-2). - The function has been completely re-written, fixing some bugs - (see below); the default behaviour is no more to display the - sequences on the standard output. Several options have been - introduced to control the sequence printing in a flexible - way. The help page has been extended. - - o A new data set is included: a supertree of bats in NEXUS format. - - -BUG FIXES - - o In theta.s(), the default of the option `variance' has - been changed to `FALSE' (as was indicated in the help page). - - o Several bugs were fixed in the code of all.equal.phylo(). - - o Several bugs were fixed in write.dna(), particularly this - function did not work with `format = "interleaved"'. - - o Various errors were corrected in the help pages. - - -OTHER CHANGES - - o The argument names of as.hclust.phylo() have been changed - from "(phy)" to "(x, ...)" to conform to the definition of - the corresponding generic function. - - o gamma.stat() has been renamed gammaStat() to avoid confusion - since gamma() is a generic function. - - - - CHANGES IN APE VERSION 1.1-3 - - -BUG FIXES - - o base.freq() previously did not return a value of 0 for - bases absent in the data (e.g., a vector of length 3 was - returned if one base was absent). This is now fixed (a - vector of length 4 is always returned). - - o Several bugs were fixed in read.nexus(), including that this - function did not work in this absence of a "TRANSLATE" - command in the NEXUS file, and that the commands were - case-sensitive. - - - - CHANGES IN APE VERSION 1.1-2 - - -NEW FEATURES - - o The Tamura and Nei (1993) model of DNA distance is now implemented - in dist.dna(): five models are now available in this function. - - o A new data set is included: a set of 15 sequences of the - cytochrome b mitochondrial gene of the woodmouse (Apodemus - sylvaticus). - - -BUG FIXES - - o A bug in read.nexus() was fixed. - - o read.dna() previously did not work correctly in most cases. - The function has been completely re-written and its help page - has been considerably extended (see ?read.dna for details). - Underscores (_) in taxon names are no more replaced with - spaces (this behaviour was undocumented). - - o A bug was fixed in write.dna(). - - - - CHANGES IN APE VERSION 1.1-1 - - -BUG FIXES - - o A bug in read.tree() introduced in APE 1.1 was fixed. - - o A bug in compar.gee() resulted in an error when trying to fit - a model with `family = "binomial"'. This is now fixed. - - - - CHANGES IN APE VERSION 1.1 - - -NEW FEATURES - - o The Klastorin (1982) method as suggested by Misawa and Tajima - (2000, Mol. Biol. Evol. 17:1879-1884) for classifying genes - on the basis of phylogenetic trees has been implemented (see - the function klastorin()). - - o Functions have been added to convert APE's "phylo" objects in - "hclust" cluster objects and vice versa (see the help page of - as.phylo for details). - - o Three new functions, ratogram(), chronogram() and NPRS.criterion(), - are introduced for the estimation of absolute evolutionary rates - (ratogram) and dated clock-like trees (chronogram) from - phylogenetic trees using the non-parametric rate smoothing approach - by MJ Sanderson (1997, Mol. Biol. Evol. 14:1218-1231). - - o A summary method is now provided printing a summary information on a - phylogenetic tree with, for instance, `summary(tree)'. - - o The behaviour of read.tree() was changed so that all spaces and - tabulations in tree files are now ignored. Consequently, spaces in tip - labels are no more allowed. Another side effect is that read.nexus() - now does not replace the underscores (_) in tip labels with spaces - (this behaviour was undocumented). - - o The function plot.phylo() has a new option (`underscore') which - specifies whether the underscores in tip labels should be written on - the plot as such or replaced with spaces (the default). - - o The function birthdeath() now computes 95% confidence intervals of - the estimated parameters using profile likelihood. - - o Three new data sets are included: a gene tree estimated from 36 - landplant rbcL sequences, a gene tree estimated from 32 opsin - sequences, and a gene tree for 50 BRCA1 mammalian sequences. - - -BUG FIXES - - o A bug was fixed in dist.gene() where nothing was returned. - - o A bug in plot.mst() was fixed. - - o A bug in vcv.phylo() resulted in false correlations when the - option `cor = TRUE' was used (now fixed). - - - - CHANGES IN APE VERSION 1.0 - - -NEW FEATURES - - o Two new functions, read.dna() and write.dna(), read/write in a file - DNA sequences in interleaved or in sequential format. - - o Two new functions, read.nexus() and write.nexus(), read/write trees - in a NEXUS file. - - o The new function bind.tree() allows to bind two trees together, - possibly handling root edges to give internal branches. - - o The new function drop.tip() removes the tips in a phylogenetic tree, - and trims (or not) the corresponding internal branches. - - o The new function is.ultrametric() tests if a tree is ultrametric. - - o The function plot.phylo() has more functionalities such as drawing the - branches with different colours and/or different widths, showing the - node labels, controling the position and font of the labels, rotating - the labels, and controling the space around the plot. - - o The function read.tree() can now read trees with no branch length, - such as "(a,b),c);". Consequently, the element `edge.length' in - objects of class "phylo" is now optional. - - o The function write.tree() has a new default behaviour: if the default - for the option `file' is used (i.e. file = ""), then a variable of - mode character containing the tree in Newick format is returned which - can thus be assigned (e.g., tree <- write.tree(phy)). - - o The function read.tree() has a new argument `text' which allows - to read the tree in a variable of mode character. - - o A new data set is included: the phylogenetic relationships among - the orders of birds from Sibley and Ahlquist (1990). - - - - CHANGES IN APE VERSION 0.2-1 - - -BUG FIXES - - o Several bugs were fixed in the help pages. - - - - CHANGES IN APE VERSION 0.2 - - -NEW FEATURES - - o The function write.tree() writes phylogenetic trees (objects of class - "phylo") in an ASCII file using the Newick parenthetic format. - - o The function birthdeath() fits a birth-death model to branching times - by maximum likelihood, and estimates the corresponding speciation and - extinction rates. - - o The function scale.bar() adds a scale bar to a plot of a phylogenetic - tree. - - o The function is.binary.tree() tests whether a phylogeny is binary. - - o Two generic functions, coalescent.intervals() and collapsed.intervals(), - as well as some methods are introduced. - - o Several functions, including some generics and methods, for computing - skyline plot estimates (classic and generalized) of effective - population size through time are introduced and replace the function - skyline.plot() in version 0.1. - - o Two data sets are now included: the phylogenetic relationships among - the families of birds from Sibley and Ahlquist (1990), and an - estimated clock-like phylogeny of HIV sequences sampled in the - Democratic Republic of Congo. - - -DEPRECATED & DEFUNCT - - o The function skyline.plot() in ape 0.1 has been deprecated and - replaced by more elaborate functions (see above). - - -BUG FIXES - - o Two important bugs were fixed in plot.phylo(): phylogenies with - multichotomies not at the root or not with only terminal branches, - and phylogenies with a single node (i.e. only terminal branches) - did not plot. These trees should be plotted correctly now. - - o Several bugs were fixed in diversi.time() in the computation of - AICs and LRTs. - - o Various errors were corrected in the help pages. diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..c702b68 --- /dev/null +++ b/NEWS @@ -0,0 +1,2380 @@ + CHANGES IN APE VERSION 2.7-2 + + +NEW FEATURES + + o plot.phylo() has a new option 'draw = TRUE'. If FALSE, the tree + is not plotted but the graphical device is set and the + coordinates are saved as normal. + + + + CHANGES IN APE VERSION 2.7-1 + + +NEW FEATURES + + o The new function trex does tree exploration with multiple + graphical devices. + + o The new function kronoviz plots several rooted (dated) trees on + the scale scale. + + o identify.phylo() has a new option 'quiet' (FALSE by default). + + +BUG FIXES + + o A bug was introduced in read.nexus() in ape 2.7. + + o image.DNAbin() did not colour correctly the bases if there were + some '-' and no 'N'. + + o .compressTipLabel() failed with a list with a single tree. + + o identify.phylo() returned a wrong answer when the x- and y-scales + are very different. + + o write.nexus() failed with lists of trees with compressed labels. + + +OTHER CHANGES + + o identify.phylo() now returns NULL if the user right-(instead of + left-)clicks (an error was returned previously). + + o read.nexus() should be robust to commands inserted in the TREES + block. + + + + CHANGES IN APE VERSION 2.7 + + +NEW FEATURES + + o There is a new image() method for "DNAbin" objects: it plots DNA + alignments in a flexible and efficient way. + + o Two new functions as.network.phylo and as.igraph.phylo convert + trees of class "phylo" into these respective network classes + defined in the packages of the same names. + + o The three new functions clustal, muscle, and tcoffee perform + nucleotide sequence alignment by calling the external programs + of the same names. + + o Four new functions, diversity.contrast.test, mcconwaysims.test, + richness.yule.test, and slowinskiguyer.test, implement various + tests of diversification shifts using sister-clade comparisons. + + o base.freq() gains an option 'all' to count all the possible bases + including the ambiguous ones (defaults to FALSE). + + o read.nexus() now writes tree names in the NEXUS file if given a + list of trees with names. + + +BUG FIXES + + o prop.part() failed in some situations with unrooted trees. + + o read.nexus() shuffled node labels when a TRANSLATE block was + present. + + o varCompPhylip() did not work if 'exec' was specified. + + o bind.tree() shuffled node labels when position > 0 and 'where' + was not the root. + + +OTHER CHANGES + + o BaseProportion in src/dist_dna.c has been modified. + + o A number of functions in src/tree_build.c have been modified. + + o The matching representation has now only two columns as the third + column was redundant. + + + + CHANGES IN APE VERSION 2.6-3 + + +NEW FEATURES + + o rTraitCont() and rTraitDisc() gains a '...' argument used with + user-defined models (suggestion by Gene Hunt). + + +BUG FIXES + + o as.hclust.phylo() now returns an error with unrooted trees. + + o as.hclust.phylo() failed with trees with node labels (thanks to + Jinlong Zhang for pointing this bug out). + + o read.dna(, "fasta") failed if sequences were not all of the same + length. + + o plot.phylo() did not recycle values of 'font', 'cex' and + 'tip.color' correctly when type = "fan" or "radial". + + o plot.phylo() ignored 'label.offset' when type = "radial", "fan", or + "unrooted" with lab4ut = "axial" (the placement of tip labels still + needs to be improved with lab4ut = "horizontal"). + + +OTHER CHANGES + + o In drop.fossil() the default tol = 0 has been raised to 1e-8. + + o The help command ?phylo now points to the man page of read.tree() + where this class is described. Similarly, ?matching points to the + man page of as.matching(). + + + + CHANGES IN APE VERSION 2.6-2 + + +NEW FEATURES + + o Two new functions, pic.ortho and varCompPhylip, implements the + orthonormal contrasts of Felsenstein (2008, Am Nat, 171:713). The + second function requires Phylip to be installed on the computer. + + o bd.ext() has a new option conditional = TRUE to use probabilities + conditioned on no extinction for the taxonomic data. + + +BUG FIXES + + o write.tree() failed to output correctly tree names. + + o dist.nodes() returned duplicated column(s) with unrooted and/or + multichotomous trees. + + o mcmc.popsize() terminated unexpectedly if the progress bar was + turned off. + + o prop.part(x) made R frozen if 'x' is of class "multiPhylo". + + o Compilation under Mandriva failed (thanks to Jos Käfer for the fix). + + o drop.tip() shuffled tip labels with subtree = TRUE or trim.internal + = FALSE. + + o Objects returned by as.hclust.phylo() failed when analysed with + cutree() or rect.hclust(). + + o write.tree() did not output correctly node labels (thanks to Naim + Matasci and Jeremy Beaulieu for the fix). + + o ace(type = "discrete") has been improved thanks to Naim Marasci and + Jeremy Beaulieu. + + + + CHANGES IN APE VERSION 2.6-1 + + +NEW FEATURES + + o The new function speciesTree calculates the species tree from a set + of gene trees. Several methods are available including maximum tree + and shallowest divergence tree. + + +BUG FIXES + + o A bug introduced in write.tree() with ape 2.6 has been fixed. + + o as.list.DNAbin() did not work correctly with vectors. + + o as.hclust.phylo() failed with trees with node labels (thanks to + Filipe Vieira for the fix). + + + + CHANGES IN APE VERSION 2.6 + + +NEW FEATURES + + o The new functions rlineage and rbdtree simulate phylogenies under + any user-defined time-dependent speciation-extinction model. They + use continuous time algorithms. + + o The new function drop.fossil removes the extinct species from a + phylogeny. + + o The new function bd.time fits a user-defined time-dependent + birth-death model. It is a generalization of yule.time() taking + extinction into account. + + o The new function MPR does most parsimonious reconstruction of + discrete characters. + + o The new function Ftab computes the contingency table of base + frequencies from a pair of sequences. + + o There is now an 'as.list' method for the class "DNAbin". + + o dist.dna() can compute the number of transitions or transversions + with the option model = "Ts" or model = "Tv", respectively. + + o [node|tip|edge]labels() gain three options with default values to + control the aspect of thermometers: horiz = TRUE, width = NULL, + and height = NULL. + + o compar.gee() has been improved with the new option 'corStruct' as an + alternative to 'phy' to specify the correlation structure, and + calculation of the QIC (Pan 2001, Biometrics). The display of the + results has also been improved. + + o read.GenBank() has a new option 'gene.names' to return the name of + the gene (FALSE by default). + + +BUG FIXES + + o extract.clade() sometimes shuffled the tip labels. + + o plot.phylo(type = "unrooted") did not force asp = 1 (thanks to Klaus + Schliep for the fix) + + o dist.dna(model = "logdet") used to divide distances by 4. The + documentation has been clarified on the formulae used. + + +OTHER CHANGES + + o rTraitCont(model = "OU") has an option 'linear = TRUE' to possibly + change the parameterisation (see ?rTraitCont for details). + + o pic() now returns a vector with the node labels of the tree (if + available) as names. + + o write.tree() and read.tree() have been substantially improved thanks + to contributions by Klaus Schliep. + + + + CHANGES IN APE VERSION 2.5-3 + + +NEW FEATURES + + o The new function mixedFontLabel helps to make labels with bits of + text to be plotted in different fonts. + + o There are now replacement operators for [, [[, and $ for the class + "multiPhylo" (i.e., TREES[11:20] <- rmtree(10, 100)). They possibly + check that the tip labels are the same in all trees. + + o Objects of class "multiPhylo" can be built with c(): there are + methods for the classes "phylo" and "multiPhylo". + + o The internal functions .compressTipLabel and .uncompressTipLabel are + now documented. + + +BUG FIXES + + o bind.tree(x, y, where, position = 0) did not work correctly if 'y' + was a single-edge tree and 'where' was a tip. + + o rTraitCont() did not use the square-root of branch lengths when + simulating a Brownian motion model. + + + + CHANGES IN APE VERSION 2.5-2 + + +NEW FEATURES + + o There is now a print method for results from ace(). + + o There is a labels() method for objects of class "DNAbin". + + o read.dna() has a new option 'as.matrix' to possibly force sequences + in a FASTA file to be stored in a matrix (see ?read.dna for details). + + +BUG FIXES + + o as.phylo.hclust() used to multiply edge lengths by 2. + + o A minor bug was fixed in rTraitDisc(). + + o ace() sometimes failed (parameter value was NaN and the optimisation + failed). + + +DEPRECATED & DEFUNCT + + o evolve.phylo() and plot.ancestral() have been removed. + + o chronogram(), ratogram(), and NPRS.criterion() have been removed. + + +OTHER CHANGES + + o nj() has been improved and is now about 30% faster. + + o The default option 'drop' of [.DNAbin has been changed to FALSE to + avoid dropping rownames when selecting a single sequence. + + o print.DNAbin() has been changed to summary.DNAbin() which has been + removed. + + + + CHANGES IN APE VERSION 2.5-1 + + +NEW FEATURES + + o The new function stree generates trees with regular shapes. + + o It is now possible to bind two trees with x + y (see ?bind.tree for + details). + + o drop.tip(), extract.clade(), root(), and bind.tree() now have an + 'interactive' option to make the operation on a plotted tree. + + o cophyloplot() gains two new arguments 'lwd' and 'lty' for the + association links; they are recycled like 'col' (which wasn't before). + + +BUG FIXES + + o rTraitDisc() did not use its 'freq' argument correctly (it was + multiplied with the rate matrix column-wise instead of row-wise). + + o [node|tip|edge]labels(thermo = ) used to draw empty thermometers + with NA values. Nothing is drawn now like with 'text' or 'pch'. + The same bug occurred with the 'pie' option. + + o A bug was fixed in compar.ou() and the help page was clarified. + + o bind.tree() has been rewritten fixing several bugs and making it + more efficient. + + o plot.phylo(type = "p") sometimes failed to colour correctly the + vertical lines representing the nodes. + + o plot.phylo(direction = "l", x.lim = 30) failed to plot the branches + in the correct direction though the tip labels were displayed + correctly. + + +OTHER CHANGES + + o The c, cbind, and rbind methods for "DNAbin" objetcs now check that + the sequences are correctly stored (in a list for c, in a matrix + for the two other functions). + + + + CHANGES IN APE VERSION 2.5 + + +NEW FEATURES + + o The new function parafit by Pierre Legendre tests for the + coevolution between hosts and parasites. It has a companion + function, pcoa, that does principal coordinate decomposition. + The latter has a biplot method. + + o The new function lmorigin by Pierre Legendre performs multiple + regression through the origin with testing by permutation. + + o The new functions rTraitCont and rTraitDisc simulate continuous and + discrete traits under a wide range of evolutionary models. + + o The new function delta.plot does a delta plot following Holland et + al. (2002, Mol. Biol. Evol. 12:2051). + + o The new function edges draws additional branches between any nodes + and/or tips on a plotted tree. + + o The new function fancyarrows enhances arrows from graphics with + triangle and harpoon heads; it can be called from edges(). + + o add.scale.bar() has a new option 'ask' to draw interactively. + + o The branch length score replaces the geodesic distance in dist.topo. + + o Three new data sets are included: the gopher-lice data (gopher.D), + SO2 air pollution in 41 US cities (lmorigin.ex1, from Sokal & + Rohlf 1995), and some host-parasite specificity data + (lmorigin.ex2, from Legendre & Desdevises 2009). + + +BUG FIXES + + o add.scale.bar() drew the bar outside the plotting region with the + default options with unrooted or radial trees. + + o dist.topo() made R stuck when the trees had different sizes (thanks + to Otto Cordero for the fix). + + +OTHER CHANGES + + o The geodesic distance has been replaced by the branch length score + in dist.topo(). + + + + CHANGES IN APE VERSION 2.4-1 + + +NEW FEATURES + + o rtree() and rcoal() now accept a numeric vector for the 'br' + argument. + + o vcv() is a new generic function with methods for the classes "phylo" + and "corPhyl" so that it is possible to calculate the var-cov matrix + for "transformation models". vcv.phylo() can still be used for trees + of class "phylo"; its argument 'cor' has been renamed 'corr'. + + +BUG FIXES + + o bind.tree() failed when 'y' had no root edge. + + o read.nexus() shuffled tip labels when the trees have no branch + lengths and there is a TRANSLATE block. + + o read.nexus() does not try to translate node labels if there is a + translation table in the NEXUS file. See ?read.nexus for a + clarification on this behaviour. + + o plot.multiPhylo() crashed R when plotting a list of trees with + compressed tip labels. + + o write.nexus() did not translate the taxa names when asked for. + + o plot.phylo(type = "fan") did not rotate the tip labels correctly + when the tree has branch lengths. + + o ace(type = "continuous", method = "ML") now avoids sigma² being + negative (which resulted in an error). + + o nj() crashed with NA/NaN in the distance matrix: an error in now + returned. + + + + CHANGES IN APE VERSION 2.4 + + +NEW FEATURES + + o base.freq() has a new option 'freq' to return the counts; the + default is still to return the proportions. + + +BUG FIXES + + o seg.sites() did not handle ambiguous nucleotides correctly: they + are now ignored. + + o plot(phy, root.edge = TRUE) failed if there was no $root.edge in + the tree: the argument is now ignored. + + o add.scale.bar() failed when 'x' and 'y' were given (thanks to Janet + Young for the fix). + + +OTHER CHANGES + + o Trying to plot a tree with a single tip now returns NULL with a + warning (it returned an error previously). + + o The way lines representing nodes are coloured in phylograms has + been modified (as well as their widths and types) following some + users' request; this is only for dichotomous nodes. + + o The argument 'adj' in [node][tip][edge]labels() now works when + using 'pie' or 'thermo'. + + o A more informative message error is now returned by dist.dna() when + 'model' is badly specified (partial matching of this argument is + done now). + + o Deprecated functions are now listed in a help page: see + help("ape-defunct") with the quotes. + + +DEPRECATED & DEFUNCT + + o The functions heterozygosity, nuc.div, theta.h, theta.k and + theta.s have been moved from ape to pegas. + + o The functions mlphylo, DNAmodel and sh.test have been removed. + + + + CHANGES IN APE VERSION 2.3-3 + + +BUG FIXES + + o add.scale.bar() always drew a horizontal bar. + + o zoom() shuffled tips with unrooted trees. + + o write.nexus() failed to write correctly trees with a "TipLabel" + attribute. + + o rcoal() failed to compute branch lengths with very large n. + + o A small bug was fixed in compar.cheverud() (thanks to Michael + Phelan for the fix). + + o seg.sites() failed when passing a vector. + + o drop.tip() sometimes shuffled tip labels. + + o root() shuffled node labels with 'resolve.root = TRUE'. + + + + CHANGES IN APE VERSION 2.3-2 + + +BUG FIXES + + o all.equal.phylo() did not compare unrooted trees correctly. + + o dist.topo(... method = "PH85") did not treat unrooted trees + correctly (thanks to Tim Wallstrom for the fix). + + o root() sometimes failed to test for the monophyly of the + outgroup correctly. + + o extract.clade() sometimes included too many edges. + + o vcv.phylo() did not work correctly when the tree is in + "pruningwise" order. + + o nj() did not handle correctly distance matrices with many 0's. + The code has also been significantly improved: 7, 70, 160 times + faster with n = 100, 500, 1000, respectively. + + + + CHANGES IN APE VERSION 2.3-1 + + +NEW FEATURES + + o The new function is.monophyletic tests the monophyly of a group. + + o There is now a c() method for lists of class "DNAbin". + + o yule.cov() now fits the null model, and its help page has been + corrected with respect to this change. + + o drop.tip() has a new option 'rooted' to force (or not) a tree + to be treated as (un)rooted. + + +BUG FIXES + + o dist.gene() failed on most occasions with the default + pairwise.deletion = FALSE. + + o read.tree() failed to read correctly the tree name(s). + + o boot.phylo() now treats correctly data frames. + + o del.gaps() did not copy the rownames of a matrix. + + o A small bug was fixed in CDAM.global(). + + o ace() failed with large data sets. Thanks to Rich FitzJohn for + the fix. With other improvements, this function is now about 6 + times faster. + + o write.tree() failed with objects of class "multiPhylo". + + o drop.tip(, subtree = TRUE) sometimes shuffled tip labels. + + +OTHER CHANGES + + o [.multiPhylo and [.DNAbin now respect the original class. + + o Instances of the form class(phy) == "phylo" have been replaced + by inherits(phy, "phylo"). + + o rcoal() is now faster. + + +DEPRECATED & DEFUNCT + + o klastorin() has been removed. + + + + CHANGES IN APE VERSION 2.3 + + +NEW FEATURES + + o The new functions CADM.global and CADM.post, contributed by + Pierre Legendre, test the congruence among several distance + matrices. + + o The new function yule.time fits a user-defined time-dependent + Yule model by maximum likelihood. + + o The new function makeNodeLabel creates and/or modifies node + labels in a flexible way. + + o read.tree() and write.tree() have been modified so that they can + handle individual tree names. + + o plot.phylo() has a new argument 'edge.lty' that specifies the + types of lines used for the edges (plain, dotted, dashed, ...) + + o phymltest() has been updated to work with PhyML 3.0.1. + + +BUG FIXES + + o drop.tip() shuffled tip labels in some cases. + + o drop.tip() did not handle node.label correctly. + + o is.ultrametric() now checks the ordering of the edge matrix. + + o ace() sometimes returned negative values of likelihoods of + ancestral states (thanks to Dan Rabosky for solving this long + lasting bug). + + +OTHER CHANGES + + o The data set xenarthra has been removed. + + + + CHANGES IN APE VERSION 2.2-4 + +BUG FIXES + + o The bug fix in read.nexus() in version 2.2-3 was wrong: this is + now fixed. (Thanks to Peter Wragg for the fix!) + + o A warning message occurred for no reason with ace(method="GLS"). + + +OTHER CHANGES + + o There is now a general help page displayed with '?ape'. + + + + CHANGES IN APE VERSION 2.2-3 + + +NEW FEATURES + + o The new function extract.clade extracts a clade from a tree by + specifying a node number or label. + + o fastme.bal() has two new options 'spr' and 'tbr' to perform tree + operations of the same names. + + o dist.dna() can now return the number of site differences by + specifying model="N". + + +BUG FIXES + + o chronopl() did not work with CV = TRUE. + + o read.nexus() did not work correctly in some situations (trees on + multiple lines with different numbers of lines and/or with + comments inserted within the trees). + + o ltt.plot(), ltt.lines(), and mltt.plot() did not count correctly + the number of lineages with non-binary trees. + + +OTHER CHANGES + + o ape has now a namespace. + + o drop.tip() has been improved: it should be much faster and work + better in some cases (e.g., see the example in ?zoom). + + + + CHANGES IN APE VERSION 2.2-2 + + +NEW FEATURES + + o dist.gene() has been substantially improved and gains an option + 'pairwise.deletion'. + + o cbind.DNAbin() has a new option 'fill.with.gaps' and is now + more flexible. + + +BUG FIXES + + o prop.part() failed with a single tree with the default option + 'check.labels = TRUE'. + + o summary.DNAbin() failed to display correctly the summary of + sequence lengths with lists of sequences of 10,000 bases or more + (because summary.default uses 4 significant digits by default). + + o read.nexus() failed to read a file with a single tree with line + breaks in the Newick string. + + o del.gaps() returned a list of empty sequences when there were no + gaps. + + +OTHER CHANGES + + o phymltest() has been updated for PhyML 3.0 and gains an option + 'append', whereas the option 'path2exec' has been removed. + + o rbind.DNAbin() and cbind.DNAbin() now accept a single matrix + which is returned unchanged (instead of an error). + + o The data sets bird.orders and bird.families are now stored as + Newick strings; i.e., the command data(bird.orders) calls + read.tree(). + + + + CHANGES IN APE VERSION 2.2-1 + + +NEW FEATURES + + o The new function makeLabel() helps to modify labels of trees, + lists of trees, or DNA sequences, with several utilities to + truncate and/or make them unique, substituting some + characters, and so on. + + o The new function del.gaps() removes insertion gaps ("-") in a + set of DNA sequences. + + o read.dna() can now read Clustal files (*.aln). + + +BUG FIXES + + o root() failed with 'resolve.root = TRUE' when the root was + already the specified root. + + o Several bugs were fixed in mlphylo(). + + o collapsed.singles() did not propagate the 'Nnode' and + 'node.labels' elements (thanks to Elizabeth Purdom for the fix). + + o read.nexus() failed to remove correctly the comments within + trees. + + o read.nexus() failed to read a file with a single tree and no + translation of tip labels. + + o read.nexus() failed to place correctly tip labels when reading + a single tree with no edge lengths. + + o A bug was fixed in sh.test(). + + +OTHER CHANGES + + o unique.multiPhylo() is faster thanks to a suggestion by Vladimir + Minin. + + o The option 'check.labels' of consensus() and prop.part() is now + TRUE by default. + + o write.dna() now does not truncate names to 10 characters with + the Phylip formats. + + + + CHANGES IN APE VERSION 2.2 + + +NEW FEATURES + + o Four new functions have been written by Damien de Vienne for the + graphical exploration of large trees (cophyloplot, subtrees, + subtreeplot), and to return the graphical coordinates of tree + (without plotting). + + o The new functions corPagel and corBlomberg implement the Pagel's + "lambda" and Blomberg et al.'s "ACDC" correlation structures. + + o chronopl() has been improved and gains several options: see its + help page for details. + + o boot.phylo() has now an option 'trees' to possibly return the + bootstraped trees (the default is FALSE). + + o prop.part() has been improved and should now be faster in all + situations. + + +BUG FIXES + + o read.dna() failed if "?" occurred in the first 10 sites of the + first sequence. + + o The x/y aspect of the plot is now respected when plotting a + circular tree (type = "r" or "f"). + + o Drawing the tip labels sometimes failed when plotting circular + trees. + + o zoom() failed when tip labels were used instead of their numbers + (thanks to Yan Wong for the fix). + + o drop.tip() failed with some trees (fixed by Yan Wong). + + o seg.sites() failed with a list. + + o consensus() failed in some cases. The function has been improved + as well and is faster. + + + + CHANGES IN APE VERSION 2.1-3 + + +BUG FIXES + + o A bug in read.nexus() made the Windows R-GUI crash. + + o An error was fixed in the computation of ancestral character + states by generalized least squares in ace(). + + o di2multi() did not modify node labels correctly. + + o multi2di() failed if the tree had its attribute "order" set to + "cladewise". + + + + CHANGES IN APE VERSION 2.1-2 + + +NEW FEATURES + + o There three new methods for the "multiPhylo" class: str, $, + and [[. + + o root() gains the options 'node' and 'resolve.root' + (FALSE by default) as well as its code being improved. + + o mltt.plot() has now an option 'log' used in the same way + than in plot.default(). + + +BUG FIXES + + o mltt.plot() failed to display the legend with an unnamed + list of trees. + + o nodelabels() with pies now correcly uses the argument + 'cex' to draw symbols of different sizes (which has + worked already for thermometers). + + o read.nexus() generally failed to read very big files. + + +OTHER CHANGES + + o The argument 'family' of compar.gee() can now be a function + as well as a character string. + + o read.tree() and read.nexus() now return an unnamed list if + 'tree.names = NULL'. + + o read.nexus() now returns a modified object of class "multiPhylo" + when there is a TRANSLATE block in the NEXUS file: the individual + trees have no 'tip.label' vector, but the list has a 'TipLabel' + attribute. The new methods '$' and '[[' set these elements + correctly when extracting trees. + + + + CHANGES IN APE VERSION 2.1-1 + + +NEW FEATURES + + o The new function rmtree generates lists of random trees. + + o rcoal() now generates a genuine coalescent tree by default + (thanks to Vladimir Minin for the code). + + +BUG FIXES + + o nuc.div() returned an incorrect value with the default + pairwise.deletion = FALSE. + + +OTHER CHANGES + + o The internal codes of bionj(), fastme.bal(), and fastme.ols() + have been improved so that they are stabler and faster. + + o R packages used by ape are now loaded silently; lattice and gee + are loaded only when needed. + + + + CHANGES IN APE VERSION 2.1 + + +NEW FEATURES + + o The new function identify.phylo identifies clades on a plotted + tree using the mouse. + + o It is now possible to subset a list of trees (object of class + "multiPhylo") with "[" while keeping its class correct. + + o The new function as.DNAbin.alignment converts DNA sequences + stored in the "alignment" format of the package seqinr into + an object of class "DNAbin". + + o The new function weight.taxo2 helps to build similarity matrices + given two taxonomic levels (usually called by other functions). + + o write.tree() can now take a list of trees (class "multiPhylo") + as its main argument. + + o plot.correlogram() and plot.correlogramList() have been + improved, and gain several options (see the help page for + details). A legend is now plotted by default. + + +BUG FIXES + + o dist.dna() returned some incorrect values with `model = "JC69"' + and `pairwise.deletion = TRUE'. This affected only the + distances involving sequences with missing values. (Thanks + to Bruno Toupance for digging this bug out.) + + o write.tree() failed with some trees: this is fixed by removing + the `multi.line' option (trees are now always printed on a + single line). + + o read.nexus() did not correctly detect trees with multiple root + edges (see OTHER CHANGES). + + +OTHER CHANGES + + o The code of mlphylo() has been almost entirely rewritten, and + should be much stabler. The options have been also greatly + simplified (see ?mlphylo and ?DNAmodel for details). + + o The internal function nTips has been renamed klastorin_nTips. + + o The code of is.ultrametric() contained redundancies and has + been cleaned-up. + + o The code of Moran.I() and of correlogram.formula() have been + improved. + + o read.tree() and read.nexus() now return an error when trying to + read a tree with multiple root edges (see BUG FIXES). The + correction applied in previous version did not work in all + situations. + + o The class c("multi.tree", "phylo") has been renamed + "multiPhylo". + + +DOCUMENTATION + + o There is now a vignette in ape: see vignette("MoranI", "ape"). + + +DEPRECATED & DEFUNCT + + o as.matching() and as.phylo.matching() do not support branch + lengths. + + o correlogram.phylo() and discrete.dist() have been removed. + + + + CHANGES IN APE VERSION 2.0-2 + + +NEW FEATURES + + o The new function matexpo computes the exponential of a square + matrix. + + o The new function unique.multi.tree removes duplicate trees from + a list. + + o yule() has a new option `use.root.edge = FALSE' that specifies + to ignore, by default, the root edge of the tree if it exists. + + +BUG FIXES + + o which.edge() failed when the index of a single terminal edge was + looked for. + + o In diversi.time(), the values returned for model C were + incorrect. + + o A bug was fixed in yule() that affected the calculation of the + likelihood in the presence of ties in the branching times. + + o There was a bug in the C function mat_expo4x4 affecting the + calculations of the transition probabilities for models HKY and + GTR in mlphylo(). + + o A small bug was fixed in as.matrix.DNAbin (thanks to James + Bullard). + + o rtree() did not `shuffle' the tip labels by default, so only a + limited number of labelled topologies could be generated. + + + + CHANGES IN APE VERSION 2.0-1 + + +NEW FEATURES + + o The three new functions bionj, fastme.ols, and fastme.bal + perform phylogeny estimation by the BIONJ and fastME methods in + OLS and balanced versions. This is a port to R of previous + previous programs done by Vincent Lefort. + + o The new function chronoMPL performs molecular dating with the + mean path lengths method of Britton et al. (2002, Mol. Phyl. + Evol. 24: 58). + + o The new function rotate, contributed by Christoph Heibl, swaps + two clades connected to the same node. It works also with + multichotomous nodes. + + o The new `method' as.matrix.DNAbin() may be used to convert + easily DNA sequences stored in a list into a matrix while + keeping the names and the class. + + +BUG FIXES + + o chronopl() failed when some branch lengths were equal to zero: + an error message is now returned. + + o di2multi() failed when there was a series of consecutive edges + to remove. + + + + CHANGES IN APE VERSION 1.10-2 + + +NEW FEATURES + + o plot.phylo() can now plot circular trees: the option is type = + "fan" or type = "f" (to avoid the ambiguity with type = "c"). + + o prop.part() has a new option `check.labels = FALSE' which allows + to considerably speed-up the calculations of bipartitions. As a + consequence, calculations of bootstrap values with boot.phylo() + should be much faster. + + +BUG FIXES + + o read.GenBank() did not return correctly the list of species as + from ape 1.10: this is fixed in this version + + o Applying as.phylo() on a tree of class "phylo" failed: the + object is now returned unchanged. + + + + CHANGES IN APE VERSION 1.10-1 + + +NEW FEATURES + + o The three new functions Ntip, Nnode, and Nedge return, for a + given tree, the number of tips, nodes, or edges, respectively. + + +BUG FIXES + + o read.nexus() did not set correctly the class of the returned + object when reading multiple trees. + + o mllt.plot() failed with objects of class c("multi.tree", + "phylo"). + + o unroot() did not work correctly in most cases. + + o reorder.phylo() made R freeze in some occasions. + + o Plotting a tree in pruningwise order failed. + + o When plotting an unrooted tree, the tip labels where not all + correctly positioned if the option `cex' was used. + + + + CHANGES IN APE VERSION 1.10 + + +NEW FEATURES + + o Five new `method' functions have been introduced to manipulate + DNA sequences in binary format (see below). + + o Three new functions have been introduced to convert between the + new binary and the character formats. + + o The new function as.alignment converts DNA sequences stored as + single characters into the class "alignment" used by the package + seqinr. + + o read.dna() and read.GenBank() have a new argument `as.character' + controlling whether the sequences are returned in binary format + or as character. + + +BUG FIXES + + o root() failed when the tree had node labels: this is fixed. + + o plot.phylo() did not correctly set the limits on the y-axis with + the default setting: this is fixed. + + o dist.dna() returned a wrong result for the LogDet, paralinear, + and BH87 models with `pairwise.deletion = TRUE'. + + +OTHER CHANGES + + o DNA sequences are now internally stored in a binary format. See + the document "A Bit-Level Coding Scheme for Nucleotides" for the + details. Most functions analyzing DNA functions have been + modified accordingly and are now much faster (dist.dna is now + ca. 60 times faster). + + + + CHANGES IN APE VERSION 1.9-4 + + +BUG FIXES + + o A bug was fixed in edgelabels(). + + o as.phylo.hclust() did not work correctly when the object of + class "hclust" has its labels set to NULL: the returned tree has + now its tip labels set to "1", "2", ... + + o consensus could fail if some tip labels are a subset of others + (e.g., "a" and "a_1"): this is now fixed. + + o mlphylo() failed in most cases if some branch lengths of the + initial tree were greater than one: an error message is now + issued. + + o mlphylo() failed in most cases when estimating the proportion of + invariants: this is fixed. + + + + CHANGES IN APE VERSION 1.9-3 + + +NEW FEATURES + + o The new function edgelabels adds labels on the edge of the tree + in the same way than nodelabels or tiplabels. + + +BUG FIXES + + o multi2di() did not handle correctly branch lengths with the + default option `random = TRUE': this is now fixed. + + o A bug was fixed in nuc.div() when using pairwise deletions. + + o A bug occurred in the analysis of bipartitions with large + numbers of large trees, with consequences on prop.part, + prop.clades, and boot.phylo. + + o The calculation of the Billera-Holmes-Vogtmann distance in + dist.topo was wrong: this has been fixed. + + + + CHANGES IN APE VERSION 1.9-2 + + +NEW FEATURES + + o The new function ladderize reorganizes the internal structure of + a tree to plot them left- or right-ladderized. + + o The new function dist.nodes computes the patristic distances + between all nodes, internal and terminal, of a tree. It replaces + the option `full = TRUE' of cophenetic.phylo (see below). + + +BUG FIXES + + o A bug was fixed in old2new.phylo(). + + o Some bugs were fixed in chronopl(). + + o The edge colours were not correctly displayed by plot.phylo + (thank you to Li-San Wang for the fix). + + o cophenetic.phylo() failed with multichotomous trees: this is + fixed. + + +OTHER CHANGES + + o read.dna() now returns the sequences in a matrix if they are + aligned (interleaved or sequential format). Sequences in FASTA + format are still returned in a list. + + o The option `full' of cophenetic.phylo() has been removed because + it could not be used from the generic. + + +DEPRECATED & DEFUNCT + + o rotate() has been removed; this function did not work correctly + since ape 1.9. + + + + CHANGES IN APE VERSION 1.9-1 + + +BUG FIXES + + o Trees with a single tip were not read correctly in R as the + element `Nnode' was not set: this is fixed. + + o unroot() did not set correctly the number of nodes of the + unrooted tree in most cases. + + o read.GenBank() failed when fetching very long sequences, + particularly of the BX-series. + + o A bug was introduced in read.tree() with ape 1.9: it has been + fixed + + + + CHANGES IN APE VERSION 1.9 + + +NEW FEATURES + + o There are two new print `methods' for trees of class "phylo" and + lists of trees of class "multi.tree", so that they are now + displayed in a compact and informative way. + + o There are two new functions, old2new.phylo and new2old.phylo, + for converting between the old and new coding of the class + "phylo". + + o dist.dna() has three new models: Barry and Hartigan ("BH87"), + LogDet ("logdet"), and paralinear ("paralin"). + + o compute.brlen() has been extended: several methods are now + available to compute branch lengths. + + o write.dna() can now handle matrices as well as lists. + + +BUG FIXES + + o cophenetic.phylo() sometimes returned a wrong result with + multichotomous trees: this is fixed. + + o rotate() failed when a single tip was specified: the tree is now + returned unchanged. + + o ace() did not return the correct index matrix with custom + models: this is fixed. + + o multi2di() did not work correctly when resolving multichotomies + randomly: the topology was always the same, only the arrangement + of clades was randomized: this is fixed. This function now + accepts trees with no branch lengths. + + o The output of diversi.gof() was blurred by useless prints when a + user distribution was specified. This has been corrected, and + the help page of this function has been expanded. + + +OTHER CHANGES + + o The internal structure of the class "phylo" has been changed: + see the document "Definition of Formats for Coding Phylogenetic + Trees in R" for the details. In addition, the code of most + functions has been improved. + + o Several functions have been improved by replacing some R codes + by C codes: pic, plot.phylo, and reorder.phylo. + + o There is now a citation information: see citation("ape") in R. + + o write.tree() now does not add extra 0's to branch lengths so + that 1.23 is printed "1.23" by default, not "1.2300000000". + + o The syntax of bind.tree() has been simplified. This function now + accepts trees with no branch lengths, and handles correctly node + labels. + + o The option `as.numeric' of mrca() has been removed. + + o The unused options `format' and `rooted' of read.tree() have + been removed. + + o The unused option `format' of write.tree() has been removed. + + o The use of node.depth() has been simplified. + + + + CHANGES IN APE VERSION 1.8-5 + + +NEW FEATURES + + o Two new functions read.nexus.data() and write.nexus.data(), + contributed by Johan Nylander, allow to read and write molecular + sequences in NEXUS files. + + o The new function reorder.phylo() reorders the internal structure + of a tree of class "phylo". It is used as the generic, e.g., + reorder(tr). + + o read.tree() and read.nexus() can now read trees with a single + edge. + + o The new data set `cynipids' supplies a set of protein sequences + in NEXUS format. + + +BUG FIXES + + o The code of all.equal.phylo() has been completely rewritten + (thanks to Benoît Durand) which fixes several bugs. + + o read.tree() and read.nexus() now checks the labels of the tree + to remove or substitute any characters that are illegal in the + Newick format (parentheses, etc.) + + o A negative P-value could be returned by mantel.test(): this is + now fixed. + + + + CHANGES IN APE VERSION 1.8-4 + + +NEW FEATURES + + o The new function sh.test() computes the Shimodaira- + Hasegawa test. + + o The new function collapse.singles() removes the nodes with a + single descendant from a tree. + + o plot.phylo() has a new argument `tip.color' to specify the + colours of the tips. + + o mlphylo() has now an option `quiet' to control the display of + the progress of the analysis (the default is FALSE). + + +BUG FIXES + + o read.dna() did not read correctly sequences in sequential format + with leading alignment gaps "-": this is fixed. + + o ace() returned a list with no class so that the generic + functions (anova, logLik, ...) could not be used directly. This + is fixed as ace() now returns an object of class "ace". + + o anova.ace() had a small bug when computing the number of degrees + of freedom: this is fixed. + + o mlphylo() did not work when the sequences were in a matrix or + a data frame: this is fixed. + + o rtree() did not work correctly when trying to simulate an + unrooted tree with two tips: an error message is now issued. + + +OTHER CHANGES + + o The algorithm of rtree() has been changed: it is now about 40, + 100, and 130 times faster for 10, 100, and 1000 tips, + respectively. + + + + CHANGES IN APE VERSION 1.8-3 + + +NEW FEATURES + + o There are four new `method' functions to be used with the + results of ace(): logLik(), deviance(), AIC(), and anova(). + + o The plot method of phymltest has two new arguments: `main' to + change the title, and `col' to control the colour of the + segments showing the AIC values. + + o ace() has a new argument `ip' that gives the initial values used + in the ML estimation with discrete characters (see the examples + in ?ace). This function now returns a matrix giving the indices + of the estimated rates when analysing discrete characters. + + o nodelabels() and tiplabels() have a new argument `pie' to + represent proportions, with any number of categories, as + piecharts. The use of the option `thermo' has been improved: + there is now no limitation on the number of categories. + + +BUG FIXES + + o mlphylo() did not work with more than two partitions: this is + fixed. + + o root() failed if the proposed outgroup was already an outgroup + in the tree: this is fixed. + + o The `col' argument in nodelabels() and tiplabels() was not + correctly passed when `text' was used: this is fixed. + + o Two bugs were fixed in mlphylo(): parameters were not always + correctly output, and the estimation failed in some cases. + + o plot.phylo() was stuck when given a tree with a single tip: this + is fixed and a message error is now returned. + + o An error was corrected in the help page of gammaStat regarding + the calculation of P-values. + + o Using gls() could crash R when the number of species in the tree + and in the variables were different: this is fixed. + + + + CHANGES IN APE VERSION 1.8-2 + + +NEW FEATURES + + o The new function mlphylo() fits a phylogenetic tree by maximum + likelihood from DNA sequences. Its companion function DNAmodel() + is used to define the substitution model which may include + partitioning. There are methods for logLik(), deviance(), and + AIC(), and the summary() method has been extended to display in + a friendly way the results of this model fitting. Currently, the + functionality is limited to estimating the substitution and + associated parameters and computing the likelihood. + + o The new function drop1.compar.gee (used as, e.g., drop1(m)) + tests for single effects in GEE-based comparative method. A + warning message is printed if there is not enough degrees of + freedom. + + +BUG FIXES + + o An error message was sometimes issued by plot.multi.tree(), + though with no consequence. + + + + CHANGES IN APE VERSION 1.8-1 + + +NEW FEATURES + + o There is a new plot method for lists of trees (objects of class + "multi.tree"): it calls plot.phylo() internally and is + documented on the same help page. + + +BUG FIXES + + o A bug was fixed in the C code that analyzes bipartitions: this + has impact on several functions like prop.part, prop.clades, + boot.phylo, or consensus. + + o root() did not work correctly when the specified outgroup had + more than one element: this is fixed. + + o dist.dna() sometimes returned a warning inappropriately: this + has been corrected. + + o If the distance object given to nj() had no rownames, nj() + returned a tree with no tip labels: it now returns tips labelled + "1", "2", ..., corresponding to the row numbers. + + +OTHER CHANGES + + o nj() has been slightly changed so that tips with a zero distance + are first aggregated with zero-lengthed branches; the usual NJ + procedure is then performed on a distance matrix without 0's. + + + + CHANGES IN APE VERSION 1.8 + + +NEW FEATURES + + o The new function chronopl() estimates dates using the penalized + likelihood method by Sanderson (2002; Mol. Biol. Evol., 19:101). + + o The new function consensus() calculates the consensus tree of a + list of trees. + + o The new function evolve.phylo() simulates the evolution of + continuous characters along a phylogeny under a Brownian model. + + o The new plot method for objects of class "ancestral" displays a + tree together with ancestral values, as returned by the above + function. + + o The new function as.phylo.formula() returns a phylogeny from a + set of nested taxonomic variables given as a formula. + + o The new function read.caic() reads trees in CAIC format. + + o The new function tiplabels() allows to add labels to the tips + of a tree using text or plotting symbols in a flexible way. + + o The new function unroot() unroots a phylogeny. + + o multi2di() has a new option, `random', which specifies whether + to resolve the multichotomies randomly (the default) or not. + + o prop.part() now returns an object of class "prop.part" for which + there are print (to display a partition in a more friendly way) + and summary (to extract the numbers) methods. + + o plot.phylo() has a new option, `show.tip.label', specifying + whether to print the labels of the tips. The default is TRUE. + + o The code of nj() has been replaced by a faster C code: it is now + about 10, 25, and 40 times faster for 50, 100, and 200 taxa, + respectively. + + o write.nexus() now writes whether a tree is rooted or not. + + +BUG FIXES + + o Two bugs have been fixed in root(): unrooted trees are now + handled corretly, and node labels are now output normally. + + o A bug was fixed in phymltest(): the executable couldn't be found + in some cases. + + o Three bug have been fixed in ace(): computing the likelihood of + ancestral states of discrete characters failed, custom models + did not work, and the function failed with a null gradient (a + warning message is now returned; this latter bug was also + present in yule.cov() as well and is now fixed). + + o pic() hanged out when missing data were present: a message error + is now returned. + + o A small bug was fixed in dist.dna() where the gamma correction + was not always correctly dispatched. + + o plot.phylo() plotted correctly the root edge only when the tree + was plotted rightwards: this works now for all directions. + + +OTHER CHANGES + + o dist.taxo() has been renamed as weight.taxo(). + + o dist.phylo() has been replaced by the method cophenetic.phylo(). + + o Various error and warning messages have been improved. + + + + CHANGES IN APE VERSION 1.7 +NEW FEATURES + + o The new function ace() estimates ancestral character states for + continuous characters (with ML, GLS, and contrasts methods), and + discrete characters (with ML only) for any number of states. + + o The new function compar.ou() fits the Ornstein-Uhlenbeck model + of directional evolution for continuous characters. The user + specifies the node(s) of the tree where the character optimum + changes. + + o The new function is.rooted() tests whether a tree (of class + "phylo") is rooted. + + o The new function rcoal() generates random ultrametric trees with + the possibility to specify the function that generates the + inter-nodes distances. + + o The new function mrca() gives for all pairs of tips in a tree + (and optionally nodes too) the most recent common ancestor. + + o nodelabels() has a new option `thermo' to plot proportions (up + to three classes) on the nodes of a tree. + + o rtree() has been improved: it can now generate rooted or + unrooted trees, and the mathematical function that generates the + branch lengths may be specified by the user. The tip labels may + be given directly in the call to rtree. The limit cases (n = 2, + 3) are now handled correctly. + + o dist.topo() has a new argument `method' with two choices: "PH85" + for Penny and Henny's method (already available before and now + the default), and "BHV01" for the geometric distance by Billera + et al. (2001, Adv. Appl. Math. 27:733). + + o write.tree() has a new option, `digits', which specifies the + number of digits to be printed in the Newick tree. By default + digits = 10. The numbers are now always printed in decimal form + (i.e., 1.0e-1 is now avoided). + + o dist.dna() can now compute the raw distances between pairs of + DNA sequences by specifying model = "raw". + + o dist.phylo() has a new option `full' to possibly compute the + distances among all tips and nodes of the tree. The default if + `full = FALSE'. + + +BUG FIXES + + o Several bugs were fixed in all.equal.phylo(). + + o dist.dna() did not handle correctly gaps ("-") in alignments: + they are now considered as missing data. + + o rotate() did not work if the tips were not ordered: this is + fixed. + + o mantel.test() returned NA in some special cases: this is fixed + and the function has been improved and is now faster. + + o A bug was fixed in diversi.gof() where the calculation of A² was + incorrect. + + o cherry() did not work correctly under some OSs (mainly Linux): + this is fixed. + + o is.binary.tree() has been modified so that it works with both + rooted and unrooted trees. + + o The documentation of theta.s() was not correct: this has been + fixed. + + o plot.mst() did not work correctly: this is fixed. + + + + CHANGES IN APE VERSION 1.6 + + +NEW FEATURES + + o The new function dist.topo() computes the topological distances + between two trees. + + o The new function boot.phylo() performs a bootstrap analysis on + phylogeny estimation. + + o The new functions prop.part() and prop.clades() analyse + bipartitions from a series of trees. + + +OTHER CHANGES + + o read.GenBank() now uses the EFetch utility of NCBI instead of + the usual Web interface: it is now much faster (e.g., 12 times + faster to retrieve 8 sequences, 37 times for 60 sequences). + + +BUG FIXES + + o Several bugs were fixed in read.dna(). + + o Several bugs were fixed in diversi.time(). + + o is.binary.tree() did not work correctly if the tree has no edge + lengths: this is fixed. + + o drop.tip() did not correctly propagated the `node.label' of a + tree: this is fixed. + + + + CHANGES IN APE VERSION 1.5 + + +NEW FEATURES + + o Two new functions, as.matching.phylo() and as.phylo.matching(), + convert objects between the classes "phylo" and "matching". The + latter implements the representation of binary trees introduced by + Diaconis and Holmes (1998; PNAS 95:14600). The generic function + as.matching() has been introduced as well. + + o Two new functions, multi2di() and di2multi(), allow to resolve + and collapse multichotomies with branches of length zero. + + o The new function nuc.div() computes the nucleotide diversity + from a sample a DNA sequences. + + o dist.dna() has been completely rewritten with a much faster + (particularly for large data sets) C code. Eight models are + available: JC69, K80, F81, K81, F84, T92, TN93, and GG95 (the + option `method' has been renamed `model'). Computation of variance + is available for all models. A gamma-correction is possible for + JC69, K80, F81, and TN93. There is a new option, pairwise.deletion, + to remove sites with missing data on a pairwise basis. The option + `GCcontent' has been removed. + + o read.GenBank() has a new option (species.names) which specifies + whether to return the species names of the organisms in addition + to the accession numbers of the sequences (this is the default + behaviour). + + o write.nexus() can now write several trees in the same NEXUS file. + + o drop.tip() has a new option `root.edge' that allows to specify the + new root edge if internal branches are trimmed. + + +BUG FIXES + + o as.phylo.hclust() failed if some labels had parentheses: this + is fixed. + + o Several bugs were fixed in all.equal.phylo(). This function now + returns the logical TRUE if the trees are identical but with + different representations (a report was printed previously). + + o read.GenBank() did not correctly handle ambiguous base codes: + this is fixed. + + +OTHER CHANGES + + o birthdeath() now returns an object of class "birthdeath" for + which there is a print method. + + + + CHANGES IN APE VERSION 1.4 + + +NEW FEATURES + + o The new function nj() performs phylogeny estimation with the + neighbor-joining method of Saitou and Nei (1987; Mol. Biol. + Evol., 4:406). + + o The new function which.edge() identifies the edges of a tree + that belong to a group specified as a set of tips. + + o The new function as.phylo.phylog() converts an object of class + "phylog" (from the package ade4) into an object of class + "phylo". + + o The new function axisPhylo() draws axes on the side of a + phylogeny plot. + + o The new function howmanytrees() calculates the number of trees + in different cases and giving a number of tips. + + o write.tree() has a new option `multi.line' (TRUE by default) to + write a Newick tree on several lines rather than on a single + line. + + o The functionalities of zoom() have been extended. Several + subtrees can be visualized at the same time, and they are marked + on the main tree with colors. The context of the subtrees can be + marked with the option `subtree' (see below). + + o drop.tip() has a new option `subtree' (FALSE by default) which + specifies whether to output in the tree how many tips have been + deleted and where. + + o The arguments of add.scale.bar() have been redefined and have + now default values (see ?add.scale.bar for details). This + function now works even if the plotted tree has no edge length. + + o plot.phylo() can now plot radial trees, but this does not take + edge lengths into account. + + o In plot.phylo() with `type = "phylogram"', if the values of + `edge.color' and `edge.width' are identical for sister-branches, + they are propagated to the vertical line that link them. + + +BUG FIXES + + o Repeated calls to as.phylo.hclust() or as.hclust.phylo() made R + crashing. This is fixed. + + o In plot.phylo(), the options `edge.color' and `edge.width' are + now properly recycled; their default values are now "black" and + 1, respectively. + + o A bug has been fixed in write.nexus(). + + +OTHER CHANGES + + o The function node.depth.edgelength() has been removed and + replaced by a C code. + + + + CHANGES IN APE VERSION 1.3-1 + + +NEW FEATURES + + o The new function nodelabels() allows to add labels to the nodes + of a tree using text or plotting symbols in a flexible way. + + o In plot.phylo() the arguments `x.lim' and `y.lim' can now be two + numeric values specifying the lower and upper limits on the x- + and y-axes. This allows to leave some space on any side of the + tree. If a single value is given, this is taken as the upper + limit (as before). + + + + CHANGES IN APE VERSION 1.3 + + +NEW FEATURES + + o The new function phymltest() calls the software PHYML and fits + 28 models of DNA sequence evolution. There are a print method to + display likelihood and AIC values, a summary method to compute + the hierarchical likelihood ratio tests, and a plot method to + display graphically the AIC values of each model. + + o The new function yule.cov() fits the Yule model with covariates, + a model where the speciation rate is affected by several species + traits through a generalized linear model. The parameters are + estimated by maximum likelihood. + + o Three new functions, corBrownian(), corGrafen(), and + corMartins(), compute the expected correlation structures among + species given a phylogeny under different models of evolution. + These can be used for GLS comparative phylogenetic methods (see + the examples). There are coef() and corMatrix() methods and an + Initialize.corPhyl() function associated. + + o The new function compar.cheverud() implements Cheverud et al.'s + (1985; Evolution 39:1335) phylogenetic comparative method. + + o The new function varcomp() estimates variance components; it has + a plot method. + + o Two new functions, panel.superpose.correlogram() and + plot.correlogramList(), allow to plot several phylogenetic + correlograms. + + o The new function node.leafnumber() computes the number of leaves + of a subtree defined by a particular node. + + o The new function node.sons() gets all tags of son nodes from a + given parent node. + + o The new function compute.brlen() computes the branch lengths of + a tree according to a specified method. + + o plot.phylo() has three new options: "cex" controls the size of + the (tip and node) labels (thus it is no more needed to change + the global graphical parameter), "direction" which allows to + plot the tree rightwards, leftwards, upwards, or downwards, and + "y.lim" which sets the upper limit on the y-axis. + + +BUG FIXES + + o Some functions which try to match tip labels and names of + additional data (e.g. vector) are likely to fail if there are + typing or syntax errors. If both series of names do not perfectly + match, they are ignored and a warning message is now issued. + These functions are bd.ext, compar.gee, pic. Their help pages + have been clarified on this point. + + + + CHANGES IN APE VERSION 1.2-7 + + +NEW FEATURES + + o The new function root() reroots a phylogenetic tree with respect + to a specified outgroup. + + o The new function rotate() rotates an internal branch of a tree. + + o In plot.phylo(), the new argument "lab4ut" (labels for unrooted + trees) controls the display of the tip labels in unrooted trees. + This display has been greatly improved: the tip labels are now not + expected to overlap with the tree (particularly if lab4ut = + "axial"). In all cases, combining appropriate values of "lab4ut" + and the font size (via "par(cex = )") should result in readable + unrooted trees. See ?plot.phylo for some examples. + + o In drop.tip(), the argument `tip' can now be numeric or character. + + +BUG FIXES + + o drop.tip() did not work correctly with trees with no branch + lengths: this is fixed. + + o A bug in plot.phylo(..., type = "unrooted") made some trees being + plotted with some line crossings: this is now fixed. + + + + CHANGES IN APE VERSION 1.2-6 + + +NEW FEATURES + + o Six new functions (Moran.I, correlogram.formula, discrete.dist, + correlogram.phylo, dist.taxo, plot.correlogram) have been added + to implement comparative methods with an autocorrelation approach. + + o A new data set describing some life history traits of Carnivores + has been included. + + +BUG FIXES + + o A fix was made on mcmc.popsize() to conform to R 2.0.0. + + +OTHER CHANGES + + o When plotting a tree with plot.phylo(), the new default of the + option `label.offset' is now 0, so the labels are always visible. + + + + CHANGES IN APE VERSION 1.2-5 + + +NEW FEATURES + + o The new function bd.ext() fits a birth-death model with combined + phylogenetic and taxonomic data, and estimates the corresponding + speciation and extinction rates. + + +OTHER CHANGES + + o The package gee is no more required by ape but only suggested + since only the function compar.gee() calls gee. + + + + CHANGES IN APE VERSION 1.2-4 + + +NEW FEATURES + + o Four new functions (mcmc.popsize, extract.popsize, plot.popsize, + and lines.popsize) implementing a new approach for inferring the + demographic history from genealogies using a reversible jump + MCMC have been introduced. + + o The unit of time in the skyline plot and in the new plots can + now be chosen to be actual years, rather than substitutions. + + + + CHANGES IN APE VERSION 1.2-3 + + +NEW FEATURES + + o The new function rtree() generates a random binary tree with or + without branch lengths. + + o Two new functions for drawing lineages-through-time (LTT) plots + are provided: ltt.lines() adds a LTT curve to an existing plot, + and mltt.plot() does a multiple LTT plot giving several trees as + arguments (see `?ltt.plot' for details). + + +BUG FIXES + + o Some taxon names made R crashing when calling as.phylo.hclust(): + this is fixed. + + o dist.dna() returned an error with two identical DNA sequences + (only using the Jukes-Cantor method returned 0): this is fixed. + + +OTHER CHANGES + + o The function dist.phylo() has been re-written using a different + algorithm: it is now about four times faster. + + o The code of branching.times() has been improved: it is now about + twice faster. + + + + CHANGES IN APE VERSION 1.2-2 + + +NEW FEATURES + + o The new function seg.sites() finds the segregating sites in a + sample of DNA sequences. + + +BUG FIXES + + o A bug introduced in read.tree() and in read.nexus() with version + 1.2-1 was fixed. + + o A few errors were corrected and a few examples were added in the + help pages. + + + + CHANGES IN APE VERSION 1.2-1 + + +NEW FEATURES + + o plot.phylo() can now draw the edge of the root of a tree if it + has one (see the new option `root.edge', its default is FALSE). + + +BUG FIXES + + o A bug was fixed in read.nexus(): files with semicolons inside + comment blocks were not read correctly. + + o The behaviour of read.tree() and read.nexus() was corrected so + that tree files with badly represented root edges (e.g., with + an extra pair of parentheses, see the help pages for details) + are now correctly represented in the object of class "phylo"; + a warning message is now issued. + + + + CHANGES IN APE VERSION 1.2 + + +NEW FEATURES + + o plot.phylo() has been completely re-written and offers several + new functionalities. Three types of trees can now be drawn: + phylogram (as previously), cladogram, and unrooted tree; in + all three types the branch lengths can be drawn using the edge + lengths of the phylogeny or not (e.g., if the latter is absent). + The vertical position of the nodes can be adjusted with two + choices (see option `node.pos'). The code has been re-structured, + and two new functions (potentially useful for developpers) are + documented separately: node.depth.edgelength() and node.depth(); + see the respective help pages for details. + + o The new function zoom() allows to explore very large trees by + focusing on a small portion of it. + + o The new function yule() fits by maximum likelihood the Yule model + (birth-only process) to a phylogenetic tree. + + o Support for writing DNA sequences in FASTA format has been + introduced in write.dna() (support for reading sequences in + this format was introduced in read.dna() in version 1.1-2). + The function has been completely re-written, fixing some bugs + (see below); the default behaviour is no more to display the + sequences on the standard output. Several options have been + introduced to control the sequence printing in a flexible + way. The help page has been extended. + + o A new data set is included: a supertree of bats in NEXUS format. + + +BUG FIXES + + o In theta.s(), the default of the option `variance' has + been changed to `FALSE' (as was indicated in the help page). + + o Several bugs were fixed in the code of all.equal.phylo(). + + o Several bugs were fixed in write.dna(), particularly this + function did not work with `format = "interleaved"'. + + o Various errors were corrected in the help pages. + + +OTHER CHANGES + + o The argument names of as.hclust.phylo() have been changed + from "(phy)" to "(x, ...)" to conform to the definition of + the corresponding generic function. + + o gamma.stat() has been renamed gammaStat() to avoid confusion + since gamma() is a generic function. + + + + CHANGES IN APE VERSION 1.1-3 + + +BUG FIXES + + o base.freq() previously did not return a value of 0 for + bases absent in the data (e.g., a vector of length 3 was + returned if one base was absent). This is now fixed (a + vector of length 4 is always returned). + + o Several bugs were fixed in read.nexus(), including that this + function did not work in this absence of a "TRANSLATE" + command in the NEXUS file, and that the commands were + case-sensitive. + + + + CHANGES IN APE VERSION 1.1-2 + + +NEW FEATURES + + o The Tamura and Nei (1993) model of DNA distance is now implemented + in dist.dna(): five models are now available in this function. + + o A new data set is included: a set of 15 sequences of the + cytochrome b mitochondrial gene of the woodmouse (Apodemus + sylvaticus). + + +BUG FIXES + + o A bug in read.nexus() was fixed. + + o read.dna() previously did not work correctly in most cases. + The function has been completely re-written and its help page + has been considerably extended (see ?read.dna for details). + Underscores (_) in taxon names are no more replaced with + spaces (this behaviour was undocumented). + + o A bug was fixed in write.dna(). + + + + CHANGES IN APE VERSION 1.1-1 + + +BUG FIXES + + o A bug in read.tree() introduced in APE 1.1 was fixed. + + o A bug in compar.gee() resulted in an error when trying to fit + a model with `family = "binomial"'. This is now fixed. + + + + CHANGES IN APE VERSION 1.1 + + +NEW FEATURES + + o The Klastorin (1982) method as suggested by Misawa and Tajima + (2000, Mol. Biol. Evol. 17:1879-1884) for classifying genes + on the basis of phylogenetic trees has been implemented (see + the function klastorin()). + + o Functions have been added to convert APE's "phylo" objects in + "hclust" cluster objects and vice versa (see the help page of + as.phylo for details). + + o Three new functions, ratogram(), chronogram() and NPRS.criterion(), + are introduced for the estimation of absolute evolutionary rates + (ratogram) and dated clock-like trees (chronogram) from + phylogenetic trees using the non-parametric rate smoothing approach + by MJ Sanderson (1997, Mol. Biol. Evol. 14:1218-1231). + + o A summary method is now provided printing a summary information on a + phylogenetic tree with, for instance, `summary(tree)'. + + o The behaviour of read.tree() was changed so that all spaces and + tabulations in tree files are now ignored. Consequently, spaces in tip + labels are no more allowed. Another side effect is that read.nexus() + now does not replace the underscores (_) in tip labels with spaces + (this behaviour was undocumented). + + o The function plot.phylo() has a new option (`underscore') which + specifies whether the underscores in tip labels should be written on + the plot as such or replaced with spaces (the default). + + o The function birthdeath() now computes 95% confidence intervals of + the estimated parameters using profile likelihood. + + o Three new data sets are included: a gene tree estimated from 36 + landplant rbcL sequences, a gene tree estimated from 32 opsin + sequences, and a gene tree for 50 BRCA1 mammalian sequences. + + +BUG FIXES + + o A bug was fixed in dist.gene() where nothing was returned. + + o A bug in plot.mst() was fixed. + + o A bug in vcv.phylo() resulted in false correlations when the + option `cor = TRUE' was used (now fixed). + + + + CHANGES IN APE VERSION 1.0 + + +NEW FEATURES + + o Two new functions, read.dna() and write.dna(), read/write in a file + DNA sequences in interleaved or in sequential format. + + o Two new functions, read.nexus() and write.nexus(), read/write trees + in a NEXUS file. + + o The new function bind.tree() allows to bind two trees together, + possibly handling root edges to give internal branches. + + o The new function drop.tip() removes the tips in a phylogenetic tree, + and trims (or not) the corresponding internal branches. + + o The new function is.ultrametric() tests if a tree is ultrametric. + + o The function plot.phylo() has more functionalities such as drawing the + branches with different colours and/or different widths, showing the + node labels, controling the position and font of the labels, rotating + the labels, and controling the space around the plot. + + o The function read.tree() can now read trees with no branch length, + such as "(a,b),c);". Consequently, the element `edge.length' in + objects of class "phylo" is now optional. + + o The function write.tree() has a new default behaviour: if the default + for the option `file' is used (i.e. file = ""), then a variable of + mode character containing the tree in Newick format is returned which + can thus be assigned (e.g., tree <- write.tree(phy)). + + o The function read.tree() has a new argument `text' which allows + to read the tree in a variable of mode character. + + o A new data set is included: the phylogenetic relationships among + the orders of birds from Sibley and Ahlquist (1990). + + + + CHANGES IN APE VERSION 0.2-1 + + +BUG FIXES + + o Several bugs were fixed in the help pages. + + + + CHANGES IN APE VERSION 0.2 + + +NEW FEATURES + + o The function write.tree() writes phylogenetic trees (objects of class + "phylo") in an ASCII file using the Newick parenthetic format. + + o The function birthdeath() fits a birth-death model to branching times + by maximum likelihood, and estimates the corresponding speciation and + extinction rates. + + o The function scale.bar() adds a scale bar to a plot of a phylogenetic + tree. + + o The function is.binary.tree() tests whether a phylogeny is binary. + + o Two generic functions, coalescent.intervals() and collapsed.intervals(), + as well as some methods are introduced. + + o Several functions, including some generics and methods, for computing + skyline plot estimates (classic and generalized) of effective + population size through time are introduced and replace the function + skyline.plot() in version 0.1. + + o Two data sets are now included: the phylogenetic relationships among + the families of birds from Sibley and Ahlquist (1990), and an + estimated clock-like phylogeny of HIV sequences sampled in the + Democratic Republic of Congo. + + +DEPRECATED & DEFUNCT + + o The function skyline.plot() in ape 0.1 has been deprecated and + replaced by more elaborate functions (see above). + + +BUG FIXES + + o Two important bugs were fixed in plot.phylo(): phylogenies with + multichotomies not at the root or not with only terminal branches, + and phylogenies with a single node (i.e. only terminal branches) + did not plot. These trees should be plotted correctly now. + + o Several bugs were fixed in diversi.time() in the computation of + AICs and LRTs. + + o Various errors were corrected in the help pages.