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