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