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