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