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