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