]> git.donarmstrong.com Git - ape.git/blobdiff - NEWS
final corrections for ape 3.0-6
[ape.git] / NEWS
diff --git a/NEWS b/NEWS
index f80ec46d3747d4324a65594c83a0a90007da4800..e90cec15c61f7d4d1bae3e76033142edcfac8b3d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,344 @@
+               CHANGES IN APE VERSION 3.0-6
+
+
+NEW FEATURES
+
+    o reorder.phylo() has a new order, "postorder", and a new option
+      index.only = TRUE to return only the vector of indices (the tree
+      is unmodified, see ?reorder.phylo for details).
+
+    o The three new functions node.depth.edgelength, node.height, and
+      node.height.clado make some internal code available from R. See
+      ?node.depth (which was already documented) for details.
+
+
+BUG FIXES
+
+    o reorder(, "pruningwise") made R crash if the rows of the edge
+      matrix are in random order: this is now fixed.
+
+    o drop.tip() sometimes shuffled node labels (thanks to Rebecca
+      Best for the report).
+
+    o drop.tip(phy, "") returned a tree with zero-length tip labels:
+      it now returns the tree unchanged (thanks to Brian Anacker for
+      the report).
+
+    o plot.phylo() made R crash if the tree has zero-length tip
+      labels: it now returns NULL (thanks again to Brian Anacker).
+
+
+OTHER CHANGES
+
+    o dist.nodes() is now 6 to 10 times faster.
+
+    o reorder(, "cladewise") is now faster. The change is not very
+      visible for small trees (n < 1000) but this can be more than
+      1000 faster for big trees (n >= 1e4).
+
+    o The attribute "order" of the objects of class "phylo" is now
+      strongly recommended, though not mandatory. Most functions in
+      ape should return a tree with this attribute correctly set.
+
+    o dbd() is now vectorized on both arguments 'x' (number of species
+      in clade) and 't' (clade age) to make likelihood calculations
+      easier and faster.
+
+
+
+               CHANGES IN APE VERSION 3.0-5
+
+
+BUG FIXES
+
+    o ace() should better catch errors when SEs cannot be computed.
+
+
+OTHER CHANGES
+
+    o write.dna(format = "fasta") now conforms more closely to the
+      FASTA standard thanks to François Michonneau.
+
+    o print.DNAbin() does not print base compositions if there are more
+      than one million nucleotides.
+
+
+
+               CHANGES IN APE VERSION 3.0-4
+
+
+BUG FIXES
+
+    o read.dna() failed to read Phylip files if the first line used
+      tabulations instead of white spaces.
+
+    o read.dna() failed to read Phylip or Clustal files with less than
+      10 nucleotides. (See other changes in this function below.)
+
+OTHER CHANGES
+
+    o read.dna() now requires at least one space (or tab) between the
+      taxa names and the sequences (whatever the length of taxa
+      names). write.dna() now follows the same rule.
+
+    o The option 'seq.names' of read.dna has been removed.
+
+    o The files ape-defunct.R and ape-defunct.Rd, which have not been
+      modified for almost two years, have been removed.
+
+    o The C code of bionj() has been reworked: it is more stable (by
+      avoiding passing character strings), slightly faster (by about
+      20%), and numerically more accurate.
+
+    o The C code of fastme.*() has been slightly modified and should
+      be more stable by avoiding passing character strings (the
+      results are identical to the previous versions).
+
+    o The file src/newick.c has been removed.
+
+
+
+               CHANGES IN APE VERSION 3.0-3
+
+
+BUG FIXES
+
+    o birthdeath() now catches errors and warnings much better so that
+      a result is returned in most cases.
+
+
+OTHER CHANGES
+
+    o Because of problems with character string manipulation in C, the
+      examples in ?bionj and in ?fastme have been disallowed. In the
+      meantime, these functions might be unstable. This will be solved
+      for the next release.
+
+
+
+               CHANGES IN APE VERSION 3.0-2
+
+
+NEW FEATURES
+
+    o The new function alex (alignment explorator) zooms in a DNA
+      alignment and opens the result in a new window.
+
+
+BUG FIXES
+
+    o compute.brtime() did not completely randomized the order of the
+      branching times.
+
+    o write.nexus() did not work correctly with rooted trees (thanks
+      to Matt Johnson for the fix).
+
+    o mltt.plot(, backward = FALSE) did not set the x-axis correctly.
+
+    o A bug was introduced in prop.clades() with ape 3.0. The help page
+      has been clarified relative to the use of the option 'rooted'.
+
+    o mantel.test() printed a useless warning message.
+
+    o plot.phylo(, direction = "downward") ignored 'y.lim'.
+
+    o is.monophyletic() did not work correctly if 'tips' was not stored
+      as integers.
+
+    o prop.part() could make R crash if the first tree had many
+      multichotomies.
+
+    o njs(), bionjs(), and mvrs() now return an error if 'fs < 1'.
+
+    o SDM() did not work correctly. The code has also been generally
+      improved.
+
+
+OTHER CHANGES
+
+    o The DESCRIPTION file has been updated.
+
+    o The option 'original.data' of write.nexus() has been removed.
+
+    o The files bionjs.c, mvr.c, mvrs.c, njs.c, triangMtd.c, and
+      triangMtds.c have been improved which should fix some bugs in
+      the corresponding functions.
+
+    o dist.gene() now coerces input data frame as matrix resulting in
+      much faster calculations (thanks to a suggestion by Markus
+      Schlegel).
+
+
+
+               CHANGES IN APE VERSION 3.0-1
+
+
+NEW FEATURES
+
+    o dist.dna() has two new models: "indel" and "indelblock".
+
+    o bind.tree() now accepts 'position' > 0 when the trees have no
+      banch length permitting to create a node in 'x' when grafting
+      'y' (see ?bind.tree for details).
+
+
+BUG FIXES
+
+    o cophyloplot( , rotate = TRUE) made R hanged after a few clicks.
+      Also the tree is no more plotted twice.
+
+    o read.GenBank() has been updated to work with EFetch 2.0.
+
+    o unroot() on trees in "pruningwise" order did not respect this
+      attribute.
+
+
+
+               CHANGES IN APE VERSION 3.0
+
+
+NEW FEATURES
+
+    o The three functions dyule, dbd, and dbdTime calculate the
+      density probability (i.e., the distribution of the number of
+      species) for the Yule, the constant and the time-dependent
+      birth-beath models, respectively. These probabilities can be
+      conditional on no extinction and/or on a log-scale.
+
+    o plot.phylo() has a new option 'rotate.tree' to rotate unrooted,
+      fan, or radial trees around the center of the plot.
+
+    o boot.phylo() and prop.clades() have a new option rooted =
+      FALSE. Note that the behaviour of prop.part() is unchanged.
+
+    o edgelabels() has a new option 'date' to place labels on edges of
+      chronograms using the time scale (suggestion by Rob Lanfear).
+
+
+BUG FIXES
+
+    o In chronopl(), the code setting the initial dates failed in
+      complicated settings (several dates known within intervals).
+      This has been generally improved and should result in faster
+      and more efficient convergence even in simple settings.
+
+    o mantel.test() sometimes returned P-values > 1 with the default
+      two-tailed test.
+
+    o extract.clade() sometimes shuffled some tip labels (thanks to
+      Ludovic Mallet and Mahendra Mariadassou for the fix).
+
+    o clustal() should now find by default the executable under Windows.
+
+
+OTHER CHANGES
+
+    o The code of yule() has been simplified and is now much faster for
+      big trees.
+
+    o The code of mantel.test() has been adjusted to be consistent
+      with common permutation tests.
+
+    o The C code of base.freq() has been improved and is now nearly 8
+      times faster.
+
+    o The option 'original.data' of write.nexus() is now deprecated and
+      will be removed in a future release.
+
+    o The code of is.ultrametric() has been improved and is now 3 times
+      faster.
+
+    o The code of vcv.phylo() has been improved and is now 10 or 30
+      times faster for 100 or 1000 tips, respectively. Consequently,
+      fitting models with PGLS will be faster overall.
+
+
+
+               CHANGES IN APE VERSION 2.8
+
+
+NEW FEATURES
+
+    o Twelve new functions have been written by Andrei-Alin Popescu:
+      additive, ultrametric, is.compatible, arecompatible, mvr, mvrs,
+      njs, bionjs, SDM, treePop, triangMtd, triangMtd*.
+
+    o A new class "bitsplits" has been created by Andrei-Alin Popescu
+      to code splits (aka, bipartition).
+
+    o There is a new generic function as.bitsplits with a method to
+      convert from the class "prop.part" to the class "bitsplits".
+
+    o The new function ltt.coplot plots on the same scales a tree and
+      the derived LTT plot.
+
+    o ltt.plot() has two new options: backward and tol. It can now
+      handle non-ultrametic trees and its internal coding has been
+      improved. The coordinates of the plot can now be computed with
+      the new function ltt.plot.coords.
+
+
+BUG FIXES
+
+    o prop.part() crashed if some trees had some multichotomies.
+
+
+
+               CHANGES IN APE VERSION 2.7-3
+
+
+NEW FEATURES
+
+    o The new function compute.brtime computes and sets branching times.
+
+    o mantel.test() has a new argument 'alternative' which is
+      "two-sided" by default. Previously, this test was one-tailed
+      with no possibility to change.
+
+    o ace() can now do REML estimation with continuous characters,
+      giving better estimates of the variance of the Brownian motion
+      process.
+
+
+BUG FIXES
+
+    o Branch lengths were wrongly updated with bind.tree(, where = <tip>,
+      position = 0). (Thanks to Liam Revell for digging this bug out.)
+
+    o Simulation of OU process with rTraitCont() did not work correctly.
+      This now uses formula from Gillespie (1996) reduced to a BM
+      process when alpha = 0 to avoid division by zero. The option
+      'linear' has been removed.
+
+    o Cross-validation in chronopl() did not work when 'age.max' was
+      used.
+
+    o consensus(, p = 0.5) could return an incorrect tree if some
+      incompatible splits occur in 50% of the trees (especially with
+      small number of trees).
+
+    o c() with "multiPhylo" did not work correctly (thanks to Klaus
+      Schliep for the fix).
+
+    o root() failed in some cases with an outgroup made of several tips.
+      The help page has been clarified a bit.
+
+
+
                CHANGES IN APE VERSION 2.7-2
 
 
 NEW FEATURES
 
                CHANGES IN APE VERSION 2.7-2
 
 
 NEW FEATURES
 
-    o plot.phylo() has a new option 'draw = TRUE'. If FALSE, the tree
+    o There is a new class "evonet" to code evolutionary networks, with
+      a constructor function evonet(), a print() and a plot() methods,
+      and four conversion methods to the classes "phylo", "networx",
+      "network", and "igraph".
+
+    o The new function rTraitMult does multivariate traits simulation
+      with user-defined models.
+
+    o plot.phylo() has a new option 'plot = TRUE'. If FALSE, the tree
       is not plotted but the graphical device is set and the
       coordinates are saved as usual.
 
       is not plotted but the graphical device is set and the
       coordinates are saved as usual.
 
@@ -13,6 +348,11 @@ NEW FEATURES
     o add.scale.bar() has two new options, 'lwd' and 'lcol', to modify
       the aspect of the bar.
 
     o add.scale.bar() has two new options, 'lwd' and 'lcol', to modify
       the aspect of the bar.
 
+    o boot.phylo() now displays a progress bar by default (can be off
+      if 'quiet = TRUE').
+
+    o There is a new predict() method for compar.gee().
+
 
 BUG FIXES
 
 
 BUG FIXES
 
@@ -23,6 +363,15 @@ BUG FIXES
 
     o read.nexus.data() failed with URLs.
 
 
     o read.nexus.data() failed with URLs.
 
+    o boot.phylo() returned overestimated support values in the
+      presence of identical or nearly identical sequences.
+
+
+OTHER CHANGES
+
+    o The data bird.families, bird.orders, cynipids, and woodmouse are
+      now provided as .rda files.
+
 
 
                CHANGES IN APE VERSION 2.7-1
 
 
                CHANGES IN APE VERSION 2.7-1
@@ -56,8 +405,8 @@ BUG FIXES
 
 OTHER CHANGES
 
 
 OTHER CHANGES
 
-    o identify.phylo() now returns NULL if the user right-(instead of
-      left-)clicks (an error was returned previously).
+    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.
 
     o read.nexus() should be robust to commands inserted in the TREES
       block.