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