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