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