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