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