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