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