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