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