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