+++ /dev/null
- 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.
--- /dev/null
+ 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.