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