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