]> git.donarmstrong.com Git - ape.git/blob - NEWS
adding the new function 'where'
[ape.git] / NEWS
1                 CHANGES IN APE VERSION 3.0-7
2
3
4 NEW FEATURES
5
6     o The new function 'where' searches patterns in DNA sequences.
7
8     o pic() gains an option 'rescaled.tree = FALSE' to return the tree
9       with its branch lengths rescaled for the PICs calculation.
10
11
12 BUG FIXES
13
14     o drop.tip() shuffled node labels on some trees.
15
16
17
18                 CHANGES IN APE VERSION 3.0-6
19
20
21 NEW FEATURES
22
23     o reorder.phylo() has a new order, "postorder", and a new option
24       index.only = TRUE to return only the vector of indices (the tree
25       is unmodified, see ?reorder.phylo for details).
26
27     o The three new functions node.depth.edgelength, node.height, and
28       node.height.clado make some internal code available from R. See
29       ?node.depth (which was already documented) for details.
30
31
32 BUG FIXES
33
34     o reorder(, "pruningwise") made R crash if the rows of the edge
35       matrix are in random order: this is now fixed.
36
37     o drop.tip() sometimes shuffled node labels (thanks to Rebecca
38       Best for the report).
39
40     o drop.tip(phy, "") returned a tree with zero-length tip labels:
41       it now returns the tree unchanged (thanks to Brian Anacker for
42       the report).
43
44     o plot.phylo() made R crash if the tree has zero-length tip
45       labels: it now returns NULL (thanks again to Brian Anacker).
46
47
48 OTHER CHANGES
49
50     o dist.nodes() is now 6 to 10 times faster.
51
52     o reorder(, "cladewise") is now faster. The change is not very
53       visible for small trees (n < 1000) but this can be more than
54       1000 faster for big trees (n >= 1e4).
55
56     o The attribute "order" of the objects of class "phylo" is now
57       strongly recommended, though not mandatory. Most functions in
58       ape should return a tree with this attribute correctly set.
59
60     o dbd() is now vectorized on both arguments 'x' (number of species
61       in clade) and 't' (clade age) to make likelihood calculations
62       easier and faster.
63
64
65
66                 CHANGES IN APE VERSION 3.0-5
67
68
69 BUG FIXES
70
71     o ace() should better catch errors when SEs cannot be computed.
72
73
74 OTHER CHANGES
75
76     o write.dna(format = "fasta") now conforms more closely to the
77       FASTA standard thanks to François Michonneau.
78
79     o print.DNAbin() does not print base compositions if there are more
80       than one million nucleotides.
81
82
83
84                 CHANGES IN APE VERSION 3.0-4
85
86
87 BUG FIXES
88
89     o read.dna() failed to read Phylip files if the first line used
90       tabulations instead of white spaces.
91
92     o read.dna() failed to read Phylip or Clustal files with less than
93       10 nucleotides. (See other changes in this function below.)
94
95 OTHER CHANGES
96
97     o read.dna() now requires at least one space (or tab) between the
98       taxa names and the sequences (whatever the length of taxa
99       names). write.dna() now follows the same rule.
100
101     o The option 'seq.names' of read.dna has been removed.
102
103     o The files ape-defunct.R and ape-defunct.Rd, which have not been
104       modified for almost two years, have been removed.
105
106     o The C code of bionj() has been reworked: it is more stable (by
107       avoiding passing character strings), slightly faster (by about
108       20%), and numerically more accurate.
109
110     o The C code of fastme.*() has been slightly modified and should
111       be more stable by avoiding passing character strings (the
112       results are identical to the previous versions).
113
114     o The file src/newick.c has been removed.
115
116
117
118                 CHANGES IN APE VERSION 3.0-3
119
120
121 BUG FIXES
122
123     o birthdeath() now catches errors and warnings much better so that
124       a result is returned in most cases.
125
126
127 OTHER CHANGES
128
129     o Because of problems with character string manipulation in C, the
130       examples in ?bionj and in ?fastme have been disallowed. In the
131       meantime, these functions might be unstable. This will be solved
132       for the next release.
133
134
135
136                 CHANGES IN APE VERSION 3.0-2
137
138
139 NEW FEATURES
140
141     o The new function alex (alignment explorator) zooms in a DNA
142       alignment and opens the result in a new window.
143
144
145 BUG FIXES
146
147     o compute.brtime() did not completely randomized the order of the
148       branching times.
149
150     o write.nexus() did not work correctly with rooted trees (thanks
151       to Matt Johnson for the fix).
152
153     o mltt.plot(, backward = FALSE) did not set the x-axis correctly.
154
155     o A bug was introduced in prop.clades() with ape 3.0. The help page
156       has been clarified relative to the use of the option 'rooted'.
157
158     o mantel.test() printed a useless warning message.
159
160     o plot.phylo(, direction = "downward") ignored 'y.lim'.
161
162     o is.monophyletic() did not work correctly if 'tips' was not stored
163       as integers.
164
165     o prop.part() could make R crash if the first tree had many
166       multichotomies.
167
168     o njs(), bionjs(), and mvrs() now return an error if 'fs < 1'.
169
170     o SDM() did not work correctly. The code has also been generally
171       improved.
172
173
174 OTHER CHANGES
175
176     o The DESCRIPTION file has been updated.
177
178     o The option 'original.data' of write.nexus() has been removed.
179
180     o The files bionjs.c, mvr.c, mvrs.c, njs.c, triangMtd.c, and
181       triangMtds.c have been improved which should fix some bugs in
182       the corresponding functions.
183
184     o dist.gene() now coerces input data frame as matrix resulting in
185       much faster calculations (thanks to a suggestion by Markus
186       Schlegel).
187
188
189
190                 CHANGES IN APE VERSION 3.0-1
191
192
193 NEW FEATURES
194
195     o dist.dna() has two new models: "indel" and "indelblock".
196
197     o bind.tree() now accepts 'position' > 0 when the trees have no
198       banch length permitting to create a node in 'x' when grafting
199       'y' (see ?bind.tree for details).
200
201
202 BUG FIXES
203
204     o cophyloplot( , rotate = TRUE) made R hanged after a few clicks.
205       Also the tree is no more plotted twice.
206
207     o read.GenBank() has been updated to work with EFetch 2.0.
208
209     o unroot() on trees in "pruningwise" order did not respect this
210       attribute.
211
212
213
214                 CHANGES IN APE VERSION 3.0
215
216
217 NEW FEATURES
218
219     o The three functions dyule, dbd, and dbdTime calculate the
220       density probability (i.e., the distribution of the number of
221       species) for the Yule, the constant and the time-dependent
222       birth-beath models, respectively. These probabilities can be
223       conditional on no extinction and/or on a log-scale.
224
225     o plot.phylo() has a new option 'rotate.tree' to rotate unrooted,
226       fan, or radial trees around the center of the plot.
227
228     o boot.phylo() and prop.clades() have a new option rooted =
229       FALSE. Note that the behaviour of prop.part() is unchanged.
230
231     o edgelabels() has a new option 'date' to place labels on edges of
232       chronograms using the time scale (suggestion by Rob Lanfear).
233
234
235 BUG FIXES
236
237     o In chronopl(), the code setting the initial dates failed in
238       complicated settings (several dates known within intervals).
239       This has been generally improved and should result in faster
240       and more efficient convergence even in simple settings.
241
242     o mantel.test() sometimes returned P-values > 1 with the default
243       two-tailed test.
244
245     o extract.clade() sometimes shuffled some tip labels (thanks to
246       Ludovic Mallet and Mahendra Mariadassou for the fix).
247
248     o clustal() should now find by default the executable under Windows.
249
250
251 OTHER CHANGES
252
253     o The code of yule() has been simplified and is now much faster for
254       big trees.
255
256     o The code of mantel.test() has been adjusted to be consistent
257       with common permutation tests.
258
259     o The C code of base.freq() has been improved and is now nearly 8
260       times faster.
261
262     o The option 'original.data' of write.nexus() is now deprecated and
263       will be removed in a future release.
264
265     o The code of is.ultrametric() has been improved and is now 3 times
266       faster.
267
268     o The code of vcv.phylo() has been improved and is now 10 or 30
269       times faster for 100 or 1000 tips, respectively. Consequently,
270       fitting models with PGLS will be faster overall.
271
272
273
274                 CHANGES IN APE VERSION 2.8
275
276
277 NEW FEATURES
278
279     o Twelve new functions have been written by Andrei-Alin Popescu:
280       additive, ultrametric, is.compatible, arecompatible, mvr, mvrs,
281       njs, bionjs, SDM, treePop, triangMtd, triangMtd*.
282
283     o A new class "bitsplits" has been created by Andrei-Alin Popescu
284       to code splits (aka, bipartition).
285
286     o There is a new generic function as.bitsplits with a method to
287       convert from the class "prop.part" to the class "bitsplits".
288
289     o The new function ltt.coplot plots on the same scales a tree and
290       the derived LTT plot.
291
292     o ltt.plot() has two new options: backward and tol. It can now
293       handle non-ultrametic trees and its internal coding has been
294       improved. The coordinates of the plot can now be computed with
295       the new function ltt.plot.coords.
296
297
298 BUG FIXES
299
300     o prop.part() crashed if some trees had some multichotomies.
301
302
303
304                 CHANGES IN APE VERSION 2.7-3
305
306
307 NEW FEATURES
308
309     o The new function compute.brtime computes and sets branching times.
310
311     o mantel.test() has a new argument 'alternative' which is
312       "two-sided" by default. Previously, this test was one-tailed
313       with no possibility to change.
314
315     o ace() can now do REML estimation with continuous characters,
316       giving better estimates of the variance of the Brownian motion
317       process.
318
319
320 BUG FIXES
321
322     o Branch lengths were wrongly updated with bind.tree(, where = <tip>,
323       position = 0). (Thanks to Liam Revell for digging this bug out.)
324
325     o Simulation of OU process with rTraitCont() did not work correctly.
326       This now uses formula from Gillespie (1996) reduced to a BM
327       process when alpha = 0 to avoid division by zero. The option
328       'linear' has been removed.
329
330     o Cross-validation in chronopl() did not work when 'age.max' was
331       used.
332
333     o consensus(, p = 0.5) could return an incorrect tree if some
334       incompatible splits occur in 50% of the trees (especially with
335       small number of trees).
336
337     o c() with "multiPhylo" did not work correctly (thanks to Klaus
338       Schliep for the fix).
339
340     o root() failed in some cases with an outgroup made of several tips.
341       The help page has been clarified a bit.
342
343
344
345                 CHANGES IN APE VERSION 2.7-2
346
347
348 NEW FEATURES
349
350     o There is a new class "evonet" to code evolutionary networks, with
351       a constructor function evonet(), a print() and a plot() methods,
352       and four conversion methods to the classes "phylo", "networx",
353       "network", and "igraph".
354
355     o The new function rTraitMult does multivariate traits simulation
356       with user-defined models.
357
358     o plot.phylo() has a new option 'plot = TRUE'. If FALSE, the tree
359       is not plotted but the graphical device is set and the
360       coordinates are saved as usual.
361
362     o diversity.contrast.test() gains a fourth version of the test with
363       method = "logratio"; the literature citations have been clarified.
364
365     o add.scale.bar() has two new options, 'lwd' and 'lcol', to modify
366       the aspect of the bar.
367
368     o boot.phylo() now displays a progress bar by default (can be off
369       if 'quiet = TRUE').
370
371     o There is a new predict() method for compar.gee().
372
373
374 BUG FIXES
375
376     o bionj() made R crash if distances were too large. It now returns
377       an error if at least one distance is greater than 100.
378
379     o drop.tip() returned a wrong tree if 'tip' was of zero length.
380
381     o read.nexus.data() failed with URLs.
382
383     o boot.phylo() returned overestimated support values in the
384       presence of identical or nearly identical sequences.
385
386
387 OTHER CHANGES
388
389     o The data bird.families, bird.orders, cynipids, and woodmouse are
390       now provided as .rda files.
391
392
393
394                 CHANGES IN APE VERSION 2.7-1
395
396
397 NEW FEATURES
398
399     o The new function trex does tree exploration with multiple
400       graphical devices.
401
402     o The new function kronoviz plots several rooted (dated) trees on
403       the scale scale.
404
405     o identify.phylo() has a new option 'quiet' (FALSE by default).
406
407
408 BUG FIXES
409
410     o A bug was introduced in read.nexus() in ape 2.7.
411
412     o image.DNAbin() did not colour correctly the bases if there were
413       some '-' and no 'N'.
414
415     o .compressTipLabel() failed with a list with a single tree.
416
417     o identify.phylo() returned a wrong answer when the x- and y-scales
418       are very different.
419
420     o write.nexus() failed with lists of trees with compressed labels.
421
422
423 OTHER CHANGES
424
425     o identify.phylo() now returns NULL if the user right- (instead of
426       left-) clicks (an error was returned previously).
427
428     o read.nexus() should be robust to commands inserted in the TREES
429       block.
430
431
432
433                 CHANGES IN APE VERSION 2.7
434
435
436 NEW FEATURES
437
438     o There is a new image() method for "DNAbin" objects: it plots DNA
439       alignments in a flexible and efficient way.
440
441     o Two new functions as.network.phylo and as.igraph.phylo convert
442       trees of class "phylo" into these respective network classes
443       defined in the packages of the same names.
444
445     o The three new functions clustal, muscle, and tcoffee perform
446       nucleotide sequence alignment by calling the external programs
447       of the same names.
448
449     o Four new functions, diversity.contrast.test, mcconwaysims.test,
450       richness.yule.test, and slowinskiguyer.test, implement various
451       tests of diversification shifts using sister-clade comparisons.
452
453     o base.freq() gains an option 'all' to count all the possible bases
454       including the ambiguous ones (defaults to FALSE).
455
456     o read.nexus() now writes tree names in the NEXUS file if given a
457       list of trees with names.
458
459
460 BUG FIXES
461
462     o prop.part() failed in some situations with unrooted trees.
463
464     o read.nexus() shuffled node labels when a TRANSLATE block was
465       present.
466
467     o varCompPhylip() did not work if 'exec' was specified.
468
469     o bind.tree() shuffled node labels when position > 0 and 'where'
470       was not the root.
471
472
473 OTHER CHANGES
474
475     o BaseProportion in src/dist_dna.c has been modified.
476
477     o A number of functions in src/tree_build.c have been modified.
478
479     o The matching representation has now only two columns as the third
480       column was redundant.
481
482
483
484                 CHANGES IN APE VERSION 2.6-3
485
486
487 NEW FEATURES
488
489     o rTraitCont() and rTraitDisc() gains a '...' argument used with
490       user-defined models (suggestion by Gene Hunt).
491
492
493 BUG FIXES
494
495     o as.hclust.phylo() now returns an error with unrooted trees.
496
497     o as.hclust.phylo() failed with trees with node labels (thanks to
498       Jinlong Zhang for pointing this bug out).
499
500     o read.dna(, "fasta") failed if sequences were not all of the same
501       length.
502
503     o plot.phylo() did not recycle values of 'font', 'cex' and
504       'tip.color' correctly when type = "fan" or "radial".
505
506     o plot.phylo() ignored 'label.offset' when type = "radial", "fan", or
507       "unrooted" with lab4ut = "axial" (the placement of tip labels still
508       needs to be improved with lab4ut = "horizontal").
509
510
511 OTHER CHANGES
512
513     o In drop.fossil() the default tol = 0 has been raised to 1e-8.
514
515     o The help command ?phylo now points to the man page of read.tree()
516       where this class is described. Similarly, ?matching points to the
517       man page of as.matching().
518
519
520
521                 CHANGES IN APE VERSION 2.6-2
522
523
524 NEW FEATURES
525
526     o Two new functions, pic.ortho and varCompPhylip, implements the
527       orthonormal contrasts of Felsenstein (2008, Am Nat, 171:713). The
528       second function requires Phylip to be installed on the computer.
529
530     o bd.ext() has a new option conditional = TRUE to use probabilities
531       conditioned on no extinction for the taxonomic data.
532
533
534 BUG FIXES
535
536     o write.tree() failed to output correctly tree names.
537
538     o dist.nodes() returned duplicated column(s) with unrooted and/or
539       multichotomous trees.
540
541     o mcmc.popsize() terminated unexpectedly if the progress bar was
542       turned off.
543
544     o prop.part(x) made R frozen if 'x' is of class "multiPhylo".
545
546     o Compilation under Mandriva failed (thanks to Jos Käfer for the fix).
547
548     o drop.tip() shuffled tip labels with subtree = TRUE or trim.internal
549       = FALSE.
550
551     o Objects returned by as.hclust.phylo() failed when analysed with
552       cutree() or rect.hclust().
553
554     o write.tree() did not output correctly node labels (thanks to Naim
555       Matasci and Jeremy Beaulieu for the fix).
556
557     o ace(type = "discrete") has been improved thanks to Naim Marasci and
558       Jeremy Beaulieu.
559
560
561
562                 CHANGES IN APE VERSION 2.6-1
563
564
565 NEW FEATURES
566
567     o The new function speciesTree calculates the species tree from a set
568       of gene trees. Several methods are available including maximum tree
569       and shallowest divergence tree.
570
571
572 BUG FIXES
573
574     o A bug introduced in write.tree() with ape 2.6 has been fixed.
575
576     o as.list.DNAbin() did not work correctly with vectors.
577
578     o as.hclust.phylo() failed with trees with node labels (thanks to
579       Filipe Vieira for the fix).
580
581
582
583                 CHANGES IN APE VERSION 2.6
584
585
586 NEW FEATURES
587
588     o The new functions rlineage and rbdtree simulate phylogenies under
589       any user-defined time-dependent speciation-extinction model. They
590       use continuous time algorithms.
591
592     o The new function drop.fossil removes the extinct species from a
593       phylogeny.
594
595     o The new function bd.time fits a user-defined time-dependent
596       birth-death model. It is a generalization of yule.time() taking
597       extinction into account.
598
599     o The new function MPR does most parsimonious reconstruction of
600       discrete characters.
601
602     o The new function Ftab computes the contingency table of base
603       frequencies from a pair of sequences.
604
605     o There is now an 'as.list' method for the class "DNAbin".
606
607     o dist.dna() can compute the number of transitions or transversions
608       with the option model = "Ts" or model = "Tv", respectively.
609
610     o [node|tip|edge]labels() gain three options with default values to
611       control the aspect of thermometers: horiz = TRUE, width = NULL,
612       and height = NULL.
613
614     o compar.gee() has been improved with the new option 'corStruct' as an
615       alternative to 'phy' to specify the correlation structure, and
616       calculation of the QIC (Pan 2001, Biometrics). The display of the
617       results has also been improved.
618
619     o read.GenBank() has a new option 'gene.names' to return the name of
620       the gene (FALSE by default).
621
622
623 BUG FIXES
624
625     o extract.clade() sometimes shuffled the tip labels.
626
627     o plot.phylo(type = "unrooted") did not force asp = 1 (thanks to Klaus
628       Schliep for the fix)
629
630     o dist.dna(model = "logdet") used to divide distances by 4. The
631       documentation has been clarified on the formulae used.
632
633
634 OTHER CHANGES
635
636     o rTraitCont(model = "OU") has an option 'linear = TRUE' to possibly
637       change the parameterisation (see ?rTraitCont for details).
638
639     o pic() now returns a vector with the node labels of the tree (if
640       available) as names.
641
642     o write.tree() and read.tree() have been substantially improved thanks
643       to contributions by Klaus Schliep.
644
645
646
647                 CHANGES IN APE VERSION 2.5-3
648
649
650 NEW FEATURES
651
652     o The new function mixedFontLabel helps to make labels with bits of
653       text to be plotted in different fonts.
654
655     o There are now replacement operators for [, [[, and $ for the class
656       "multiPhylo" (i.e., TREES[11:20] <- rmtree(10, 100)). They possibly
657       check that the tip labels are the same in all trees.
658
659     o Objects of class "multiPhylo" can be built with c(): there are
660       methods for the classes "phylo" and "multiPhylo".
661
662     o The internal functions .compressTipLabel and .uncompressTipLabel are
663       now documented.
664
665
666 BUG FIXES
667
668     o bind.tree(x, y, where, position = 0) did not work correctly if 'y'
669       was a single-edge tree and 'where' was a tip.
670
671     o rTraitCont() did not use the square-root of branch lengths when
672       simulating a Brownian motion model.
673
674
675
676                 CHANGES IN APE VERSION 2.5-2
677
678
679 NEW FEATURES
680
681     o There is now a print method for results from ace().
682
683     o There is a labels() method for objects of class "DNAbin".
684
685     o read.dna() has a new option 'as.matrix' to possibly force sequences
686       in a FASTA file to be stored in a matrix (see ?read.dna for details).
687
688
689 BUG FIXES
690
691     o as.phylo.hclust() used to multiply edge lengths by 2.
692
693     o A minor bug was fixed in rTraitDisc().
694
695     o ace() sometimes failed (parameter value was NaN and the optimisation
696       failed).
697
698
699 DEPRECATED & DEFUNCT
700
701     o evolve.phylo() and plot.ancestral() have been removed.
702
703     o chronogram(), ratogram(), and NPRS.criterion() have been removed.
704
705
706 OTHER CHANGES
707
708     o nj() has been improved and is now about 30% faster.
709
710     o The default option 'drop' of [.DNAbin has been changed to FALSE to
711       avoid dropping rownames when selecting a single sequence.
712
713     o print.DNAbin() has been changed to summary.DNAbin() which has been
714       removed.
715
716
717
718                 CHANGES IN APE VERSION 2.5-1
719
720
721 NEW FEATURES
722
723     o The new function stree generates trees with regular shapes.
724
725     o It is now possible to bind two trees with x + y (see ?bind.tree for
726       details).
727
728     o drop.tip(), extract.clade(), root(), and bind.tree() now have an
729       'interactive' option to make the operation on a plotted tree.
730
731     o cophyloplot() gains two new arguments 'lwd' and 'lty' for the
732       association links; they are recycled like 'col' (which wasn't before).
733
734
735 BUG FIXES
736
737     o rTraitDisc() did not use its 'freq' argument correctly (it was
738       multiplied with the rate matrix column-wise instead of row-wise).
739
740     o [node|tip|edge]labels(thermo = ) used to draw empty thermometers
741       with NA values. Nothing is drawn now like with 'text' or 'pch'.
742       The same bug occurred with the 'pie' option.
743
744     o A bug was fixed in compar.ou() and the help page was clarified.
745
746     o bind.tree() has been rewritten fixing several bugs and making it
747       more efficient.
748
749     o plot.phylo(type = "p") sometimes failed to colour correctly the
750       vertical lines representing the nodes.
751
752     o plot.phylo(direction = "l", x.lim = 30) failed to plot the branches
753       in the correct direction though the tip labels were displayed
754       correctly.
755
756
757 OTHER CHANGES
758
759     o The c, cbind, and rbind methods for "DNAbin" objetcs now check that
760       the sequences are correctly stored (in a list for c, in a matrix
761       for the two other functions).
762
763
764
765                 CHANGES IN APE VERSION 2.5
766
767
768 NEW FEATURES
769
770     o The new function parafit by Pierre Legendre tests for the
771       coevolution between hosts and parasites. It has a companion
772       function, pcoa, that does principal coordinate decomposition.
773       The latter has a biplot method.
774
775     o The new function lmorigin by Pierre Legendre performs multiple
776       regression through the origin with testing by permutation.
777
778     o The new functions rTraitCont and rTraitDisc simulate continuous and
779       discrete traits under a wide range of evolutionary models.
780
781     o The new function delta.plot does a delta plot following Holland et
782       al. (2002, Mol. Biol. Evol. 12:2051).
783
784     o The new function edges draws additional branches between any nodes
785       and/or tips on a plotted tree.
786
787     o The new function fancyarrows enhances arrows from graphics with
788       triangle and harpoon heads; it can be called from edges().
789
790     o add.scale.bar() has a new option 'ask' to draw interactively.
791
792     o The branch length score replaces the geodesic distance in dist.topo.
793
794     o Three new data sets are included: the gopher-lice data (gopher.D),
795       SO2 air pollution in 41 US cities (lmorigin.ex1, from Sokal &
796       Rohlf 1995), and some host-parasite specificity data
797       (lmorigin.ex2, from Legendre & Desdevises 2009).
798
799
800 BUG FIXES
801
802     o add.scale.bar() drew the bar outside the plotting region with the
803       default options with unrooted or radial trees.
804
805     o dist.topo() made R stuck when the trees had different sizes (thanks
806       to Otto Cordero for the fix).
807
808
809 OTHER CHANGES
810
811     o The geodesic distance has been replaced by the branch length score
812       in dist.topo().
813
814
815
816                 CHANGES IN APE VERSION 2.4-1
817
818
819 NEW FEATURES
820
821     o rtree() and rcoal() now accept a numeric vector for the 'br'
822       argument.
823
824     o vcv() is a new generic function with methods for the classes "phylo"
825       and "corPhyl" so that it is possible to calculate the var-cov matrix
826       for "transformation models". vcv.phylo() can still be used for trees
827       of class "phylo"; its argument 'cor' has been renamed 'corr'.
828
829
830 BUG FIXES
831
832     o bind.tree() failed when 'y' had no root edge.
833
834     o read.nexus() shuffled tip labels when the trees have no branch
835       lengths and there is a TRANSLATE block.
836
837     o read.nexus() does not try to translate node labels if there is a
838       translation table in the NEXUS file. See ?read.nexus for a
839       clarification on this behaviour.
840
841     o plot.multiPhylo() crashed R when plotting a list of trees with
842       compressed tip labels.
843
844     o write.nexus() did not translate the taxa names when asked for.
845
846     o plot.phylo(type = "fan") did not rotate the tip labels correctly
847       when the tree has branch lengths.
848
849     o ace(type = "continuous", method = "ML") now avoids sigma² being
850       negative (which resulted in an error).
851
852     o nj() crashed with NA/NaN in the distance matrix: an error in now
853       returned.
854
855
856
857                 CHANGES IN APE VERSION 2.4
858
859
860 NEW FEATURES
861
862     o base.freq() has a new option 'freq' to return the counts; the
863       default is still to return the proportions.
864
865
866 BUG FIXES
867
868     o seg.sites() did not handle ambiguous nucleotides correctly: they
869       are now ignored.
870
871     o plot(phy, root.edge = TRUE) failed if there was no $root.edge in
872       the tree: the argument is now ignored.
873
874     o add.scale.bar() failed when 'x' and 'y' were given (thanks to Janet
875       Young for the fix).
876
877
878 OTHER CHANGES
879
880     o Trying to plot a tree with a single tip now returns NULL with a
881       warning (it returned an error previously).
882
883     o The way lines representing nodes are coloured in phylograms has
884       been modified (as well as their widths and types) following some
885       users' request; this is only for dichotomous nodes.
886
887     o The argument 'adj' in [node][tip][edge]labels() now works when
888       using 'pie' or 'thermo'.
889
890     o A more informative message error is now returned by dist.dna() when
891       'model' is badly specified (partial matching of this argument is
892       done now).
893
894     o Deprecated functions are now listed in a help page: see
895       help("ape-defunct") with the quotes.
896
897
898 DEPRECATED & DEFUNCT
899
900     o The functions heterozygosity, nuc.div, theta.h, theta.k and
901       theta.s have been moved from ape to pegas.
902
903     o The functions mlphylo, DNAmodel and sh.test have been removed.
904
905
906
907                 CHANGES IN APE VERSION 2.3-3
908
909
910 BUG FIXES
911
912     o add.scale.bar() always drew a horizontal bar.
913
914     o zoom() shuffled tips with unrooted trees.
915
916     o write.nexus() failed to write correctly trees with a "TipLabel"
917       attribute.
918
919     o rcoal() failed to compute branch lengths with very large n.
920
921     o A small bug was fixed in compar.cheverud() (thanks to Michael
922       Phelan for the fix).
923
924     o seg.sites() failed when passing a vector.
925
926     o drop.tip() sometimes shuffled tip labels.
927
928     o root() shuffled node labels with 'resolve.root = TRUE'.
929
930
931
932                 CHANGES IN APE VERSION 2.3-2
933
934
935 BUG FIXES
936
937     o all.equal.phylo() did not compare unrooted trees correctly.
938
939     o dist.topo(... method = "PH85") did not treat unrooted trees
940       correctly (thanks to Tim Wallstrom for the fix).
941
942     o root() sometimes failed to test for the monophyly of the
943       outgroup correctly.
944
945     o extract.clade() sometimes included too many edges.
946
947     o vcv.phylo() did not work correctly when the tree is in
948       "pruningwise" order.
949
950     o nj() did not handle correctly distance matrices with many 0's.
951       The code has also been significantly improved: 7, 70, 160 times
952       faster with n = 100, 500, 1000, respectively.
953
954
955
956                 CHANGES IN APE VERSION 2.3-1
957
958
959 NEW FEATURES
960
961     o The new function is.monophyletic tests the monophyly of a group.
962
963     o There is now a c() method for lists of class "DNAbin".
964
965     o yule.cov() now fits the null model, and its help page has been
966       corrected with respect to this change.
967
968     o drop.tip() has a new option 'rooted' to force (or not) a tree
969       to be treated as (un)rooted.
970
971
972 BUG FIXES
973
974     o dist.gene() failed on most occasions with the default
975       pairwise.deletion = FALSE.
976
977     o read.tree() failed to read correctly the tree name(s).
978
979     o boot.phylo() now treats correctly data frames.
980
981     o del.gaps() did not copy the rownames of a matrix.
982
983     o A small bug was fixed in CDAM.global().
984
985     o ace() failed with large data sets. Thanks to Rich FitzJohn for
986       the fix. With other improvements, this function is now about 6
987       times faster.
988
989     o write.tree() failed with objects of class "multiPhylo".
990
991     o drop.tip(, subtree = TRUE) sometimes shuffled tip labels.
992
993
994 OTHER CHANGES
995
996     o [.multiPhylo and [.DNAbin now respect the original class.
997
998     o Instances of the form class(phy) == "phylo" have been replaced
999       by inherits(phy, "phylo").
1000
1001     o rcoal() is now faster.
1002
1003
1004 DEPRECATED & DEFUNCT
1005
1006     o klastorin() has been removed.
1007
1008
1009
1010                 CHANGES IN APE VERSION 2.3
1011
1012
1013 NEW FEATURES
1014
1015     o The new functions CADM.global and CADM.post, contributed by
1016       Pierre Legendre, test the congruence among several distance
1017       matrices.
1018
1019     o The new function yule.time fits a user-defined time-dependent
1020       Yule model by maximum likelihood.
1021
1022     o The new function makeNodeLabel creates and/or modifies node
1023       labels in a flexible way.
1024
1025     o read.tree() and write.tree() have been modified so that they can
1026       handle individual tree names.
1027
1028     o plot.phylo() has a new argument 'edge.lty' that specifies the
1029       types of lines used for the edges (plain, dotted, dashed, ...)
1030
1031     o phymltest() has been updated to work with PhyML 3.0.1.
1032
1033
1034 BUG FIXES
1035
1036     o drop.tip() shuffled tip labels in some cases.
1037
1038     o drop.tip() did not handle node.label correctly.
1039
1040     o is.ultrametric() now checks the ordering of the edge matrix.
1041
1042     o ace() sometimes returned negative values of likelihoods of
1043       ancestral states (thanks to Dan Rabosky for solving this long
1044       lasting bug).
1045
1046
1047 OTHER CHANGES
1048
1049     o The data set xenarthra has been removed.
1050
1051
1052
1053                 CHANGES IN APE VERSION 2.2-4
1054
1055 BUG FIXES
1056
1057     o The bug fix in read.nexus() in version 2.2-3 was wrong: this is
1058       now fixed. (Thanks to Peter Wragg for the fix!)
1059
1060     o A warning message occurred for no reason with ace(method="GLS").
1061
1062
1063 OTHER CHANGES
1064
1065     o There is now a general help page displayed with '?ape'.
1066
1067
1068
1069                 CHANGES IN APE VERSION 2.2-3
1070
1071
1072 NEW FEATURES
1073
1074     o The new function extract.clade extracts a clade from a tree by
1075       specifying a node number or label.
1076
1077     o fastme.bal() has two new options 'spr' and 'tbr' to perform tree
1078       operations of the same names.
1079
1080     o dist.dna() can now return the number of site differences by
1081       specifying model="N".
1082
1083
1084 BUG FIXES
1085
1086     o chronopl() did not work with CV = TRUE.
1087
1088     o read.nexus() did not work correctly in some situations (trees on
1089       multiple lines with different numbers of lines and/or with
1090       comments inserted within the trees).
1091
1092     o ltt.plot(), ltt.lines(), and mltt.plot() did not count correctly
1093       the number of lineages with non-binary trees.
1094
1095
1096 OTHER CHANGES
1097
1098     o ape has now a namespace.
1099
1100     o drop.tip() has been improved: it should be much faster and work
1101       better in some cases (e.g., see the example in ?zoom).
1102
1103
1104
1105                 CHANGES IN APE VERSION 2.2-2
1106
1107
1108 NEW FEATURES
1109
1110     o dist.gene() has been substantially improved and gains an option
1111       'pairwise.deletion'.
1112
1113     o cbind.DNAbin() has a new option 'fill.with.gaps' and is now
1114       more flexible.
1115
1116
1117 BUG FIXES
1118
1119     o prop.part() failed with a single tree with the default option
1120      'check.labels = TRUE'.
1121
1122    o summary.DNAbin() failed to display correctly the summary of
1123      sequence lengths with lists of sequences of 10,000 bases or more
1124      (because summary.default uses 4 significant digits by default).
1125
1126    o read.nexus() failed to read a file with a single tree with line
1127      breaks in the Newick string.
1128
1129    o del.gaps() returned a list of empty sequences when there were no
1130      gaps.
1131
1132
1133 OTHER CHANGES
1134
1135     o phymltest() has been updated for PhyML 3.0 and gains an option
1136       'append', whereas the option 'path2exec' has been removed.
1137
1138     o rbind.DNAbin() and cbind.DNAbin() now accept a single matrix
1139       which is returned unchanged (instead of an error).
1140
1141     o The data sets bird.orders and bird.families are now stored as
1142       Newick strings; i.e., the command data(bird.orders) calls
1143       read.tree().
1144
1145
1146
1147                 CHANGES IN APE VERSION 2.2-1
1148
1149
1150 NEW FEATURES
1151
1152     o The new function makeLabel() helps to modify labels of trees,
1153       lists of trees, or DNA sequences, with several utilities to
1154       truncate and/or make them unique, substituting some
1155       characters, and so on.
1156
1157     o The new function del.gaps() removes insertion gaps ("-") in a
1158       set of DNA sequences.
1159
1160     o read.dna() can now read Clustal files (*.aln).
1161
1162
1163 BUG FIXES
1164
1165     o root() failed with 'resolve.root = TRUE' when the root was
1166       already the specified root.
1167
1168     o Several bugs were fixed in mlphylo().
1169
1170     o collapsed.singles() did not propagate the 'Nnode' and
1171       'node.labels' elements (thanks to Elizabeth Purdom for the fix).
1172
1173     o read.nexus() failed to remove correctly the comments within
1174       trees.
1175
1176     o read.nexus() failed to read a file with a single tree and no
1177       translation of tip labels.
1178
1179     o read.nexus() failed to place correctly tip labels when reading
1180       a single tree with no edge lengths.
1181
1182     o A bug was fixed in sh.test().
1183
1184
1185 OTHER CHANGES
1186
1187     o unique.multiPhylo() is faster thanks to a suggestion by Vladimir
1188       Minin.
1189
1190     o The option 'check.labels' of consensus() and prop.part() is now
1191       TRUE by default.
1192
1193     o write.dna() now does not truncate names to 10 characters with
1194       the Phylip formats.
1195
1196
1197
1198                 CHANGES IN APE VERSION 2.2
1199
1200
1201 NEW FEATURES
1202
1203     o Four new functions have been written by Damien de Vienne for the
1204       graphical exploration of large trees (cophyloplot, subtrees,
1205       subtreeplot), and to return the graphical coordinates of tree
1206       (without plotting).
1207
1208     o The new functions corPagel and corBlomberg implement the Pagel's
1209       "lambda" and Blomberg et al.'s "ACDC" correlation structures.
1210
1211     o chronopl() has been improved and gains several options: see its
1212       help page for details.
1213
1214     o boot.phylo() has now an option 'trees' to possibly return the
1215       bootstraped trees (the default is FALSE).
1216
1217     o prop.part() has been improved and should now be faster in all
1218       situations.
1219
1220
1221 BUG FIXES
1222
1223     o read.dna() failed if "?" occurred in the first 10 sites of the
1224       first sequence.
1225
1226     o The x/y aspect of the plot is now respected when plotting a
1227       circular tree (type = "r" or "f").
1228
1229     o Drawing the tip labels sometimes failed when plotting circular
1230       trees.
1231
1232     o zoom() failed when tip labels were used instead of their numbers
1233       (thanks to Yan Wong for the fix).
1234
1235     o drop.tip() failed with some trees (fixed by Yan Wong).
1236
1237     o seg.sites() failed with a list.
1238
1239     o consensus() failed in some cases. The function has been improved
1240       as well and is faster.
1241
1242
1243
1244                 CHANGES IN APE VERSION 2.1-3
1245
1246
1247 BUG FIXES
1248
1249     o A bug in read.nexus() made the Windows R-GUI crash.
1250
1251     o An error was fixed in the computation of ancestral character
1252       states by generalized least squares in ace().
1253
1254     o di2multi() did not modify node labels correctly.
1255
1256     o multi2di() failed if the tree had its attribute "order" set to
1257       "cladewise".
1258
1259
1260
1261                 CHANGES IN APE VERSION 2.1-2
1262
1263
1264 NEW FEATURES
1265
1266     o There three new methods for the "multiPhylo" class: str, $,
1267       and [[.
1268
1269     o root() gains the options 'node' and 'resolve.root'
1270       (FALSE by default) as well as its code being improved.
1271
1272     o mltt.plot() has now an option 'log' used in the same way
1273       than in plot.default().
1274
1275
1276 BUG FIXES
1277
1278     o mltt.plot() failed to display the legend with an unnamed
1279       list of trees.
1280
1281     o nodelabels() with pies now correcly uses the argument
1282       'cex' to draw symbols of different sizes (which has
1283       worked already for thermometers).
1284
1285     o read.nexus() generally failed to read very big files.
1286
1287
1288 OTHER CHANGES
1289
1290     o The argument 'family' of compar.gee() can now be a function
1291       as well as a character string.
1292
1293     o read.tree() and read.nexus() now return an unnamed list if
1294       'tree.names = NULL'.
1295
1296     o read.nexus() now returns a modified object of class "multiPhylo"
1297       when there is a TRANSLATE block in the NEXUS file: the individual
1298       trees have no 'tip.label' vector, but the list has a 'TipLabel'
1299       attribute. The new methods '$' and '[[' set these elements
1300       correctly when extracting trees.
1301
1302
1303
1304                 CHANGES IN APE VERSION 2.1-1
1305
1306
1307 NEW FEATURES
1308
1309     o The new function rmtree generates lists of random trees.
1310
1311     o rcoal() now generates a genuine coalescent tree by default
1312       (thanks to Vladimir Minin for the code).
1313
1314
1315 BUG FIXES
1316
1317     o nuc.div() returned an incorrect value with the default
1318       pairwise.deletion = FALSE.
1319
1320
1321 OTHER CHANGES
1322
1323     o The internal codes of bionj(), fastme.bal(), and fastme.ols()
1324       have been improved so that they are stabler and faster.
1325
1326     o R packages used by ape are now loaded silently; lattice and gee
1327       are loaded only when needed.
1328
1329
1330
1331                 CHANGES IN APE VERSION 2.1
1332
1333
1334 NEW FEATURES
1335
1336     o The new function identify.phylo identifies clades on a plotted
1337       tree using the mouse.
1338
1339     o It is now possible to subset a list of trees (object of class
1340       "multiPhylo") with "[" while keeping its class correct.
1341
1342     o The new function as.DNAbin.alignment converts DNA sequences
1343       stored in the "alignment" format of the package seqinr into
1344       an object of class "DNAbin".
1345
1346     o The new function weight.taxo2 helps to build similarity matrices
1347       given two taxonomic levels (usually called by other functions).
1348
1349     o write.tree() can now take a list of trees (class "multiPhylo")
1350       as its main argument.
1351
1352     o plot.correlogram() and plot.correlogramList() have been
1353       improved, and gain several options (see the help page for
1354       details). A legend is now plotted by default.
1355
1356
1357 BUG FIXES
1358
1359     o dist.dna() returned some incorrect values with `model = "JC69"'
1360       and `pairwise.deletion = TRUE'. This affected only the
1361       distances involving sequences with missing values. (Thanks
1362       to Bruno Toupance for digging this bug out.)
1363
1364     o write.tree() failed with some trees: this is fixed by removing
1365       the `multi.line' option (trees are now always printed on a
1366       single line).
1367
1368     o read.nexus() did not correctly detect trees with multiple root
1369       edges (see OTHER CHANGES).
1370
1371
1372 OTHER CHANGES
1373
1374     o The code of mlphylo() has been almost entirely rewritten, and
1375       should be much stabler. The options have been also greatly
1376       simplified (see ?mlphylo and ?DNAmodel for details).
1377
1378     o The internal function nTips has been renamed klastorin_nTips.
1379
1380     o The code of is.ultrametric() contained redundancies and has
1381       been cleaned-up.
1382
1383     o The code of Moran.I() and of correlogram.formula() have been
1384       improved.
1385
1386     o read.tree() and read.nexus() now return an error when trying to
1387       read a tree with multiple root edges (see BUG FIXES). The
1388       correction applied in previous version did not work in all
1389       situations.
1390
1391     o The class c("multi.tree", "phylo") has been renamed
1392       "multiPhylo".
1393
1394
1395 DOCUMENTATION
1396
1397     o There is now a vignette in ape: see vignette("MoranI", "ape").
1398
1399
1400 DEPRECATED & DEFUNCT
1401
1402     o as.matching() and as.phylo.matching() do not support branch
1403       lengths.
1404
1405     o correlogram.phylo() and discrete.dist() have been removed.
1406
1407
1408
1409                 CHANGES IN APE VERSION 2.0-2
1410
1411
1412 NEW FEATURES
1413
1414     o The new function matexpo computes the exponential of a square
1415       matrix.
1416
1417     o The new function unique.multi.tree removes duplicate trees from
1418       a list.
1419
1420     o yule() has a new option `use.root.edge = FALSE' that specifies
1421       to ignore, by default, the root edge of the tree if it exists.
1422
1423
1424 BUG FIXES
1425
1426     o which.edge() failed when the index of a single terminal edge was
1427       looked for.
1428
1429     o In diversi.time(), the values returned for model C were
1430       incorrect.
1431
1432     o A bug was fixed in yule() that affected the calculation of the
1433       likelihood in the presence of ties in the branching times.
1434
1435     o There was a bug in the C function mat_expo4x4 affecting the
1436       calculations of the transition probabilities for models HKY and
1437       GTR in mlphylo().
1438
1439     o A small bug was fixed in as.matrix.DNAbin (thanks to James
1440       Bullard).
1441
1442     o rtree() did not `shuffle' the tip labels by default, so only a
1443       limited number of labelled topologies could be generated.
1444
1445
1446
1447                 CHANGES IN APE VERSION 2.0-1
1448
1449
1450 NEW FEATURES
1451
1452     o The three new functions bionj, fastme.ols, and fastme.bal
1453       perform phylogeny estimation by the BIONJ and fastME methods in
1454       OLS and balanced versions. This is a port to R of previous
1455       previous programs done by Vincent Lefort.
1456
1457     o The new function chronoMPL performs molecular dating with the
1458       mean path lengths method of Britton et al. (2002, Mol. Phyl.
1459       Evol. 24: 58).
1460
1461     o The new function rotate, contributed by Christoph Heibl, swaps
1462       two clades connected to the same node. It works also with
1463       multichotomous nodes.
1464
1465     o The new `method' as.matrix.DNAbin() may be used to convert
1466       easily DNA sequences stored in a list into a matrix while
1467       keeping the names and the class.
1468
1469
1470 BUG FIXES
1471
1472     o chronopl() failed when some branch lengths were equal to zero:
1473       an error message is now returned.
1474
1475     o di2multi() failed when there was a series of consecutive edges
1476       to remove.
1477
1478
1479
1480                 CHANGES IN APE VERSION 1.10-2
1481
1482
1483 NEW FEATURES
1484
1485     o plot.phylo() can now plot circular trees: the option is type =
1486       "fan" or type = "f" (to avoid the ambiguity with type = "c").
1487
1488     o prop.part() has a new option `check.labels = FALSE' which allows
1489       to considerably speed-up the calculations of bipartitions. As a
1490       consequence, calculations of bootstrap values with boot.phylo()
1491       should be much faster.
1492
1493
1494 BUG FIXES
1495
1496     o read.GenBank() did not return correctly the list of species as
1497       from ape 1.10: this is fixed in this version
1498
1499     o Applying as.phylo() on a tree of class "phylo" failed: the
1500       object is now returned unchanged.
1501
1502
1503
1504                 CHANGES IN APE VERSION 1.10-1
1505
1506
1507 NEW FEATURES
1508
1509     o The three new functions Ntip, Nnode, and Nedge return, for a
1510       given tree, the number of tips, nodes, or edges, respectively.
1511
1512
1513 BUG FIXES
1514
1515     o read.nexus() did not set correctly the class of the returned
1516       object when reading multiple trees.
1517
1518     o mllt.plot() failed with objects of class c("multi.tree",
1519       "phylo").
1520
1521     o unroot() did not work correctly in most cases.
1522
1523     o reorder.phylo() made R freeze in some occasions.
1524
1525     o Plotting a tree in pruningwise order failed.
1526
1527     o When plotting an unrooted tree, the tip labels where not all
1528       correctly positioned if the option `cex' was used.
1529
1530
1531
1532                 CHANGES IN APE VERSION 1.10
1533
1534
1535 NEW FEATURES
1536
1537     o Five new `method' functions have been introduced to manipulate
1538       DNA sequences in binary format (see below).
1539
1540     o Three new functions have been introduced to convert between the
1541       new binary and the character formats.
1542
1543     o The new function as.alignment converts DNA sequences stored as
1544       single characters into the class "alignment" used by the package
1545       seqinr.
1546
1547     o read.dna() and read.GenBank() have a new argument `as.character'
1548       controlling whether the sequences are returned in binary format
1549       or as character.
1550
1551
1552 BUG FIXES
1553
1554     o root() failed when the tree had node labels: this is fixed.
1555
1556     o plot.phylo() did not correctly set the limits on the y-axis with
1557       the default setting: this is fixed.
1558
1559     o dist.dna() returned a wrong result for the LogDet, paralinear,
1560       and BH87 models with `pairwise.deletion = TRUE'.
1561
1562
1563 OTHER CHANGES
1564
1565     o DNA sequences are now internally stored in a binary format. See
1566       the document "A Bit-Level Coding Scheme for Nucleotides" for the
1567       details. Most functions analyzing DNA functions have been
1568       modified accordingly and are now much faster (dist.dna is now
1569       ca. 60 times faster).
1570
1571
1572
1573                 CHANGES IN APE VERSION 1.9-4
1574
1575
1576 BUG FIXES
1577
1578     o A bug was fixed in edgelabels().
1579
1580     o as.phylo.hclust() did not work correctly when the object of
1581       class "hclust" has its labels set to NULL: the returned tree has
1582       now its tip labels set to "1", "2", ...
1583
1584     o consensus could fail if some tip labels are a subset of others
1585       (e.g., "a" and "a_1"): this is now fixed.
1586
1587     o mlphylo() failed in most cases if some branch lengths of the
1588       initial tree were greater than one: an error message is now
1589       issued.
1590
1591     o mlphylo() failed in most cases when estimating the proportion of
1592       invariants: this is fixed.
1593
1594
1595
1596                 CHANGES IN APE VERSION 1.9-3
1597
1598
1599 NEW FEATURES
1600
1601     o The new function edgelabels adds labels on the edge of the tree
1602       in the same way than nodelabels or tiplabels.
1603
1604
1605 BUG FIXES
1606
1607     o multi2di() did not handle correctly branch lengths with the
1608       default option `random = TRUE': this is now fixed.
1609
1610     o A bug was fixed in nuc.div() when using pairwise deletions.
1611
1612     o A bug occurred in the analysis of bipartitions with large
1613       numbers of large trees, with consequences on prop.part,
1614       prop.clades, and boot.phylo.
1615
1616     o The calculation of the Billera-Holmes-Vogtmann distance in
1617       dist.topo was wrong: this has been fixed.
1618
1619
1620
1621                 CHANGES IN APE VERSION 1.9-2
1622
1623
1624 NEW FEATURES
1625
1626     o The new function ladderize reorganizes the internal structure of
1627       a tree to plot them left- or right-ladderized.
1628
1629     o The new function dist.nodes computes the patristic distances
1630       between all nodes, internal and terminal, of a tree. It replaces
1631       the option `full = TRUE' of cophenetic.phylo (see below).
1632
1633
1634 BUG FIXES
1635
1636     o A bug was fixed in old2new.phylo().
1637
1638     o Some bugs were fixed in chronopl().
1639
1640     o The edge colours were not correctly displayed by plot.phylo
1641       (thank you to Li-San Wang for the fix).
1642
1643     o cophenetic.phylo() failed with multichotomous trees: this is
1644       fixed.
1645
1646
1647 OTHER CHANGES
1648
1649     o read.dna() now returns the sequences in a matrix if they are
1650       aligned (interleaved or sequential format). Sequences in FASTA
1651       format are still returned in a list.
1652
1653     o The option `full' of cophenetic.phylo() has been removed because
1654       it could not be used from the generic.
1655
1656
1657 DEPRECATED & DEFUNCT
1658
1659     o rotate() has been removed; this function did not work correctly
1660       since ape 1.9.
1661
1662
1663
1664                 CHANGES IN APE VERSION 1.9-1
1665
1666
1667 BUG FIXES
1668
1669     o Trees with a single tip were not read correctly in R as the
1670       element `Nnode' was not set: this is fixed.
1671
1672     o unroot() did not set correctly the number of nodes of the
1673       unrooted tree in most cases.
1674
1675     o read.GenBank() failed when fetching very long sequences,
1676       particularly of the BX-series.
1677
1678     o A bug was introduced in read.tree() with ape 1.9: it has been
1679       fixed
1680
1681
1682
1683                 CHANGES IN APE VERSION 1.9
1684
1685
1686 NEW FEATURES
1687
1688     o There are two new print `methods' for trees of class "phylo" and
1689       lists of trees of class "multi.tree", so that they are now
1690       displayed in a compact and informative way.
1691
1692     o There are two new functions, old2new.phylo and new2old.phylo,
1693       for converting between the old and new coding of the class
1694       "phylo".
1695
1696     o dist.dna() has three new models: Barry and Hartigan ("BH87"),
1697       LogDet ("logdet"), and paralinear ("paralin").
1698
1699     o compute.brlen() has been extended: several methods are now
1700       available to compute branch lengths.
1701
1702     o write.dna() can now handle matrices as well as lists.
1703
1704
1705 BUG FIXES
1706
1707     o cophenetic.phylo() sometimes returned a wrong result with
1708       multichotomous trees: this is fixed.
1709
1710     o rotate() failed when a single tip was specified: the tree is now
1711       returned unchanged.
1712
1713     o ace() did not return the correct index matrix with custom
1714       models: this is fixed.
1715
1716     o multi2di() did not work correctly when resolving multichotomies
1717       randomly: the topology was always the same, only the arrangement
1718       of clades was randomized: this is fixed. This function now
1719       accepts trees with no branch lengths.
1720
1721     o The output of diversi.gof() was blurred by useless prints when a
1722       user distribution was specified. This has been corrected, and
1723       the help page of this function has been expanded.
1724
1725
1726 OTHER CHANGES
1727
1728     o The internal structure of the class "phylo" has been changed:
1729       see the document "Definition of Formats for Coding Phylogenetic
1730       Trees in R" for the details. In addition, the code of most
1731       functions has been improved.
1732
1733     o Several functions have been improved by replacing some R codes
1734       by C codes: pic, plot.phylo, and reorder.phylo.
1735
1736     o There is now a citation information: see citation("ape") in R.
1737
1738     o write.tree() now does not add extra 0's to branch lengths so
1739       that 1.23 is printed "1.23" by default, not "1.2300000000".
1740
1741     o The syntax of bind.tree() has been simplified. This function now
1742       accepts trees with no branch lengths, and handles correctly node
1743       labels.
1744
1745     o The option `as.numeric' of mrca() has been removed.
1746
1747     o The unused options `format' and `rooted' of read.tree() have
1748       been removed.
1749
1750     o The unused option `format' of write.tree() has been removed.
1751
1752     o The use of node.depth() has been simplified.
1753
1754
1755
1756                 CHANGES IN APE VERSION 1.8-5
1757
1758
1759 NEW FEATURES
1760
1761     o Two new functions read.nexus.data() and write.nexus.data(),
1762       contributed by Johan Nylander, allow to read and write molecular
1763       sequences in NEXUS files.
1764
1765     o The new function reorder.phylo() reorders the internal structure
1766       of a tree of class "phylo". It is used as the generic, e.g.,
1767       reorder(tr).
1768
1769     o read.tree() and read.nexus() can now read trees with a single
1770       edge.
1771
1772     o The new data set `cynipids' supplies a set of protein sequences
1773       in NEXUS format.
1774
1775
1776 BUG FIXES
1777
1778     o The code of all.equal.phylo() has been completely rewritten
1779       (thanks to Benoît Durand) which fixes several bugs.
1780
1781     o read.tree() and read.nexus() now checks the labels of the tree
1782       to remove or substitute any characters that are illegal in the
1783       Newick format (parentheses, etc.)
1784
1785     o A negative P-value could be returned by mantel.test(): this is
1786       now fixed.
1787
1788
1789
1790                 CHANGES IN APE VERSION 1.8-4
1791
1792
1793 NEW FEATURES
1794
1795     o The new function sh.test() computes the Shimodaira-
1796       Hasegawa test.
1797
1798     o The new function collapse.singles() removes the nodes with a
1799       single descendant from a tree.
1800
1801     o plot.phylo() has a new argument `tip.color' to specify the
1802       colours of the tips.
1803
1804     o mlphylo() has now an option `quiet' to control the display of
1805       the progress of the analysis (the default is FALSE).
1806
1807
1808 BUG FIXES
1809
1810     o read.dna() did not read correctly sequences in sequential format
1811       with leading alignment gaps "-": this is fixed.
1812
1813     o ace() returned a list with no class so that the generic
1814       functions (anova, logLik, ...) could not be used directly. This
1815       is fixed as ace() now returns an object of class "ace".
1816
1817     o anova.ace() had a small bug when computing the number of degrees
1818       of freedom: this is fixed.
1819
1820     o mlphylo() did not work when the sequences were in a matrix or
1821       a data frame: this is fixed.
1822
1823     o rtree() did not work correctly when trying to simulate an
1824       unrooted tree with two tips: an error message is now issued.
1825
1826
1827 OTHER CHANGES
1828
1829     o The algorithm of rtree() has been changed: it is now about 40,
1830       100, and 130 times faster for 10, 100, and 1000 tips,
1831       respectively.
1832
1833
1834
1835                 CHANGES IN APE VERSION 1.8-3
1836
1837
1838 NEW FEATURES
1839
1840     o There are four new `method' functions to be used with the
1841       results of ace(): logLik(), deviance(), AIC(), and anova().
1842
1843     o The plot method of phymltest has two new arguments: `main' to
1844       change the title, and `col' to control the colour of the
1845       segments showing the AIC values.
1846
1847     o ace() has a new argument `ip' that gives the initial values used
1848       in the ML estimation with discrete characters (see the examples
1849       in ?ace). This function now returns a matrix giving the indices
1850       of the estimated rates when analysing discrete characters.
1851
1852     o nodelabels() and tiplabels() have a new argument `pie' to
1853       represent proportions, with any number of categories, as
1854       piecharts. The use of the option `thermo' has been improved:
1855       there is now no limitation on the number of categories.
1856
1857
1858 BUG FIXES
1859
1860     o mlphylo() did not work with more than two partitions: this is
1861       fixed.
1862
1863     o root() failed if the proposed outgroup was already an outgroup
1864       in the tree: this is fixed.
1865
1866     o The `col' argument in nodelabels() and tiplabels() was not
1867       correctly passed when `text' was used: this is fixed.
1868
1869     o Two bugs were fixed in mlphylo(): parameters were not always
1870       correctly output, and the estimation failed in some cases.
1871
1872     o plot.phylo() was stuck when given a tree with a single tip: this
1873       is fixed and a message error is now returned.
1874
1875     o An error was corrected in the help page of gammaStat regarding
1876       the calculation of P-values.
1877
1878     o Using gls() could crash R when the number of species in the tree
1879       and in the variables were different: this is fixed.
1880
1881
1882
1883                 CHANGES IN APE VERSION 1.8-2
1884
1885
1886 NEW FEATURES
1887
1888     o The new function mlphylo() fits a phylogenetic tree by maximum
1889       likelihood from DNA sequences. Its companion function DNAmodel()
1890       is used to define the substitution model which may include
1891       partitioning. There are methods for logLik(), deviance(), and
1892       AIC(), and the summary() method has been extended to display in
1893       a friendly way the results of this model fitting. Currently, the
1894       functionality is limited to estimating the substitution and
1895       associated parameters and computing the likelihood.
1896
1897     o The new function drop1.compar.gee (used as, e.g., drop1(m))
1898       tests for single effects in GEE-based comparative method. A
1899       warning message is printed if there is not enough degrees of
1900       freedom.
1901
1902
1903 BUG FIXES
1904
1905     o An error message was sometimes issued by plot.multi.tree(),
1906       though with no consequence.
1907
1908
1909
1910                 CHANGES IN APE VERSION 1.8-1
1911
1912
1913 NEW FEATURES
1914
1915     o There is a new plot method for lists of trees (objects of class
1916       "multi.tree"): it calls plot.phylo() internally and is
1917       documented on the same help page.
1918
1919
1920 BUG FIXES
1921
1922     o A bug was fixed in the C code that analyzes bipartitions: this
1923       has impact on several functions like prop.part, prop.clades,
1924       boot.phylo, or consensus.
1925
1926     o root() did not work correctly when the specified outgroup had
1927       more than one element: this is fixed.
1928
1929     o dist.dna() sometimes returned a warning inappropriately: this
1930       has been corrected.
1931
1932     o If the distance object given to nj() had no rownames, nj()
1933       returned a tree with no tip labels: it now returns tips labelled
1934       "1", "2", ..., corresponding to the row numbers.
1935
1936
1937 OTHER CHANGES
1938
1939     o nj() has been slightly changed so that tips with a zero distance
1940       are first aggregated with zero-lengthed branches; the usual NJ
1941       procedure is then performed on a distance matrix without 0's.
1942
1943
1944
1945                 CHANGES IN APE VERSION 1.8
1946
1947
1948 NEW FEATURES
1949
1950     o The new function chronopl() estimates dates using the penalized
1951       likelihood method by Sanderson (2002; Mol. Biol. Evol., 19:101).
1952
1953     o The new function consensus() calculates the consensus tree of a
1954       list of trees.
1955
1956     o The new function evolve.phylo() simulates the evolution of
1957       continuous characters along a phylogeny under a Brownian model.
1958
1959     o The new plot method for objects of class "ancestral" displays a
1960       tree together with ancestral values, as returned by the above
1961       function.
1962
1963     o The new function as.phylo.formula() returns a phylogeny from a
1964       set of nested taxonomic variables given as a formula.
1965
1966     o The new function read.caic() reads trees in CAIC format.
1967
1968     o The new function tiplabels() allows to add labels to the tips
1969       of a tree using text or plotting symbols in a flexible way.
1970
1971     o The new function unroot() unroots a phylogeny.
1972
1973     o multi2di() has a new option, `random', which specifies whether
1974       to resolve the multichotomies randomly (the default) or not.
1975
1976     o prop.part() now returns an object of class "prop.part" for which
1977       there are print (to display a partition in a more friendly way)
1978       and summary (to extract the numbers) methods.
1979
1980     o plot.phylo() has a new option, `show.tip.label', specifying
1981       whether to print the labels of the tips. The default is TRUE.
1982
1983     o The code of nj() has been replaced by a faster C code: it is now
1984       about 10, 25, and 40 times faster for 50, 100, and 200 taxa,
1985       respectively.
1986
1987     o write.nexus() now writes whether a tree is rooted or not.
1988
1989
1990 BUG FIXES
1991
1992     o Two bugs have been fixed in root(): unrooted trees are now
1993       handled corretly, and node labels are now output normally.
1994
1995     o A bug was fixed in phymltest(): the executable couldn't be found
1996       in some cases.
1997
1998     o Three bugs have been fixed in ace(): computing the likelihood of
1999       ancestral states of discrete characters failed, custom models
2000       did not work, and the function failed with a null gradient (a
2001       warning message is now returned; this latter bug was also
2002       present in yule.cov() as well and is now fixed).
2003
2004     o pic() hanged out when missing data were present: an error is now
2005       returned.
2006
2007     o A small bug was fixed in dist.dna() where the gamma correction
2008       was not always correctly dispatched.
2009
2010     o plot.phylo() plotted correctly the root edge only when the tree
2011       was plotted rightwards: this works now for all directions.
2012
2013
2014 OTHER CHANGES
2015
2016     o dist.taxo() has been renamed as weight.taxo().
2017
2018     o dist.phylo() has been replaced by the method cophenetic.phylo().
2019
2020     o Various error and warning messages have been improved.
2021
2022
2023
2024                 CHANGES IN APE VERSION 1.7
2025 NEW FEATURES
2026
2027     o The new function ace() estimates ancestral character states for
2028       continuous characters (with ML, GLS, and contrasts methods), and
2029       discrete characters (with ML only) for any number of states.
2030
2031     o The new function compar.ou() fits the Ornstein-Uhlenbeck model
2032       of directional evolution for continuous characters. The user
2033       specifies the node(s) of the tree where the character optimum
2034       changes.
2035
2036     o The new function is.rooted() tests whether a tree (of class
2037       "phylo") is rooted.
2038
2039     o The new function rcoal() generates random ultrametric trees with
2040       the possibility to specify the function that generates the
2041       inter-nodes distances.
2042
2043     o The new function mrca() gives for all pairs of tips in a tree
2044       (and optionally nodes too) the most recent common ancestor.
2045
2046     o nodelabels() has a new option `thermo' to plot proportions (up
2047       to three classes) on the nodes of a tree.
2048
2049     o rtree() has been improved: it can now generate rooted or
2050       unrooted trees, and the mathematical function that generates the
2051       branch lengths may be specified by the user. The tip labels may
2052       be given directly in the call to rtree. The limit cases (n = 2,
2053       3) are now handled correctly.
2054
2055     o dist.topo() has a new argument `method' with two choices: "PH85"
2056       for Penny and Henny's method (already available before and now
2057       the default), and "BHV01" for the geometric distance by Billera
2058       et al. (2001, Adv. Appl. Math. 27:733).
2059
2060     o write.tree() has a new option, `digits', which specifies the
2061       number of digits to be printed in the Newick tree. By default
2062       digits = 10. The numbers are now always printed in decimal form
2063       (i.e., 1.0e-1 is now avoided).
2064
2065     o dist.dna() can now compute the raw distances between pairs of
2066       DNA sequences by specifying model = "raw".
2067
2068     o dist.phylo() has a new option `full' to possibly compute the
2069       distances among all tips and nodes of the tree. The default is
2070       `full = FALSE'.
2071
2072
2073 BUG FIXES
2074
2075     o Several bugs were fixed in all.equal.phylo().
2076
2077     o dist.dna() did not handle correctly gaps ("-") in alignments:
2078       they are now considered as missing data.
2079
2080     o rotate() did not work if the tips were not ordered: this is
2081       fixed.
2082
2083     o mantel.test() returned NA in some special cases: this is fixed
2084       and the function has been improved and is now faster.
2085
2086     o A bug was fixed in diversi.gof() where the calculation of A² was
2087       incorrect.
2088
2089     o cherry() did not work correctly under some OSs (mainly Linux):
2090       this is fixed.
2091
2092     o is.binary.tree() has been modified so that it works with both
2093       rooted and unrooted trees.
2094
2095     o The documentation of theta.s() was not correct: this has been
2096       fixed.
2097
2098     o plot.mst() did not work correctly: this is fixed.
2099
2100
2101
2102                 CHANGES IN APE VERSION 1.6
2103
2104
2105 NEW FEATURES
2106
2107     o The new function dist.topo() computes the topological distances
2108       between two trees.
2109
2110     o The new function boot.phylo() performs a bootstrap analysis on
2111       phylogeny estimation.
2112
2113     o The new functions prop.part() and prop.clades() analyse
2114       bipartitions from a series of trees.
2115
2116
2117 OTHER CHANGES
2118
2119     o read.GenBank() now uses the EFetch utility of NCBI instead of
2120       the usual Web interface: it is now much faster (e.g., 12 times
2121       faster to retrieve 8 sequences, 37 times for 60 sequences).
2122
2123
2124 BUG FIXES
2125
2126     o Several bugs were fixed in read.dna().
2127
2128     o Several bugs were fixed in diversi.time().
2129
2130     o is.binary.tree() did not work correctly if the tree has no edge
2131       lengths: this is fixed.
2132
2133     o drop.tip() did not correctly propagated the `node.label' of a
2134       tree: this is fixed.
2135
2136
2137
2138                 CHANGES IN APE VERSION 1.5
2139
2140
2141 NEW FEATURES
2142
2143     o Two new functions, as.matching.phylo() and as.phylo.matching(),
2144       convert objects between the classes "phylo" and "matching". The
2145       latter implements the representation of binary trees introduced by
2146       Diaconis and Holmes (1998; PNAS 95:14600). The generic function
2147       as.matching() has been introduced as well.
2148
2149     o Two new functions, multi2di() and di2multi(), allow to resolve
2150       and collapse multichotomies with branches of length zero.
2151
2152     o The new function nuc.div() computes the nucleotide diversity
2153       from a sample a DNA sequences.
2154
2155     o dist.dna() has been completely rewritten with a much faster
2156       (particularly for large data sets) C code. Eight models are
2157       available: JC69, K80, F81, K81, F84, T92, TN93, and GG95 (the
2158       option `method' has been renamed `model'). Computation of variance
2159       is available for all models. A gamma-correction is possible for
2160       JC69, K80, F81, and TN93. There is a new option, pairwise.deletion,
2161       to remove sites with missing data on a pairwise basis. The option
2162       `GCcontent' has been removed.
2163
2164     o read.GenBank() has a new option (species.names) which specifies
2165       whether to return the species names of the organisms in addition
2166       to the accession numbers of the sequences (this is the default
2167       behaviour).
2168
2169     o write.nexus() can now write several trees in the same NEXUS file.
2170
2171     o drop.tip() has a new option `root.edge' that allows to specify the
2172       new root edge if internal branches are trimmed.
2173
2174
2175 BUG FIXES
2176
2177     o as.phylo.hclust() failed if some labels had parentheses: this
2178       is fixed.
2179
2180     o Several bugs were fixed in all.equal.phylo(). This function now
2181       returns the logical TRUE if the trees are identical but with
2182       different representations (a report was printed previously).
2183
2184     o read.GenBank() did not correctly handle ambiguous base codes:
2185       this is fixed.
2186
2187
2188 OTHER CHANGES
2189
2190     o birthdeath() now returns an object of class "birthdeath" for
2191       which there is a print method.
2192
2193
2194
2195                 CHANGES IN APE VERSION 1.4
2196
2197
2198 NEW FEATURES
2199
2200     o The new function nj() performs phylogeny estimation with the
2201       neighbor-joining method of Saitou and Nei (1987; Mol. Biol.
2202       Evol., 4:406).
2203
2204     o The new function which.edge() identifies the edges of a tree
2205       that belong to a group specified as a set of tips.
2206
2207     o The new function as.phylo.phylog() converts an object of class
2208       "phylog" (from the package ade4) into an object of class
2209       "phylo".
2210
2211     o The new function axisPhylo() draws axes on the side of a
2212       phylogeny plot.
2213
2214     o The new function howmanytrees() calculates the number of trees
2215       in different cases and giving a number of tips.
2216
2217     o write.tree() has a new option `multi.line' (TRUE by default) to
2218       write a Newick tree on several lines rather than on a single
2219       line.
2220
2221     o The functionalities of zoom() have been extended. Several
2222       subtrees can be visualized at the same time, and they are marked
2223       on the main tree with colors. The context of the subtrees can be
2224       marked with the option `subtree' (see below).
2225
2226     o drop.tip() has a new option `subtree' (FALSE by default) which
2227       specifies whether to output in the tree how many tips have been
2228       deleted and where.
2229
2230     o The arguments of add.scale.bar() have been redefined and have
2231       now default values (see ?add.scale.bar for details). This
2232       function now works even if the plotted tree has no edge length.
2233
2234     o plot.phylo() can now plot radial trees, but this does not take
2235       edge lengths into account.
2236
2237     o In plot.phylo() with `type = "phylogram"', if the values of
2238       `edge.color' and `edge.width' are identical for sister-branches,
2239       they are propagated to the vertical line that link them.
2240
2241
2242 BUG FIXES
2243
2244     o Repeated calls to as.phylo.hclust() or as.hclust.phylo() made R
2245       crashing. This is fixed.
2246
2247     o In plot.phylo(), the options `edge.color' and `edge.width' are
2248       now properly recycled; their default values are now "black" and
2249       1, respectively.
2250
2251     o A bug has been fixed in write.nexus().
2252
2253
2254 OTHER CHANGES
2255
2256     o The function node.depth.edgelength() has been removed and
2257       replaced by a C code.
2258
2259
2260
2261                 CHANGES IN APE VERSION 1.3-1
2262
2263
2264 NEW FEATURES
2265
2266     o The new function nodelabels() allows to add labels to the nodes
2267       of a tree using text or plotting symbols in a flexible way.
2268
2269     o In plot.phylo() the arguments `x.lim' and `y.lim' can now be two
2270       numeric values specifying the lower and upper limits on the x-
2271       and y-axes. This allows to leave some space on any side of the
2272       tree. If a single value is given, this is taken as the upper
2273       limit (as before).
2274
2275
2276
2277                 CHANGES IN APE VERSION 1.3
2278
2279
2280 NEW FEATURES
2281
2282     o The new function phymltest() calls the software PHYML and fits
2283       28 models of DNA sequence evolution. There are a print method to
2284       display likelihood and AIC values, a summary method to compute
2285       the hierarchical likelihood ratio tests, and a plot method to
2286       display graphically the AIC values of each model.
2287
2288     o The new function yule.cov() fits the Yule model with covariates,
2289       a model where the speciation rate is affected by several species
2290       traits through a generalized linear model. The parameters are
2291       estimated by maximum likelihood.
2292
2293     o Three new functions, corBrownian(), corGrafen(), and
2294       corMartins(), compute the expected correlation structures among
2295       species given a phylogeny under different models of evolution.
2296       These can be used for GLS comparative phylogenetic methods (see
2297       the examples). There are coef() and corMatrix() methods and an
2298       Initialize.corPhyl() function associated.
2299
2300     o The new function compar.cheverud() implements Cheverud et al.'s
2301       (1985; Evolution 39:1335) phylogenetic comparative method.
2302
2303     o The new function varcomp() estimates variance components; it has
2304       a plot method.
2305
2306     o Two new functions, panel.superpose.correlogram() and
2307       plot.correlogramList(), allow to plot several phylogenetic
2308       correlograms.
2309
2310     o The new function node.leafnumber() computes the number of leaves
2311       of a subtree defined by a particular node.
2312
2313     o The new function node.sons() gets all tags of son nodes from a
2314       given parent node.
2315
2316     o The new function compute.brlen() computes the branch lengths of
2317       a tree according to a specified method.
2318
2319     o plot.phylo() has three new options: "cex" controls the size of
2320       the (tip and node) labels (thus it is no more needed to change
2321       the global graphical parameter), "direction" which allows to
2322       plot the tree rightwards, leftwards, upwards, or downwards, and
2323       "y.lim" which sets the upper limit on the y-axis.
2324
2325
2326 BUG FIXES
2327
2328     o Some functions which try to match tip labels and names of
2329       additional data (e.g. vector) are likely to fail if there are
2330       typing or syntax errors. If both series of names do not perfectly
2331       match, they are ignored and a warning message is now issued.
2332       These functions are bd.ext, compar.gee, pic. Their help pages
2333       have been clarified on this point.
2334
2335
2336
2337                 CHANGES IN APE VERSION 1.2-7
2338
2339
2340 NEW FEATURES
2341
2342     o The new function root() reroots a phylogenetic tree with respect
2343       to a specified outgroup.
2344
2345     o The new function rotate() rotates an internal branch of a tree.
2346
2347     o In plot.phylo(), the new argument "lab4ut" (labels for unrooted
2348       trees) controls the display of the tip labels in unrooted trees.
2349       This display has been greatly improved: the tip labels are now not
2350       expected to overlap with the tree (particularly if lab4ut =
2351       "axial"). In all cases, combining appropriate values of "lab4ut"
2352       and the font size (via "par(cex = )") should result in readable
2353       unrooted trees. See ?plot.phylo for some examples.
2354
2355     o In drop.tip(), the argument `tip' can now be numeric or character.
2356
2357
2358 BUG FIXES
2359
2360     o drop.tip() did not work correctly with trees with no branch
2361       lengths: this is fixed.
2362
2363     o A bug in plot.phylo(..., type = "unrooted") made some trees being
2364       plotted with some line crossings: this is now fixed.
2365
2366
2367
2368                 CHANGES IN APE VERSION 1.2-6
2369
2370
2371 NEW FEATURES
2372
2373     o Six new functions (Moran.I, correlogram.formula, discrete.dist,
2374       correlogram.phylo, dist.taxo, plot.correlogram) have been added
2375       to implement comparative methods with an autocorrelation approach.
2376
2377     o A new data set describing some life history traits of Carnivores
2378       has been included.
2379
2380
2381 BUG FIXES
2382
2383     o A fix was made on mcmc.popsize() to conform to R 2.0.0.
2384
2385
2386 OTHER CHANGES
2387
2388     o When plotting a tree with plot.phylo(), the new default of the
2389       option `label.offset' is now 0, so the labels are always visible.
2390
2391
2392
2393                 CHANGES IN APE VERSION 1.2-5
2394
2395
2396 NEW FEATURES
2397
2398     o The new function bd.ext() fits a birth-death model with combined
2399       phylogenetic and taxonomic data, and estimates the corresponding
2400       speciation and extinction rates.
2401
2402
2403 OTHER CHANGES
2404
2405     o The package gee is no more required by ape but only suggested
2406       since only the function compar.gee() calls gee.
2407
2408
2409
2410                 CHANGES IN APE VERSION 1.2-4
2411
2412
2413 NEW FEATURES
2414
2415     o Four new functions (mcmc.popsize, extract.popsize, plot.popsize,
2416       and lines.popsize) implementing a new approach for inferring the
2417       demographic history from genealogies using a reversible jump
2418       MCMC have been introduced.
2419
2420     o The unit of time in the skyline plot and in the new plots can
2421       now be chosen to be actual years, rather than substitutions.
2422
2423
2424
2425                 CHANGES IN APE VERSION 1.2-3
2426
2427
2428 NEW FEATURES
2429
2430     o The new function rtree() generates a random binary tree with or
2431       without branch lengths.
2432
2433     o Two new functions for drawing lineages-through-time (LTT) plots
2434       are provided: ltt.lines() adds a LTT curve to an existing plot,
2435       and mltt.plot() does a multiple LTT plot giving several trees as
2436       arguments (see `?ltt.plot' for details).
2437
2438
2439 BUG FIXES
2440
2441     o Some taxon names made R crashing when calling as.phylo.hclust():
2442       this is fixed.
2443
2444     o dist.dna() returned an error with two identical DNA sequences
2445       (only using the Jukes-Cantor method returned 0): this is fixed.
2446
2447
2448 OTHER CHANGES
2449
2450     o The function dist.phylo() has been re-written using a different
2451       algorithm: it is now about four times faster.
2452
2453     o The code of branching.times() has been improved: it is now about
2454       twice faster.
2455
2456
2457
2458                 CHANGES IN APE VERSION 1.2-2
2459
2460
2461 NEW FEATURES
2462
2463     o The new function seg.sites() finds the segregating sites in a
2464       sample of DNA sequences.
2465
2466
2467 BUG FIXES
2468
2469     o A bug introduced in read.tree() and in read.nexus() with version
2470       1.2-1 was fixed.
2471
2472     o A few errors were corrected and a few examples were added in the
2473       help pages.
2474
2475
2476
2477                 CHANGES IN APE VERSION 1.2-1
2478
2479
2480 NEW FEATURES
2481
2482     o plot.phylo() can now draw the edge of the root of a tree if it
2483       has one (see the new option `root.edge', its default is FALSE).
2484
2485
2486 BUG FIXES
2487
2488     o A bug was fixed in read.nexus(): files with semicolons inside
2489       comment blocks were not read correctly.
2490
2491     o The behaviour of read.tree() and read.nexus() was corrected so
2492       that tree files with badly represented root edges (e.g., with
2493       an extra pair of parentheses, see the help pages for details)
2494       are now correctly represented in the object of class "phylo";
2495       a warning message is now issued.
2496
2497
2498
2499                 CHANGES IN APE VERSION 1.2
2500
2501
2502 NEW FEATURES
2503
2504     o plot.phylo() has been completely re-written and offers several
2505       new functionalities. Three types of trees can now be drawn:
2506       phylogram (as previously), cladogram, and unrooted tree; in
2507       all three types the branch lengths can be drawn using the edge
2508       lengths of the phylogeny or not (e.g., if the latter is absent).
2509       The vertical position of the nodes can be adjusted with two
2510       choices (see option `node.pos'). The code has been re-structured,
2511       and two new functions (potentially useful for developpers) are
2512       documented separately: node.depth.edgelength() and node.depth();
2513       see the respective help pages for details.
2514
2515     o The new function zoom() allows to explore very large trees by
2516       focusing on a small portion of it.
2517
2518     o The new function yule() fits by maximum likelihood the Yule model
2519       (birth-only process) to a phylogenetic tree.
2520
2521     o Support for writing DNA sequences in FASTA format has been
2522       introduced in write.dna() (support for reading sequences in
2523       this format was introduced in read.dna() in version 1.1-2).
2524       The function has been completely re-written, fixing some bugs
2525       (see below); the default behaviour is no more to display the
2526       sequences on the standard output. Several options have been
2527       introduced to control the sequence printing in a flexible
2528       way. The help page has been extended.
2529
2530     o A new data set is included: a supertree of bats in NEXUS format.
2531
2532
2533 BUG FIXES
2534
2535     o In theta.s(), the default of the option `variance' has
2536       been changed to `FALSE' (as was indicated in the help page).
2537
2538     o Several bugs were fixed in the code of all.equal.phylo().
2539
2540     o Several bugs were fixed in write.dna(), particularly this
2541       function did not work with `format = "interleaved"'.
2542
2543     o Various errors were corrected in the help pages.
2544
2545
2546 OTHER CHANGES
2547
2548     o The argument names of as.hclust.phylo() have been changed
2549       from "(phy)" to "(x, ...)" to conform to the definition of
2550       the corresponding generic function.
2551
2552     o gamma.stat() has been renamed gammaStat() to avoid confusion
2553       since gamma() is a generic function.
2554
2555
2556
2557                 CHANGES IN APE VERSION 1.1-3
2558
2559
2560 BUG FIXES
2561
2562     o base.freq() previously did not return a value of 0 for
2563       bases absent in the data (e.g., a vector of length 3 was
2564       returned if one base was absent). This is now fixed (a
2565       vector of length 4 is always returned).
2566
2567     o Several bugs were fixed in read.nexus(), including that this
2568       function did not work in this absence of a "TRANSLATE"
2569       command in the NEXUS file, and that the commands were
2570       case-sensitive.
2571
2572
2573
2574                 CHANGES IN APE VERSION 1.1-2
2575
2576
2577 NEW FEATURES
2578
2579     o The Tamura and Nei (1993) model of DNA distance is now implemented
2580       in dist.dna(): five models are now available in this function.
2581
2582     o A new data set is included: a set of 15 sequences of the
2583       cytochrome b mitochondrial gene of the woodmouse (Apodemus
2584       sylvaticus).
2585
2586
2587 BUG FIXES
2588
2589     o A bug in read.nexus() was fixed.
2590
2591     o read.dna() previously did not work correctly in most cases.
2592       The function has been completely re-written and its help page
2593       has been considerably extended (see ?read.dna for details).
2594       Underscores (_) in taxon names are no more replaced with
2595       spaces (this behaviour was undocumented).
2596
2597     o A bug was fixed in write.dna().
2598
2599
2600
2601                 CHANGES IN APE VERSION 1.1-1
2602
2603
2604 BUG FIXES
2605
2606     o A bug in read.tree() introduced in APE 1.1 was fixed.
2607
2608     o A bug in compar.gee() resulted in an error when trying to fit
2609       a model with `family = "binomial"'. This is now fixed.
2610
2611
2612
2613                 CHANGES IN APE VERSION 1.1
2614
2615
2616 NEW FEATURES
2617
2618     o The Klastorin (1982) method as suggested by Misawa and Tajima
2619       (2000, Mol. Biol. Evol. 17:1879-1884) for classifying genes
2620       on the basis of phylogenetic trees has been implemented (see
2621       the function klastorin()).
2622
2623     o Functions have been added to convert APE's "phylo" objects in
2624       "hclust" cluster objects and vice versa (see the help page of
2625       as.phylo for details).
2626
2627     o Three new functions, ratogram(), chronogram() and NPRS.criterion(),
2628       are introduced for the estimation of absolute evolutionary rates
2629       (ratogram) and dated clock-like trees (chronogram) from
2630       phylogenetic trees using the non-parametric rate smoothing approach
2631       by MJ Sanderson (1997, Mol. Biol. Evol. 14:1218-1231).
2632
2633     o A summary method is now provided printing a summary information on a
2634       phylogenetic tree with, for instance, `summary(tree)'.
2635
2636     o The behaviour of read.tree() was changed so that all spaces and
2637       tabulations in tree files are now ignored. Consequently, spaces in tip
2638       labels are no more allowed. Another side effect is that read.nexus()
2639       now does not replace the underscores (_) in tip labels with spaces
2640       (this behaviour was undocumented).
2641
2642     o The function plot.phylo() has a new option (`underscore') which
2643       specifies whether the underscores in tip labels should be written on
2644       the plot as such or replaced with spaces (the default).
2645
2646     o The function birthdeath() now computes 95% confidence intervals of
2647       the estimated parameters using profile likelihood.
2648
2649     o Three new data sets are included: a gene tree estimated from 36
2650       landplant rbcL sequences, a gene tree estimated from 32 opsin
2651       sequences, and a gene tree for 50 BRCA1 mammalian sequences.
2652
2653
2654 BUG FIXES
2655
2656     o A bug was fixed in dist.gene() where nothing was returned.
2657
2658     o A bug in plot.mst() was fixed.
2659
2660     o A bug in vcv.phylo() resulted in false correlations when the
2661       option `cor = TRUE' was used (now fixed).
2662
2663
2664
2665                 CHANGES IN APE VERSION 1.0
2666
2667
2668 NEW FEATURES
2669
2670     o Two new functions, read.dna() and write.dna(), read/write in a file
2671       DNA sequences in interleaved or in sequential format.
2672
2673     o Two new functions, read.nexus() and write.nexus(), read/write trees
2674       in a NEXUS file.
2675
2676     o The new function bind.tree() allows to bind two trees together,
2677       possibly handling root edges to give internal branches.
2678
2679     o The new function drop.tip() removes the tips in a phylogenetic tree,
2680       and trims (or not) the corresponding internal branches.
2681
2682     o The new function is.ultrametric() tests if a tree is ultrametric.
2683
2684     o The function plot.phylo() has more functionalities such as drawing the
2685       branches with different colours and/or different widths, showing the
2686       node labels, controling the position and font of the labels, rotating
2687       the labels, and controling the space around the plot.
2688
2689     o The function read.tree() can now read trees with no branch length,
2690       such as "(a,b),c);". Consequently, the element `edge.length' in
2691       objects of class "phylo" is now optional.
2692
2693     o The function write.tree() has a new default behaviour: if the default
2694       for the option `file' is used (i.e. file = ""), then a variable of
2695       mode character containing the tree in Newick format is returned which
2696       can thus be assigned (e.g., tree <- write.tree(phy)).
2697
2698     o The function read.tree() has a new argument `text' which allows
2699       to read the tree in a variable of mode character.
2700
2701     o A new data set is included: the phylogenetic relationships among
2702       the orders of birds from Sibley and Ahlquist (1990).
2703
2704
2705
2706                 CHANGES IN APE VERSION 0.2-1
2707
2708
2709 BUG FIXES
2710
2711     o Several bugs were fixed in the help pages.
2712
2713
2714
2715                 CHANGES IN APE VERSION 0.2
2716
2717
2718 NEW FEATURES
2719
2720     o The function write.tree() writes phylogenetic trees (objects of class
2721       "phylo") in an ASCII file using the Newick parenthetic format.
2722
2723     o The function birthdeath() fits a birth-death model to branching times
2724       by maximum likelihood, and estimates the corresponding speciation and
2725       extinction rates.
2726
2727     o The function scale.bar() adds a scale bar to a plot of a phylogenetic
2728       tree.
2729
2730     o The function is.binary.tree() tests whether a phylogeny is binary.
2731
2732     o Two generic functions, coalescent.intervals() and collapsed.intervals(),
2733       as well as some methods are introduced.
2734
2735     o Several functions, including some generics and methods, for computing
2736       skyline plot estimates (classic and generalized) of effective
2737       population size through time are introduced and replace the function
2738       skyline.plot() in version 0.1.
2739
2740     o Two data sets are now included: the phylogenetic relationships among
2741       the families of birds from Sibley and Ahlquist (1990), and an
2742       estimated clock-like phylogeny of HIV sequences sampled in the
2743       Democratic Republic of Congo.
2744
2745
2746 DEPRECATED & DEFUNCT
2747
2748     o The function skyline.plot() in ape 0.1 has been deprecated and
2749       replaced by more elaborate functions (see above).
2750
2751
2752 BUG FIXES
2753
2754     o Two important bugs were fixed in plot.phylo(): phylogenies with
2755       multichotomies not at the root or not with only terminal branches,
2756       and phylogenies with a single node (i.e. only terminal branches)
2757       did not plot. These trees should be plotted correctly now.
2758
2759     o Several bugs were fixed in diversi.time() in the computation of
2760       AICs and LRTs.
2761
2762     o Various errors were corrected in the help pages.