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