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