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