]> git.donarmstrong.com Git - ape.git/blob - NEWS
87f4ffa73ae62dc802aa1b1b0006335d9048c378
[ape.git] / NEWS
1                 CHANGES IN APE VERSION 3.0-2
2
3
4 NEW FEATURES
5
6     o The new function alex (alignment explorator) zooms in a DNA
7       alignment and opens the result in a new window.
8
9
10 BUG FIXES
11
12     o compute.brtime() did not completely randomized the order of the
13       branching times.
14
15     o write.nexus() did not work correctly with rooted trees (thanks
16       to Matt Johnson for the fix).
17
18     o mltt.plot(, backward = FALSE) did not set the x-axis correctly.
19
20
21
22                 CHANGES IN APE VERSION 3.0-1
23
24
25 NEW FEATURES
26
27     o dist.dna() has two new models: "indel" and "indelblock".
28
29     o bind.tree() now accepts 'position' > 0 when the trees have no
30       banch length permitting to create a node in 'x' when grafting
31       'y' (see ?bind.tree for details).
32
33
34 BUG FIXES
35
36     o cophyloplot( , rotate = TRUE) made R hanged after a few clicks.
37       Also the tree is no more plotted twice.
38
39     o read.GenBank() has been updated to work with EFetch 2.0.
40
41     o unroot() on trees in "pruningwise" order did not respect this
42       attribute.
43
44
45
46                 CHANGES IN APE VERSION 3.0
47
48
49 NEW FEATURES
50
51     o The three functions dyule, dbd, and dbdTime calculate the
52       density probability (i.e., the distribution of the number of
53       species) for the Yule, the constant and the time-dependent
54       birth-beath models, respectively. These probabilities can be
55       conditional on no extinction and/or on a log-scale.
56
57     o plot.phylo() has a new option 'rotate.tree' to rotate unrooted,
58       fan, or radial trees around the center of the plot.
59
60     o boot.phylo() and prop.clades() have a new option rooted =
61       FALSE. Note that the behaviour of prop.part() is unchanged.
62
63     o edgelabels() has a new option 'date' to place labels on edges of
64       chronograms using the time scale (suggestion by Rob Lanfear).
65
66
67 BUG FIXES
68
69     o In chronopl(), the code setting the initial dates failed in
70       complicated settings (several dates known within intervals).
71       This has been generally improved and should result in faster
72       and more efficient convergence even in simple settings.
73
74     o mantel.test() sometimes returned P-values > 1 with the default
75       two-tailed test.
76
77     o extract.clade() sometimes shuffled some tip labels (thanks to
78       Ludovic Mallet and Mahendra Mariadassou for the fix).
79
80     o clustal() should now find by default the executable under Windows.
81
82
83 OTHER CHANGES
84
85     o The code of yule() has been simplified and is now much faster for
86       big trees.
87
88     o The code of mantel.test() has been adjusted to be consistent
89       with common permutation tests.
90
91     o The C code of base.freq() has been improved and is now nearly 8
92       times faster.
93
94     o The option 'original.data' of write.nexus() is now deprecated and
95       will be removed in a future release.
96
97     o The code of is.ultrametric() has been improved and is now 3 times
98       faster.
99
100     o The code of vcv.phylo() has been improved and is now 10 or 30
101       times faster for 100 or 1000 tips, respectively. Consequently,
102       fitting models with PGLS will be faster overall.
103
104
105
106                 CHANGES IN APE VERSION 2.8
107
108
109 NEW FEATURES
110
111     o Twelve new functions have been written by Andrei-Alin Popescu:
112       additive, ultrametric, is.compatible, arecompatible, mvr, mvrs,
113       njs, bionjs, SDM, treePop, triangMtd, triangMtd*.
114
115     o A new class "bitsplits" has been created by Andrei-Alin Popescu
116       to code splits (aka, bipartition).
117
118     o There is a new generic function as.bitsplits with a method to
119       convert from the class "prop.part" to the class "bitsplits".
120
121     o The new function ltt.coplot plots on the same scales a tree and
122       the derived LTT plot.
123
124     o ltt.plot() has two new options: backward and tol. It can now
125       handle non-ultrametic trees and its internal coding has been
126       improved. The coordinates of the plot can now be computed with
127       the new function ltt.plot.coords.
128
129
130 BUG FIXES
131
132     o prop.part() crashed if some trees had some multichotomies.
133
134
135
136                 CHANGES IN APE VERSION 2.7-3
137
138
139 NEW FEATURES
140
141     o The new function compute.brtime computes and sets branching times.
142
143     o mantel.test() has a new argument 'alternative' which is
144       "two-sided" by default. Previously, this test was one-tailed
145       with no possibility to change.
146
147     o ace() can now do REML estimation with continuous characters,
148       giving better estimates of the variance of the Brownian motion
149       process.
150
151
152 BUG FIXES
153
154     o Branch lengths were wrongly updated with bind.tree(, where = <tip>,
155       position = 0). (Thanks to Liam Revell for digging this bug out.)
156
157     o Simulation of OU process with rTraitCont() did not work correctly.
158       This now uses formula from Gillespie (1996) reduced to a BM
159       process when alpha = 0 to avoid division by zero. The option
160       'linear' has been removed.
161
162     o Cross-validation in chronopl() did not work when 'age.max' was
163       used.
164
165     o consensus(, p = 0.5) could return an incorrect tree if some
166       incompatible splits occur in 50% of the trees (especially with
167       small number of trees).
168
169     o c() with "multiPhylo" did not work correctly (thanks to Klaus
170       Schliep for the fix).
171
172     o root() failed in some cases with an outgroup made of several tips.
173       The help page has been clarified a bit.
174
175
176
177                 CHANGES IN APE VERSION 2.7-2
178
179
180 NEW FEATURES
181
182     o There is a new class "evonet" to code evolutionary networks, with
183       a constructor function evonet(), a print() and a plot() methods,
184       and four conversion methods to the classes "phylo", "networx",
185       "network", and "igraph".
186
187     o The new function rTraitMult does multivariate traits simulation
188       with user-defined models.
189
190     o plot.phylo() has a new option 'plot = TRUE'. If FALSE, the tree
191       is not plotted but the graphical device is set and the
192       coordinates are saved as usual.
193
194     o diversity.contrast.test() gains a fourth version of the test with
195       method = "logratio"; the literature citations have been clarified.
196
197     o add.scale.bar() has two new options, 'lwd' and 'lcol', to modify
198       the aspect of the bar.
199
200     o boot.phylo() now displays a progress bar by default (can be off
201       if 'quiet = TRUE').
202
203     o There is a new predict() method for compar.gee().
204
205
206 BUG FIXES
207
208     o bionj() made R crash if distances were too large. It now returns
209       an error if at least one distance is greater than 100.
210
211     o drop.tip() returned a wrong tree if 'tip' was of zero length.
212
213     o read.nexus.data() failed with URLs.
214
215     o boot.phylo() returned overestimated support values in the
216       presence of identical or nearly identical sequences.
217
218
219 OTHER CHANGES
220
221     o The data bird.families, bird.orders, cynipids, and woodmouse are
222       now provided as .rda files.
223
224
225
226                 CHANGES IN APE VERSION 2.7-1
227
228
229 NEW FEATURES
230
231     o The new function trex does tree exploration with multiple
232       graphical devices.
233
234     o The new function kronoviz plots several rooted (dated) trees on
235       the scale scale.
236
237     o identify.phylo() has a new option 'quiet' (FALSE by default).
238
239
240 BUG FIXES
241
242     o A bug was introduced in read.nexus() in ape 2.7.
243
244     o image.DNAbin() did not colour correctly the bases if there were
245       some '-' and no 'N'.
246
247     o .compressTipLabel() failed with a list with a single tree.
248
249     o identify.phylo() returned a wrong answer when the x- and y-scales
250       are very different.
251
252     o write.nexus() failed with lists of trees with compressed labels.
253
254
255 OTHER CHANGES
256
257     o identify.phylo() now returns NULL if the user right- (instead of
258       left-) clicks (an error was returned previously).
259
260     o read.nexus() should be robust to commands inserted in the TREES
261       block.
262
263
264
265                 CHANGES IN APE VERSION 2.7
266
267
268 NEW FEATURES
269
270     o There is a new image() method for "DNAbin" objects: it plots DNA
271       alignments in a flexible and efficient way.
272
273     o Two new functions as.network.phylo and as.igraph.phylo convert
274       trees of class "phylo" into these respective network classes
275       defined in the packages of the same names.
276
277     o The three new functions clustal, muscle, and tcoffee perform
278       nucleotide sequence alignment by calling the external programs
279       of the same names.
280
281     o Four new functions, diversity.contrast.test, mcconwaysims.test,
282       richness.yule.test, and slowinskiguyer.test, implement various
283       tests of diversification shifts using sister-clade comparisons.
284
285     o base.freq() gains an option 'all' to count all the possible bases
286       including the ambiguous ones (defaults to FALSE).
287
288     o read.nexus() now writes tree names in the NEXUS file if given a
289       list of trees with names.
290
291
292 BUG FIXES
293
294     o prop.part() failed in some situations with unrooted trees.
295
296     o read.nexus() shuffled node labels when a TRANSLATE block was
297       present.
298
299     o varCompPhylip() did not work if 'exec' was specified.
300
301     o bind.tree() shuffled node labels when position > 0 and 'where'
302       was not the root.
303
304
305 OTHER CHANGES
306
307     o BaseProportion in src/dist_dna.c has been modified.
308
309     o A number of functions in src/tree_build.c have been modified.
310
311     o The matching representation has now only two columns as the third
312       column was redundant.
313
314
315
316                 CHANGES IN APE VERSION 2.6-3
317
318
319 NEW FEATURES
320
321     o rTraitCont() and rTraitDisc() gains a '...' argument used with
322       user-defined models (suggestion by Gene Hunt).
323
324
325 BUG FIXES
326
327     o as.hclust.phylo() now returns an error with unrooted trees.
328
329     o as.hclust.phylo() failed with trees with node labels (thanks to
330       Jinlong Zhang for pointing this bug out).
331
332     o read.dna(, "fasta") failed if sequences were not all of the same
333       length.
334
335     o plot.phylo() did not recycle values of 'font', 'cex' and
336       'tip.color' correctly when type = "fan" or "radial".
337
338     o plot.phylo() ignored 'label.offset' when type = "radial", "fan", or
339       "unrooted" with lab4ut = "axial" (the placement of tip labels still
340       needs to be improved with lab4ut = "horizontal").
341
342
343 OTHER CHANGES
344
345     o In drop.fossil() the default tol = 0 has been raised to 1e-8.
346
347     o The help command ?phylo now points to the man page of read.tree()
348       where this class is described. Similarly, ?matching points to the
349       man page of as.matching().
350
351
352
353                 CHANGES IN APE VERSION 2.6-2
354
355
356 NEW FEATURES
357
358     o Two new functions, pic.ortho and varCompPhylip, implements the
359       orthonormal contrasts of Felsenstein (2008, Am Nat, 171:713). The
360       second function requires Phylip to be installed on the computer.
361
362     o bd.ext() has a new option conditional = TRUE to use probabilities
363       conditioned on no extinction for the taxonomic data.
364
365
366 BUG FIXES
367
368     o write.tree() failed to output correctly tree names.
369
370     o dist.nodes() returned duplicated column(s) with unrooted and/or
371       multichotomous trees.
372
373     o mcmc.popsize() terminated unexpectedly if the progress bar was
374       turned off.
375
376     o prop.part(x) made R frozen if 'x' is of class "multiPhylo".
377
378     o Compilation under Mandriva failed (thanks to Jos Käfer for the fix).
379
380     o drop.tip() shuffled tip labels with subtree = TRUE or trim.internal
381       = FALSE.
382
383     o Objects returned by as.hclust.phylo() failed when analysed with
384       cutree() or rect.hclust().
385
386     o write.tree() did not output correctly node labels (thanks to Naim
387       Matasci and Jeremy Beaulieu for the fix).
388
389     o ace(type = "discrete") has been improved thanks to Naim Marasci and
390       Jeremy Beaulieu.
391
392
393
394                 CHANGES IN APE VERSION 2.6-1
395
396
397 NEW FEATURES
398
399     o The new function speciesTree calculates the species tree from a set
400       of gene trees. Several methods are available including maximum tree
401       and shallowest divergence tree.
402
403
404 BUG FIXES
405
406     o A bug introduced in write.tree() with ape 2.6 has been fixed.
407
408     o as.list.DNAbin() did not work correctly with vectors.
409
410     o as.hclust.phylo() failed with trees with node labels (thanks to
411       Filipe Vieira for the fix).
412
413
414
415                 CHANGES IN APE VERSION 2.6
416
417
418 NEW FEATURES
419
420     o The new functions rlineage and rbdtree simulate phylogenies under
421       any user-defined time-dependent speciation-extinction model. They
422       use continuous time algorithms.
423
424     o The new function drop.fossil removes the extinct species from a
425       phylogeny.
426
427     o The new function bd.time fits a user-defined time-dependent
428       birth-death model. It is a generalization of yule.time() taking
429       extinction into account.
430
431     o The new function MPR does most parsimonious reconstruction of
432       discrete characters.
433
434     o The new function Ftab computes the contingency table of base
435       frequencies from a pair of sequences.
436
437     o There is now an 'as.list' method for the class "DNAbin".
438
439     o dist.dna() can compute the number of transitions or transversions
440       with the option model = "Ts" or model = "Tv", respectively.
441
442     o [node|tip|edge]labels() gain three options with default values to
443       control the aspect of thermometers: horiz = TRUE, width = NULL,
444       and height = NULL.
445
446     o compar.gee() has been improved with the new option 'corStruct' as an
447       alternative to 'phy' to specify the correlation structure, and
448       calculation of the QIC (Pan 2001, Biometrics). The display of the
449       results has also been improved.
450
451     o read.GenBank() has a new option 'gene.names' to return the name of
452       the gene (FALSE by default).
453
454
455 BUG FIXES
456
457     o extract.clade() sometimes shuffled the tip labels.
458
459     o plot.phylo(type = "unrooted") did not force asp = 1 (thanks to Klaus
460       Schliep for the fix)
461
462     o dist.dna(model = "logdet") used to divide distances by 4. The
463       documentation has been clarified on the formulae used.
464
465
466 OTHER CHANGES
467
468     o rTraitCont(model = "OU") has an option 'linear = TRUE' to possibly
469       change the parameterisation (see ?rTraitCont for details).
470
471     o pic() now returns a vector with the node labels of the tree (if
472       available) as names.
473
474     o write.tree() and read.tree() have been substantially improved thanks
475       to contributions by Klaus Schliep.
476
477
478
479                 CHANGES IN APE VERSION 2.5-3
480
481
482 NEW FEATURES
483
484     o The new function mixedFontLabel helps to make labels with bits of
485       text to be plotted in different fonts.
486
487     o There are now replacement operators for [, [[, and $ for the class
488       "multiPhylo" (i.e., TREES[11:20] <- rmtree(10, 100)). They possibly
489       check that the tip labels are the same in all trees.
490
491     o Objects of class "multiPhylo" can be built with c(): there are
492       methods for the classes "phylo" and "multiPhylo".
493
494     o The internal functions .compressTipLabel and .uncompressTipLabel are
495       now documented.
496
497
498 BUG FIXES
499
500     o bind.tree(x, y, where, position = 0) did not work correctly if 'y'
501       was a single-edge tree and 'where' was a tip.
502
503     o rTraitCont() did not use the square-root of branch lengths when
504       simulating a Brownian motion model.
505
506
507
508                 CHANGES IN APE VERSION 2.5-2
509
510
511 NEW FEATURES
512
513     o There is now a print method for results from ace().
514
515     o There is a labels() method for objects of class "DNAbin".
516
517     o read.dna() has a new option 'as.matrix' to possibly force sequences
518       in a FASTA file to be stored in a matrix (see ?read.dna for details).
519
520
521 BUG FIXES
522
523     o as.phylo.hclust() used to multiply edge lengths by 2.
524
525     o A minor bug was fixed in rTraitDisc().
526
527     o ace() sometimes failed (parameter value was NaN and the optimisation
528       failed).
529
530
531 DEPRECATED & DEFUNCT
532
533     o evolve.phylo() and plot.ancestral() have been removed.
534
535     o chronogram(), ratogram(), and NPRS.criterion() have been removed.
536
537
538 OTHER CHANGES
539
540     o nj() has been improved and is now about 30% faster.
541
542     o The default option 'drop' of [.DNAbin has been changed to FALSE to
543       avoid dropping rownames when selecting a single sequence.
544
545     o print.DNAbin() has been changed to summary.DNAbin() which has been
546       removed.
547
548
549
550                 CHANGES IN APE VERSION 2.5-1
551
552
553 NEW FEATURES
554
555     o The new function stree generates trees with regular shapes.
556
557     o It is now possible to bind two trees with x + y (see ?bind.tree for
558       details).
559
560     o drop.tip(), extract.clade(), root(), and bind.tree() now have an
561       'interactive' option to make the operation on a plotted tree.
562
563     o cophyloplot() gains two new arguments 'lwd' and 'lty' for the
564       association links; they are recycled like 'col' (which wasn't before).
565
566
567 BUG FIXES
568
569     o rTraitDisc() did not use its 'freq' argument correctly (it was
570       multiplied with the rate matrix column-wise instead of row-wise).
571
572     o [node|tip|edge]labels(thermo = ) used to draw empty thermometers
573       with NA values. Nothing is drawn now like with 'text' or 'pch'.
574       The same bug occurred with the 'pie' option.
575
576     o A bug was fixed in compar.ou() and the help page was clarified.
577
578     o bind.tree() has been rewritten fixing several bugs and making it
579       more efficient.
580
581     o plot.phylo(type = "p") sometimes failed to colour correctly the
582       vertical lines representing the nodes.
583
584     o plot.phylo(direction = "l", x.lim = 30) failed to plot the branches
585       in the correct direction though the tip labels were displayed
586       correctly.
587
588
589 OTHER CHANGES
590
591     o The c, cbind, and rbind methods for "DNAbin" objetcs now check that
592       the sequences are correctly stored (in a list for c, in a matrix
593       for the two other functions).
594
595
596
597                 CHANGES IN APE VERSION 2.5
598
599
600 NEW FEATURES
601
602     o The new function parafit by Pierre Legendre tests for the
603       coevolution between hosts and parasites. It has a companion
604       function, pcoa, that does principal coordinate decomposition.
605       The latter has a biplot method.
606
607     o The new function lmorigin by Pierre Legendre performs multiple
608       regression through the origin with testing by permutation.
609
610     o The new functions rTraitCont and rTraitDisc simulate continuous and
611       discrete traits under a wide range of evolutionary models.
612
613     o The new function delta.plot does a delta plot following Holland et
614       al. (2002, Mol. Biol. Evol. 12:2051).
615
616     o The new function edges draws additional branches between any nodes
617       and/or tips on a plotted tree.
618
619     o The new function fancyarrows enhances arrows from graphics with
620       triangle and harpoon heads; it can be called from edges().
621
622     o add.scale.bar() has a new option 'ask' to draw interactively.
623
624     o The branch length score replaces the geodesic distance in dist.topo.
625
626     o Three new data sets are included: the gopher-lice data (gopher.D),
627       SO2 air pollution in 41 US cities (lmorigin.ex1, from Sokal &
628       Rohlf 1995), and some host-parasite specificity data
629       (lmorigin.ex2, from Legendre & Desdevises 2009).
630
631
632 BUG FIXES
633
634     o add.scale.bar() drew the bar outside the plotting region with the
635       default options with unrooted or radial trees.
636
637     o dist.topo() made R stuck when the trees had different sizes (thanks
638       to Otto Cordero for the fix).
639
640
641 OTHER CHANGES
642
643     o The geodesic distance has been replaced by the branch length score
644       in dist.topo().
645
646
647
648                 CHANGES IN APE VERSION 2.4-1
649
650
651 NEW FEATURES
652
653     o rtree() and rcoal() now accept a numeric vector for the 'br'
654       argument.
655
656     o vcv() is a new generic function with methods for the classes "phylo"
657       and "corPhyl" so that it is possible to calculate the var-cov matrix
658       for "transformation models". vcv.phylo() can still be used for trees
659       of class "phylo"; its argument 'cor' has been renamed 'corr'.
660
661
662 BUG FIXES
663
664     o bind.tree() failed when 'y' had no root edge.
665
666     o read.nexus() shuffled tip labels when the trees have no branch
667       lengths and there is a TRANSLATE block.
668
669     o read.nexus() does not try to translate node labels if there is a
670       translation table in the NEXUS file. See ?read.nexus for a
671       clarification on this behaviour.
672
673     o plot.multiPhylo() crashed R when plotting a list of trees with
674       compressed tip labels.
675
676     o write.nexus() did not translate the taxa names when asked for.
677
678     o plot.phylo(type = "fan") did not rotate the tip labels correctly
679       when the tree has branch lengths.
680
681     o ace(type = "continuous", method = "ML") now avoids sigma² being
682       negative (which resulted in an error).
683
684     o nj() crashed with NA/NaN in the distance matrix: an error in now
685       returned.
686
687
688
689                 CHANGES IN APE VERSION 2.4
690
691
692 NEW FEATURES
693
694     o base.freq() has a new option 'freq' to return the counts; the
695       default is still to return the proportions.
696
697
698 BUG FIXES
699
700     o seg.sites() did not handle ambiguous nucleotides correctly: they
701       are now ignored.
702
703     o plot(phy, root.edge = TRUE) failed if there was no $root.edge in
704       the tree: the argument is now ignored.
705
706     o add.scale.bar() failed when 'x' and 'y' were given (thanks to Janet
707       Young for the fix).
708
709
710 OTHER CHANGES
711
712     o Trying to plot a tree with a single tip now returns NULL with a
713       warning (it returned an error previously).
714
715     o The way lines representing nodes are coloured in phylograms has
716       been modified (as well as their widths and types) following some
717       users' request; this is only for dichotomous nodes.
718
719     o The argument 'adj' in [node][tip][edge]labels() now works when
720       using 'pie' or 'thermo'.
721
722     o A more informative message error is now returned by dist.dna() when
723       'model' is badly specified (partial matching of this argument is
724       done now).
725
726     o Deprecated functions are now listed in a help page: see
727       help("ape-defunct") with the quotes.
728
729
730 DEPRECATED & DEFUNCT
731
732     o The functions heterozygosity, nuc.div, theta.h, theta.k and
733       theta.s have been moved from ape to pegas.
734
735     o The functions mlphylo, DNAmodel and sh.test have been removed.
736
737
738
739                 CHANGES IN APE VERSION 2.3-3
740
741
742 BUG FIXES
743
744     o add.scale.bar() always drew a horizontal bar.
745
746     o zoom() shuffled tips with unrooted trees.
747
748     o write.nexus() failed to write correctly trees with a "TipLabel"
749       attribute.
750
751     o rcoal() failed to compute branch lengths with very large n.
752
753     o A small bug was fixed in compar.cheverud() (thanks to Michael
754       Phelan for the fix).
755
756     o seg.sites() failed when passing a vector.
757
758     o drop.tip() sometimes shuffled tip labels.
759
760     o root() shuffled node labels with 'resolve.root = TRUE'.
761
762
763
764                 CHANGES IN APE VERSION 2.3-2
765
766
767 BUG FIXES
768
769     o all.equal.phylo() did not compare unrooted trees correctly.
770
771     o dist.topo(... method = "PH85") did not treat unrooted trees
772       correctly (thanks to Tim Wallstrom for the fix).
773
774     o root() sometimes failed to test for the monophyly of the
775       outgroup correctly.
776
777     o extract.clade() sometimes included too many edges.
778
779     o vcv.phylo() did not work correctly when the tree is in
780       "pruningwise" order.
781
782     o nj() did not handle correctly distance matrices with many 0's.
783       The code has also been significantly improved: 7, 70, 160 times
784       faster with n = 100, 500, 1000, respectively.
785
786
787
788                 CHANGES IN APE VERSION 2.3-1
789
790
791 NEW FEATURES
792
793     o The new function is.monophyletic tests the monophyly of a group.
794
795     o There is now a c() method for lists of class "DNAbin".
796
797     o yule.cov() now fits the null model, and its help page has been
798       corrected with respect to this change.
799
800     o drop.tip() has a new option 'rooted' to force (or not) a tree
801       to be treated as (un)rooted.
802
803
804 BUG FIXES
805
806     o dist.gene() failed on most occasions with the default
807       pairwise.deletion = FALSE.
808
809     o read.tree() failed to read correctly the tree name(s).
810
811     o boot.phylo() now treats correctly data frames.
812
813     o del.gaps() did not copy the rownames of a matrix.
814
815     o A small bug was fixed in CDAM.global().
816
817     o ace() failed with large data sets. Thanks to Rich FitzJohn for
818       the fix. With other improvements, this function is now about 6
819       times faster.
820
821     o write.tree() failed with objects of class "multiPhylo".
822
823     o drop.tip(, subtree = TRUE) sometimes shuffled tip labels.
824
825
826 OTHER CHANGES
827
828     o [.multiPhylo and [.DNAbin now respect the original class.
829
830     o Instances of the form class(phy) == "phylo" have been replaced
831       by inherits(phy, "phylo").
832
833     o rcoal() is now faster.
834
835
836 DEPRECATED & DEFUNCT
837
838     o klastorin() has been removed.
839
840
841
842                 CHANGES IN APE VERSION 2.3
843
844
845 NEW FEATURES
846
847     o The new functions CADM.global and CADM.post, contributed by
848       Pierre Legendre, test the congruence among several distance
849       matrices.
850
851     o The new function yule.time fits a user-defined time-dependent
852       Yule model by maximum likelihood.
853
854     o The new function makeNodeLabel creates and/or modifies node
855       labels in a flexible way.
856
857     o read.tree() and write.tree() have been modified so that they can
858       handle individual tree names.
859
860     o plot.phylo() has a new argument 'edge.lty' that specifies the
861       types of lines used for the edges (plain, dotted, dashed, ...)
862
863     o phymltest() has been updated to work with PhyML 3.0.1.
864
865
866 BUG FIXES
867
868     o drop.tip() shuffled tip labels in some cases.
869
870     o drop.tip() did not handle node.label correctly.
871
872     o is.ultrametric() now checks the ordering of the edge matrix.
873
874     o ace() sometimes returned negative values of likelihoods of
875       ancestral states (thanks to Dan Rabosky for solving this long
876       lasting bug).
877
878
879 OTHER CHANGES
880
881     o The data set xenarthra has been removed.
882
883
884
885                 CHANGES IN APE VERSION 2.2-4
886
887 BUG FIXES
888
889     o The bug fix in read.nexus() in version 2.2-3 was wrong: this is
890       now fixed. (Thanks to Peter Wragg for the fix!)
891
892     o A warning message occurred for no reason with ace(method="GLS").
893
894
895 OTHER CHANGES
896
897     o There is now a general help page displayed with '?ape'.
898
899
900
901                 CHANGES IN APE VERSION 2.2-3
902
903
904 NEW FEATURES
905
906     o The new function extract.clade extracts a clade from a tree by
907       specifying a node number or label.
908
909     o fastme.bal() has two new options 'spr' and 'tbr' to perform tree
910       operations of the same names.
911
912     o dist.dna() can now return the number of site differences by
913       specifying model="N".
914
915
916 BUG FIXES
917
918     o chronopl() did not work with CV = TRUE.
919
920     o read.nexus() did not work correctly in some situations (trees on
921       multiple lines with different numbers of lines and/or with
922       comments inserted within the trees).
923
924     o ltt.plot(), ltt.lines(), and mltt.plot() did not count correctly
925       the number of lineages with non-binary trees.
926
927
928 OTHER CHANGES
929
930     o ape has now a namespace.
931
932     o drop.tip() has been improved: it should be much faster and work
933       better in some cases (e.g., see the example in ?zoom).
934
935
936
937                 CHANGES IN APE VERSION 2.2-2
938
939
940 NEW FEATURES
941
942     o dist.gene() has been substantially improved and gains an option
943       'pairwise.deletion'.
944
945     o cbind.DNAbin() has a new option 'fill.with.gaps' and is now
946       more flexible.
947
948
949 BUG FIXES
950
951     o prop.part() failed with a single tree with the default option
952      'check.labels = TRUE'.
953
954    o summary.DNAbin() failed to display correctly the summary of
955      sequence lengths with lists of sequences of 10,000 bases or more
956      (because summary.default uses 4 significant digits by default).
957
958    o read.nexus() failed to read a file with a single tree with line
959      breaks in the Newick string.
960
961    o del.gaps() returned a list of empty sequences when there were no
962      gaps.
963
964
965 OTHER CHANGES
966
967     o phymltest() has been updated for PhyML 3.0 and gains an option
968       'append', whereas the option 'path2exec' has been removed.
969
970     o rbind.DNAbin() and cbind.DNAbin() now accept a single matrix
971       which is returned unchanged (instead of an error).
972
973     o The data sets bird.orders and bird.families are now stored as
974       Newick strings; i.e., the command data(bird.orders) calls
975       read.tree().
976
977
978
979                 CHANGES IN APE VERSION 2.2-1
980
981
982 NEW FEATURES
983
984     o The new function makeLabel() helps to modify labels of trees,
985       lists of trees, or DNA sequences, with several utilities to
986       truncate and/or make them unique, substituting some
987       characters, and so on.
988
989     o The new function del.gaps() removes insertion gaps ("-") in a
990       set of DNA sequences.
991
992     o read.dna() can now read Clustal files (*.aln).
993
994
995 BUG FIXES
996
997     o root() failed with 'resolve.root = TRUE' when the root was
998       already the specified root.
999
1000     o Several bugs were fixed in mlphylo().
1001
1002     o collapsed.singles() did not propagate the 'Nnode' and
1003       'node.labels' elements (thanks to Elizabeth Purdom for the fix).
1004
1005     o read.nexus() failed to remove correctly the comments within
1006       trees.
1007
1008     o read.nexus() failed to read a file with a single tree and no
1009       translation of tip labels.
1010
1011     o read.nexus() failed to place correctly tip labels when reading
1012       a single tree with no edge lengths.
1013
1014     o A bug was fixed in sh.test().
1015
1016
1017 OTHER CHANGES
1018
1019     o unique.multiPhylo() is faster thanks to a suggestion by Vladimir
1020       Minin.
1021
1022     o The option 'check.labels' of consensus() and prop.part() is now
1023       TRUE by default.
1024
1025     o write.dna() now does not truncate names to 10 characters with
1026       the Phylip formats.
1027
1028
1029
1030                 CHANGES IN APE VERSION 2.2
1031
1032
1033 NEW FEATURES
1034
1035     o Four new functions have been written by Damien de Vienne for the
1036       graphical exploration of large trees (cophyloplot, subtrees,
1037       subtreeplot), and to return the graphical coordinates of tree
1038       (without plotting).
1039
1040     o The new functions corPagel and corBlomberg implement the Pagel's
1041       "lambda" and Blomberg et al.'s "ACDC" correlation structures.
1042
1043     o chronopl() has been improved and gains several options: see its
1044       help page for details.
1045
1046     o boot.phylo() has now an option 'trees' to possibly return the
1047       bootstraped trees (the default is FALSE).
1048
1049     o prop.part() has been improved and should now be faster in all
1050       situations.
1051
1052
1053 BUG FIXES
1054
1055     o read.dna() failed if "?" occurred in the first 10 sites of the
1056       first sequence.
1057
1058     o The x/y aspect of the plot is now respected when plotting a
1059       circular tree (type = "r" or "f").
1060
1061     o Drawing the tip labels sometimes failed when plotting circular
1062       trees.
1063
1064     o zoom() failed when tip labels were used instead of their numbers
1065       (thanks to Yan Wong for the fix).
1066
1067     o drop.tip() failed with some trees (fixed by Yan Wong).
1068
1069     o seg.sites() failed with a list.
1070
1071     o consensus() failed in some cases. The function has been improved
1072       as well and is faster.
1073
1074
1075
1076                 CHANGES IN APE VERSION 2.1-3
1077
1078
1079 BUG FIXES
1080
1081     o A bug in read.nexus() made the Windows R-GUI crash.
1082
1083     o An error was fixed in the computation of ancestral character
1084       states by generalized least squares in ace().
1085
1086     o di2multi() did not modify node labels correctly.
1087
1088     o multi2di() failed if the tree had its attribute "order" set to
1089       "cladewise".
1090
1091
1092
1093                 CHANGES IN APE VERSION 2.1-2
1094
1095
1096 NEW FEATURES
1097
1098     o There three new methods for the "multiPhylo" class: str, $,
1099       and [[.
1100
1101     o root() gains the options 'node' and 'resolve.root'
1102       (FALSE by default) as well as its code being improved.
1103
1104     o mltt.plot() has now an option 'log' used in the same way
1105       than in plot.default().
1106
1107
1108 BUG FIXES
1109
1110     o mltt.plot() failed to display the legend with an unnamed
1111       list of trees.
1112
1113     o nodelabels() with pies now correcly uses the argument
1114       'cex' to draw symbols of different sizes (which has
1115       worked already for thermometers).
1116
1117     o read.nexus() generally failed to read very big files.
1118
1119
1120 OTHER CHANGES
1121
1122     o The argument 'family' of compar.gee() can now be a function
1123       as well as a character string.
1124
1125     o read.tree() and read.nexus() now return an unnamed list if
1126       'tree.names = NULL'.
1127
1128     o read.nexus() now returns a modified object of class "multiPhylo"
1129       when there is a TRANSLATE block in the NEXUS file: the individual
1130       trees have no 'tip.label' vector, but the list has a 'TipLabel'
1131       attribute. The new methods '$' and '[[' set these elements
1132       correctly when extracting trees.
1133
1134
1135
1136                 CHANGES IN APE VERSION 2.1-1
1137
1138
1139 NEW FEATURES
1140
1141     o The new function rmtree generates lists of random trees.
1142
1143     o rcoal() now generates a genuine coalescent tree by default
1144       (thanks to Vladimir Minin for the code).
1145
1146
1147 BUG FIXES
1148
1149     o nuc.div() returned an incorrect value with the default
1150       pairwise.deletion = FALSE.
1151
1152
1153 OTHER CHANGES
1154
1155     o The internal codes of bionj(), fastme.bal(), and fastme.ols()
1156       have been improved so that they are stabler and faster.
1157
1158     o R packages used by ape are now loaded silently; lattice and gee
1159       are loaded only when needed.
1160
1161
1162
1163                 CHANGES IN APE VERSION 2.1
1164
1165
1166 NEW FEATURES
1167
1168     o The new function identify.phylo identifies clades on a plotted
1169       tree using the mouse.
1170
1171     o It is now possible to subset a list of trees (object of class
1172       "multiPhylo") with "[" while keeping its class correct.
1173
1174     o The new function as.DNAbin.alignment converts DNA sequences
1175       stored in the "alignment" format of the package seqinr into
1176       an object of class "DNAbin".
1177
1178     o The new function weight.taxo2 helps to build similarity matrices
1179       given two taxonomic levels (usually called by other functions).
1180
1181     o write.tree() can now take a list of trees (class "multiPhylo")
1182       as its main argument.
1183
1184     o plot.correlogram() and plot.correlogramList() have been
1185       improved, and gain several options (see the help page for
1186       details). A legend is now plotted by default.
1187
1188
1189 BUG FIXES
1190
1191     o dist.dna() returned some incorrect values with `model = "JC69"'
1192       and `pairwise.deletion = TRUE'. This affected only the
1193       distances involving sequences with missing values. (Thanks
1194       to Bruno Toupance for digging this bug out.)
1195
1196     o write.tree() failed with some trees: this is fixed by removing
1197       the `multi.line' option (trees are now always printed on a
1198       single line).
1199
1200     o read.nexus() did not correctly detect trees with multiple root
1201       edges (see OTHER CHANGES).
1202
1203
1204 OTHER CHANGES
1205
1206     o The code of mlphylo() has been almost entirely rewritten, and
1207       should be much stabler. The options have been also greatly
1208       simplified (see ?mlphylo and ?DNAmodel for details).
1209
1210     o The internal function nTips has been renamed klastorin_nTips.
1211
1212     o The code of is.ultrametric() contained redundancies and has
1213       been cleaned-up.
1214
1215     o The code of Moran.I() and of correlogram.formula() have been
1216       improved.
1217
1218     o read.tree() and read.nexus() now return an error when trying to
1219       read a tree with multiple root edges (see BUG FIXES). The
1220       correction applied in previous version did not work in all
1221       situations.
1222
1223     o The class c("multi.tree", "phylo") has been renamed
1224       "multiPhylo".
1225
1226
1227 DOCUMENTATION
1228
1229     o There is now a vignette in ape: see vignette("MoranI", "ape").
1230
1231
1232 DEPRECATED & DEFUNCT
1233
1234     o as.matching() and as.phylo.matching() do not support branch
1235       lengths.
1236
1237     o correlogram.phylo() and discrete.dist() have been removed.
1238
1239
1240
1241                 CHANGES IN APE VERSION 2.0-2
1242
1243
1244 NEW FEATURES
1245
1246     o The new function matexpo computes the exponential of a square
1247       matrix.
1248
1249     o The new function unique.multi.tree removes duplicate trees from
1250       a list.
1251
1252     o yule() has a new option `use.root.edge = FALSE' that specifies
1253       to ignore, by default, the root edge of the tree if it exists.
1254
1255
1256 BUG FIXES
1257
1258     o which.edge() failed when the index of a single terminal edge was
1259       looked for.
1260
1261     o In diversi.time(), the values returned for model C were
1262       incorrect.
1263
1264     o A bug was fixed in yule() that affected the calculation of the
1265       likelihood in the presence of ties in the branching times.
1266
1267     o There was a bug in the C function mat_expo4x4 affecting the
1268       calculations of the transition probabilities for models HKY and
1269       GTR in mlphylo().
1270
1271     o A small bug was fixed in as.matrix.DNAbin (thanks to James
1272       Bullard).
1273
1274     o rtree() did not `shuffle' the tip labels by default, so only a
1275       limited number of labelled topologies could be generated.
1276
1277
1278
1279                 CHANGES IN APE VERSION 2.0-1
1280
1281
1282 NEW FEATURES
1283
1284     o The three new functions bionj, fastme.ols, and fastme.bal
1285       perform phylogeny estimation by the BIONJ and fastME methods in
1286       OLS and balanced versions. This is a port to R of previous
1287       previous programs done by Vincent Lefort.
1288
1289     o The new function chronoMPL performs molecular dating with the
1290       mean path lengths method of Britton et al. (2002, Mol. Phyl.
1291       Evol. 24: 58).
1292
1293     o The new function rotate, contributed by Christoph Heibl, swaps
1294       two clades connected to the same node. It works also with
1295       multichotomous nodes.
1296
1297     o The new `method' as.matrix.DNAbin() may be used to convert
1298       easily DNA sequences stored in a list into a matrix while
1299       keeping the names and the class.
1300
1301
1302 BUG FIXES
1303
1304     o chronopl() failed when some branch lengths were equal to zero:
1305       an error message is now returned.
1306
1307     o di2multi() failed when there was a series of consecutive edges
1308       to remove.
1309
1310
1311
1312                 CHANGES IN APE VERSION 1.10-2
1313
1314
1315 NEW FEATURES
1316
1317     o plot.phylo() can now plot circular trees: the option is type =
1318       "fan" or type = "f" (to avoid the ambiguity with type = "c").
1319
1320     o prop.part() has a new option `check.labels = FALSE' which allows
1321       to considerably speed-up the calculations of bipartitions. As a
1322       consequence, calculations of bootstrap values with boot.phylo()
1323       should be much faster.
1324
1325
1326 BUG FIXES
1327
1328     o read.GenBank() did not return correctly the list of species as
1329       from ape 1.10: this is fixed in this version
1330
1331     o Applying as.phylo() on a tree of class "phylo" failed: the
1332       object is now returned unchanged.
1333
1334
1335
1336                 CHANGES IN APE VERSION 1.10-1
1337
1338
1339 NEW FEATURES
1340
1341     o The three new functions Ntip, Nnode, and Nedge return, for a
1342       given tree, the number of tips, nodes, or edges, respectively.
1343
1344
1345 BUG FIXES
1346
1347     o read.nexus() did not set correctly the class of the returned
1348       object when reading multiple trees.
1349
1350     o mllt.plot() failed with objects of class c("multi.tree",
1351       "phylo").
1352
1353     o unroot() did not work correctly in most cases.
1354
1355     o reorder.phylo() made R freeze in some occasions.
1356
1357     o Plotting a tree in pruningwise order failed.
1358
1359     o When plotting an unrooted tree, the tip labels where not all
1360       correctly positioned if the option `cex' was used.
1361
1362
1363
1364                 CHANGES IN APE VERSION 1.10
1365
1366
1367 NEW FEATURES
1368
1369     o Five new `method' functions have been introduced to manipulate
1370       DNA sequences in binary format (see below).
1371
1372     o Three new functions have been introduced to convert between the
1373       new binary and the character formats.
1374
1375     o The new function as.alignment converts DNA sequences stored as
1376       single characters into the class "alignment" used by the package
1377       seqinr.
1378
1379     o read.dna() and read.GenBank() have a new argument `as.character'
1380       controlling whether the sequences are returned in binary format
1381       or as character.
1382
1383
1384 BUG FIXES
1385
1386     o root() failed when the tree had node labels: this is fixed.
1387
1388     o plot.phylo() did not correctly set the limits on the y-axis with
1389       the default setting: this is fixed.
1390
1391     o dist.dna() returned a wrong result for the LogDet, paralinear,
1392       and BH87 models with `pairwise.deletion = TRUE'.
1393
1394
1395 OTHER CHANGES
1396
1397     o DNA sequences are now internally stored in a binary format. See
1398       the document "A Bit-Level Coding Scheme for Nucleotides" for the
1399       details. Most functions analyzing DNA functions have been
1400       modified accordingly and are now much faster (dist.dna is now
1401       ca. 60 times faster).
1402
1403
1404
1405                 CHANGES IN APE VERSION 1.9-4
1406
1407
1408 BUG FIXES
1409
1410     o A bug was fixed in edgelabels().
1411
1412     o as.phylo.hclust() did not work correctly when the object of
1413       class "hclust" has its labels set to NULL: the returned tree has
1414       now its tip labels set to "1", "2", ...
1415
1416     o consensus could fail if some tip labels are a subset of others
1417       (e.g., "a" and "a_1"): this is now fixed.
1418
1419     o mlphylo() failed in most cases if some branch lengths of the
1420       initial tree were greater than one: an error message is now
1421       issued.
1422
1423     o mlphylo() failed in most cases when estimating the proportion of
1424       invariants: this is fixed.
1425
1426
1427
1428                 CHANGES IN APE VERSION 1.9-3
1429
1430
1431 NEW FEATURES
1432
1433     o The new function edgelabels adds labels on the edge of the tree
1434       in the same way than nodelabels or tiplabels.
1435
1436
1437 BUG FIXES
1438
1439     o multi2di() did not handle correctly branch lengths with the
1440       default option `random = TRUE': this is now fixed.
1441
1442     o A bug was fixed in nuc.div() when using pairwise deletions.
1443
1444     o A bug occurred in the analysis of bipartitions with large
1445       numbers of large trees, with consequences on prop.part,
1446       prop.clades, and boot.phylo.
1447
1448     o The calculation of the Billera-Holmes-Vogtmann distance in
1449       dist.topo was wrong: this has been fixed.
1450
1451
1452
1453                 CHANGES IN APE VERSION 1.9-2
1454
1455
1456 NEW FEATURES
1457
1458     o The new function ladderize reorganizes the internal structure of
1459       a tree to plot them left- or right-ladderized.
1460
1461     o The new function dist.nodes computes the patristic distances
1462       between all nodes, internal and terminal, of a tree. It replaces
1463       the option `full = TRUE' of cophenetic.phylo (see below).
1464
1465
1466 BUG FIXES
1467
1468     o A bug was fixed in old2new.phylo().
1469
1470     o Some bugs were fixed in chronopl().
1471
1472     o The edge colours were not correctly displayed by plot.phylo
1473       (thank you to Li-San Wang for the fix).
1474
1475     o cophenetic.phylo() failed with multichotomous trees: this is
1476       fixed.
1477
1478
1479 OTHER CHANGES
1480
1481     o read.dna() now returns the sequences in a matrix if they are
1482       aligned (interleaved or sequential format). Sequences in FASTA
1483       format are still returned in a list.
1484
1485     o The option `full' of cophenetic.phylo() has been removed because
1486       it could not be used from the generic.
1487
1488
1489 DEPRECATED & DEFUNCT
1490
1491     o rotate() has been removed; this function did not work correctly
1492       since ape 1.9.
1493
1494
1495
1496                 CHANGES IN APE VERSION 1.9-1
1497
1498
1499 BUG FIXES
1500
1501     o Trees with a single tip were not read correctly in R as the
1502       element `Nnode' was not set: this is fixed.
1503
1504     o unroot() did not set correctly the number of nodes of the
1505       unrooted tree in most cases.
1506
1507     o read.GenBank() failed when fetching very long sequences,
1508       particularly of the BX-series.
1509
1510     o A bug was introduced in read.tree() with ape 1.9: it has been
1511       fixed
1512
1513
1514
1515                 CHANGES IN APE VERSION 1.9
1516
1517
1518 NEW FEATURES
1519
1520     o There are two new print `methods' for trees of class "phylo" and
1521       lists of trees of class "multi.tree", so that they are now
1522       displayed in a compact and informative way.
1523
1524     o There are two new functions, old2new.phylo and new2old.phylo,
1525       for converting between the old and new coding of the class
1526       "phylo".
1527
1528     o dist.dna() has three new models: Barry and Hartigan ("BH87"),
1529       LogDet ("logdet"), and paralinear ("paralin").
1530
1531     o compute.brlen() has been extended: several methods are now
1532       available to compute branch lengths.
1533
1534     o write.dna() can now handle matrices as well as lists.
1535
1536
1537 BUG FIXES
1538
1539     o cophenetic.phylo() sometimes returned a wrong result with
1540       multichotomous trees: this is fixed.
1541
1542     o rotate() failed when a single tip was specified: the tree is now
1543       returned unchanged.
1544
1545     o ace() did not return the correct index matrix with custom
1546       models: this is fixed.
1547
1548     o multi2di() did not work correctly when resolving multichotomies
1549       randomly: the topology was always the same, only the arrangement
1550       of clades was randomized: this is fixed. This function now
1551       accepts trees with no branch lengths.
1552
1553     o The output of diversi.gof() was blurred by useless prints when a
1554       user distribution was specified. This has been corrected, and
1555       the help page of this function has been expanded.
1556
1557
1558 OTHER CHANGES
1559
1560     o The internal structure of the class "phylo" has been changed:
1561       see the document "Definition of Formats for Coding Phylogenetic
1562       Trees in R" for the details. In addition, the code of most
1563       functions has been improved.
1564
1565     o Several functions have been improved by replacing some R codes
1566       by C codes: pic, plot.phylo, and reorder.phylo.
1567
1568     o There is now a citation information: see citation("ape") in R.
1569
1570     o write.tree() now does not add extra 0's to branch lengths so
1571       that 1.23 is printed "1.23" by default, not "1.2300000000".
1572
1573     o The syntax of bind.tree() has been simplified. This function now
1574       accepts trees with no branch lengths, and handles correctly node
1575       labels.
1576
1577     o The option `as.numeric' of mrca() has been removed.
1578
1579     o The unused options `format' and `rooted' of read.tree() have
1580       been removed.
1581
1582     o The unused option `format' of write.tree() has been removed.
1583
1584     o The use of node.depth() has been simplified.
1585
1586
1587
1588                 CHANGES IN APE VERSION 1.8-5
1589
1590
1591 NEW FEATURES
1592
1593     o Two new functions read.nexus.data() and write.nexus.data(),
1594       contributed by Johan Nylander, allow to read and write molecular
1595       sequences in NEXUS files.
1596
1597     o The new function reorder.phylo() reorders the internal structure
1598       of a tree of class "phylo". It is used as the generic, e.g.,
1599       reorder(tr).
1600
1601     o read.tree() and read.nexus() can now read trees with a single
1602       edge.
1603
1604     o The new data set `cynipids' supplies a set of protein sequences
1605       in NEXUS format.
1606
1607
1608 BUG FIXES
1609
1610     o The code of all.equal.phylo() has been completely rewritten
1611       (thanks to Benoît Durand) which fixes several bugs.
1612
1613     o read.tree() and read.nexus() now checks the labels of the tree
1614       to remove or substitute any characters that are illegal in the
1615       Newick format (parentheses, etc.)
1616
1617     o A negative P-value could be returned by mantel.test(): this is
1618       now fixed.
1619
1620
1621
1622                 CHANGES IN APE VERSION 1.8-4
1623
1624
1625 NEW FEATURES
1626
1627     o The new function sh.test() computes the Shimodaira-
1628       Hasegawa test.
1629
1630     o The new function collapse.singles() removes the nodes with a
1631       single descendant from a tree.
1632
1633     o plot.phylo() has a new argument `tip.color' to specify the
1634       colours of the tips.
1635
1636     o mlphylo() has now an option `quiet' to control the display of
1637       the progress of the analysis (the default is FALSE).
1638
1639
1640 BUG FIXES
1641
1642     o read.dna() did not read correctly sequences in sequential format
1643       with leading alignment gaps "-": this is fixed.
1644
1645     o ace() returned a list with no class so that the generic
1646       functions (anova, logLik, ...) could not be used directly. This
1647       is fixed as ace() now returns an object of class "ace".
1648
1649     o anova.ace() had a small bug when computing the number of degrees
1650       of freedom: this is fixed.
1651
1652     o mlphylo() did not work when the sequences were in a matrix or
1653       a data frame: this is fixed.
1654
1655     o rtree() did not work correctly when trying to simulate an
1656       unrooted tree with two tips: an error message is now issued.
1657
1658
1659 OTHER CHANGES
1660
1661     o The algorithm of rtree() has been changed: it is now about 40,
1662       100, and 130 times faster for 10, 100, and 1000 tips,
1663       respectively.
1664
1665
1666
1667                 CHANGES IN APE VERSION 1.8-3
1668
1669
1670 NEW FEATURES
1671
1672     o There are four new `method' functions to be used with the
1673       results of ace(): logLik(), deviance(), AIC(), and anova().
1674
1675     o The plot method of phymltest has two new arguments: `main' to
1676       change the title, and `col' to control the colour of the
1677       segments showing the AIC values.
1678
1679     o ace() has a new argument `ip' that gives the initial values used
1680       in the ML estimation with discrete characters (see the examples
1681       in ?ace). This function now returns a matrix giving the indices
1682       of the estimated rates when analysing discrete characters.
1683
1684     o nodelabels() and tiplabels() have a new argument `pie' to
1685       represent proportions, with any number of categories, as
1686       piecharts. The use of the option `thermo' has been improved:
1687       there is now no limitation on the number of categories.
1688
1689
1690 BUG FIXES
1691
1692     o mlphylo() did not work with more than two partitions: this is
1693       fixed.
1694
1695     o root() failed if the proposed outgroup was already an outgroup
1696       in the tree: this is fixed.
1697
1698     o The `col' argument in nodelabels() and tiplabels() was not
1699       correctly passed when `text' was used: this is fixed.
1700
1701     o Two bugs were fixed in mlphylo(): parameters were not always
1702       correctly output, and the estimation failed in some cases.
1703
1704     o plot.phylo() was stuck when given a tree with a single tip: this
1705       is fixed and a message error is now returned.
1706
1707     o An error was corrected in the help page of gammaStat regarding
1708       the calculation of P-values.
1709
1710     o Using gls() could crash R when the number of species in the tree
1711       and in the variables were different: this is fixed.
1712
1713
1714
1715                 CHANGES IN APE VERSION 1.8-2
1716
1717
1718 NEW FEATURES
1719
1720     o The new function mlphylo() fits a phylogenetic tree by maximum
1721       likelihood from DNA sequences. Its companion function DNAmodel()
1722       is used to define the substitution model which may include
1723       partitioning. There are methods for logLik(), deviance(), and
1724       AIC(), and the summary() method has been extended to display in
1725       a friendly way the results of this model fitting. Currently, the
1726       functionality is limited to estimating the substitution and
1727       associated parameters and computing the likelihood.
1728
1729     o The new function drop1.compar.gee (used as, e.g., drop1(m))
1730       tests for single effects in GEE-based comparative method. A
1731       warning message is printed if there is not enough degrees of
1732       freedom.
1733
1734
1735 BUG FIXES
1736
1737     o An error message was sometimes issued by plot.multi.tree(),
1738       though with no consequence.
1739
1740
1741
1742                 CHANGES IN APE VERSION 1.8-1
1743
1744
1745 NEW FEATURES
1746
1747     o There is a new plot method for lists of trees (objects of class
1748       "multi.tree"): it calls plot.phylo() internally and is
1749       documented on the same help page.
1750
1751
1752 BUG FIXES
1753
1754     o A bug was fixed in the C code that analyzes bipartitions: this
1755       has impact on several functions like prop.part, prop.clades,
1756       boot.phylo, or consensus.
1757
1758     o root() did not work correctly when the specified outgroup had
1759       more than one element: this is fixed.
1760
1761     o dist.dna() sometimes returned a warning inappropriately: this
1762       has been corrected.
1763
1764     o If the distance object given to nj() had no rownames, nj()
1765       returned a tree with no tip labels: it now returns tips labelled
1766       "1", "2", ..., corresponding to the row numbers.
1767
1768
1769 OTHER CHANGES
1770
1771     o nj() has been slightly changed so that tips with a zero distance
1772       are first aggregated with zero-lengthed branches; the usual NJ
1773       procedure is then performed on a distance matrix without 0's.
1774
1775
1776
1777                 CHANGES IN APE VERSION 1.8
1778
1779
1780 NEW FEATURES
1781
1782     o The new function chronopl() estimates dates using the penalized
1783       likelihood method by Sanderson (2002; Mol. Biol. Evol., 19:101).
1784
1785     o The new function consensus() calculates the consensus tree of a
1786       list of trees.
1787
1788     o The new function evolve.phylo() simulates the evolution of
1789       continuous characters along a phylogeny under a Brownian model.
1790
1791     o The new plot method for objects of class "ancestral" displays a
1792       tree together with ancestral values, as returned by the above
1793       function.
1794
1795     o The new function as.phylo.formula() returns a phylogeny from a
1796       set of nested taxonomic variables given as a formula.
1797
1798     o The new function read.caic() reads trees in CAIC format.
1799
1800     o The new function tiplabels() allows to add labels to the tips
1801       of a tree using text or plotting symbols in a flexible way.
1802
1803     o The new function unroot() unroots a phylogeny.
1804
1805     o multi2di() has a new option, `random', which specifies whether
1806       to resolve the multichotomies randomly (the default) or not.
1807
1808     o prop.part() now returns an object of class "prop.part" for which
1809       there are print (to display a partition in a more friendly way)
1810       and summary (to extract the numbers) methods.
1811
1812     o plot.phylo() has a new option, `show.tip.label', specifying
1813       whether to print the labels of the tips. The default is TRUE.
1814
1815     o The code of nj() has been replaced by a faster C code: it is now
1816       about 10, 25, and 40 times faster for 50, 100, and 200 taxa,
1817       respectively.
1818
1819     o write.nexus() now writes whether a tree is rooted or not.
1820
1821
1822 BUG FIXES
1823
1824     o Two bugs have been fixed in root(): unrooted trees are now
1825       handled corretly, and node labels are now output normally.
1826
1827     o A bug was fixed in phymltest(): the executable couldn't be found
1828       in some cases.
1829
1830     o Three bug have been fixed in ace(): computing the likelihood of
1831       ancestral states of discrete characters failed, custom models
1832       did not work, and the function failed with a null gradient (a
1833       warning message is now returned; this latter bug was also
1834       present in yule.cov() as well and is now fixed).
1835
1836     o pic() hanged out when missing data were present: a message error
1837       is now returned.
1838
1839     o A small bug was fixed in dist.dna() where the gamma correction
1840       was not always correctly dispatched.
1841
1842     o plot.phylo() plotted correctly the root edge only when the tree
1843       was plotted rightwards: this works now for all directions.
1844
1845
1846 OTHER CHANGES
1847
1848     o dist.taxo() has been renamed as weight.taxo().
1849
1850     o dist.phylo() has been replaced by the method cophenetic.phylo().
1851
1852     o Various error and warning messages have been improved.
1853
1854
1855
1856                 CHANGES IN APE VERSION 1.7
1857 NEW FEATURES
1858
1859     o The new function ace() estimates ancestral character states for
1860       continuous characters (with ML, GLS, and contrasts methods), and
1861       discrete characters (with ML only) for any number of states.
1862
1863     o The new function compar.ou() fits the Ornstein-Uhlenbeck model
1864       of directional evolution for continuous characters. The user
1865       specifies the node(s) of the tree where the character optimum
1866       changes.
1867
1868     o The new function is.rooted() tests whether a tree (of class
1869       "phylo") is rooted.
1870
1871     o The new function rcoal() generates random ultrametric trees with
1872       the possibility to specify the function that generates the
1873       inter-nodes distances.
1874
1875     o The new function mrca() gives for all pairs of tips in a tree
1876       (and optionally nodes too) the most recent common ancestor.
1877
1878     o nodelabels() has a new option `thermo' to plot proportions (up
1879       to three classes) on the nodes of a tree.
1880
1881     o rtree() has been improved: it can now generate rooted or
1882       unrooted trees, and the mathematical function that generates the
1883       branch lengths may be specified by the user. The tip labels may
1884       be given directly in the call to rtree. The limit cases (n = 2,
1885       3) are now handled correctly.
1886
1887     o dist.topo() has a new argument `method' with two choices: "PH85"
1888       for Penny and Henny's method (already available before and now
1889       the default), and "BHV01" for the geometric distance by Billera
1890       et al. (2001, Adv. Appl. Math. 27:733).
1891
1892     o write.tree() has a new option, `digits', which specifies the
1893       number of digits to be printed in the Newick tree. By default
1894       digits = 10. The numbers are now always printed in decimal form
1895       (i.e., 1.0e-1 is now avoided).
1896
1897     o dist.dna() can now compute the raw distances between pairs of
1898       DNA sequences by specifying model = "raw".
1899
1900     o dist.phylo() has a new option `full' to possibly compute the
1901       distances among all tips and nodes of the tree. The default if
1902       `full = FALSE'.
1903
1904
1905 BUG FIXES
1906
1907     o Several bugs were fixed in all.equal.phylo().
1908
1909     o dist.dna() did not handle correctly gaps ("-") in alignments:
1910       they are now considered as missing data.
1911
1912     o rotate() did not work if the tips were not ordered: this is
1913       fixed.
1914
1915     o mantel.test() returned NA in some special cases: this is fixed
1916       and the function has been improved and is now faster.
1917
1918     o A bug was fixed in diversi.gof() where the calculation of A² was
1919       incorrect.
1920
1921     o cherry() did not work correctly under some OSs (mainly Linux):
1922       this is fixed.
1923
1924     o is.binary.tree() has been modified so that it works with both
1925       rooted and unrooted trees.
1926
1927     o The documentation of theta.s() was not correct: this has been
1928       fixed.
1929
1930     o plot.mst() did not work correctly: this is fixed.
1931
1932
1933
1934                 CHANGES IN APE VERSION 1.6
1935
1936
1937 NEW FEATURES
1938
1939     o The new function dist.topo() computes the topological distances
1940       between two trees.
1941
1942     o The new function boot.phylo() performs a bootstrap analysis on
1943       phylogeny estimation.
1944
1945     o The new functions prop.part() and prop.clades() analyse
1946       bipartitions from a series of trees.
1947
1948
1949 OTHER CHANGES
1950
1951     o read.GenBank() now uses the EFetch utility of NCBI instead of
1952       the usual Web interface: it is now much faster (e.g., 12 times
1953       faster to retrieve 8 sequences, 37 times for 60 sequences).
1954
1955
1956 BUG FIXES
1957
1958     o Several bugs were fixed in read.dna().
1959
1960     o Several bugs were fixed in diversi.time().
1961
1962     o is.binary.tree() did not work correctly if the tree has no edge
1963       lengths: this is fixed.
1964
1965     o drop.tip() did not correctly propagated the `node.label' of a
1966       tree: this is fixed.
1967
1968
1969
1970                 CHANGES IN APE VERSION 1.5
1971
1972
1973 NEW FEATURES
1974
1975     o Two new functions, as.matching.phylo() and as.phylo.matching(),
1976       convert objects between the classes "phylo" and "matching". The
1977       latter implements the representation of binary trees introduced by
1978       Diaconis and Holmes (1998; PNAS 95:14600). The generic function
1979       as.matching() has been introduced as well.
1980
1981     o Two new functions, multi2di() and di2multi(), allow to resolve
1982       and collapse multichotomies with branches of length zero.
1983
1984     o The new function nuc.div() computes the nucleotide diversity
1985       from a sample a DNA sequences.
1986
1987     o dist.dna() has been completely rewritten with a much faster
1988       (particularly for large data sets) C code. Eight models are
1989       available: JC69, K80, F81, K81, F84, T92, TN93, and GG95 (the
1990       option `method' has been renamed `model'). Computation of variance
1991       is available for all models. A gamma-correction is possible for
1992       JC69, K80, F81, and TN93. There is a new option, pairwise.deletion,
1993       to remove sites with missing data on a pairwise basis. The option
1994       `GCcontent' has been removed.
1995
1996     o read.GenBank() has a new option (species.names) which specifies
1997       whether to return the species names of the organisms in addition
1998       to the accession numbers of the sequences (this is the default
1999       behaviour).
2000
2001     o write.nexus() can now write several trees in the same NEXUS file.
2002
2003     o drop.tip() has a new option `root.edge' that allows to specify the
2004       new root edge if internal branches are trimmed.
2005
2006
2007 BUG FIXES
2008
2009     o as.phylo.hclust() failed if some labels had parentheses: this
2010       is fixed.
2011
2012     o Several bugs were fixed in all.equal.phylo(). This function now
2013       returns the logical TRUE if the trees are identical but with
2014       different representations (a report was printed previously).
2015
2016     o read.GenBank() did not correctly handle ambiguous base codes:
2017       this is fixed.
2018
2019
2020 OTHER CHANGES
2021
2022     o birthdeath() now returns an object of class "birthdeath" for
2023       which there is a print method.
2024
2025
2026
2027                 CHANGES IN APE VERSION 1.4
2028
2029
2030 NEW FEATURES
2031
2032     o The new function nj() performs phylogeny estimation with the
2033       neighbor-joining method of Saitou and Nei (1987; Mol. Biol.
2034       Evol., 4:406).
2035
2036     o The new function which.edge() identifies the edges of a tree
2037       that belong to a group specified as a set of tips.
2038
2039     o The new function as.phylo.phylog() converts an object of class
2040       "phylog" (from the package ade4) into an object of class
2041       "phylo".
2042
2043     o The new function axisPhylo() draws axes on the side of a
2044       phylogeny plot.
2045
2046     o The new function howmanytrees() calculates the number of trees
2047       in different cases and giving a number of tips.
2048
2049     o write.tree() has a new option `multi.line' (TRUE by default) to
2050       write a Newick tree on several lines rather than on a single
2051       line.
2052
2053     o The functionalities of zoom() have been extended. Several
2054       subtrees can be visualized at the same time, and they are marked
2055       on the main tree with colors. The context of the subtrees can be
2056       marked with the option `subtree' (see below).
2057
2058     o drop.tip() has a new option `subtree' (FALSE by default) which
2059       specifies whether to output in the tree how many tips have been
2060       deleted and where.
2061
2062     o The arguments of add.scale.bar() have been redefined and have
2063       now default values (see ?add.scale.bar for details). This
2064       function now works even if the plotted tree has no edge length.
2065
2066     o plot.phylo() can now plot radial trees, but this does not take
2067       edge lengths into account.
2068
2069     o In plot.phylo() with `type = "phylogram"', if the values of
2070       `edge.color' and `edge.width' are identical for sister-branches,
2071       they are propagated to the vertical line that link them.
2072
2073
2074 BUG FIXES
2075
2076     o Repeated calls to as.phylo.hclust() or as.hclust.phylo() made R
2077       crashing. This is fixed.
2078
2079     o In plot.phylo(), the options `edge.color' and `edge.width' are
2080       now properly recycled; their default values are now "black" and
2081       1, respectively.
2082
2083     o A bug has been fixed in write.nexus().
2084
2085
2086 OTHER CHANGES
2087
2088     o The function node.depth.edgelength() has been removed and
2089       replaced by a C code.
2090
2091
2092
2093                 CHANGES IN APE VERSION 1.3-1
2094
2095
2096 NEW FEATURES
2097
2098     o The new function nodelabels() allows to add labels to the nodes
2099       of a tree using text or plotting symbols in a flexible way.
2100
2101     o In plot.phylo() the arguments `x.lim' and `y.lim' can now be two
2102       numeric values specifying the lower and upper limits on the x-
2103       and y-axes. This allows to leave some space on any side of the
2104       tree. If a single value is given, this is taken as the upper
2105       limit (as before).
2106
2107
2108
2109                 CHANGES IN APE VERSION 1.3
2110
2111
2112 NEW FEATURES
2113
2114     o The new function phymltest() calls the software PHYML and fits
2115       28 models of DNA sequence evolution. There are a print method to
2116       display likelihood and AIC values, a summary method to compute
2117       the hierarchical likelihood ratio tests, and a plot method to
2118       display graphically the AIC values of each model.
2119
2120     o The new function yule.cov() fits the Yule model with covariates,
2121       a model where the speciation rate is affected by several species
2122       traits through a generalized linear model. The parameters are
2123       estimated by maximum likelihood.
2124
2125     o Three new functions, corBrownian(), corGrafen(), and
2126       corMartins(), compute the expected correlation structures among
2127       species given a phylogeny under different models of evolution.
2128       These can be used for GLS comparative phylogenetic methods (see
2129       the examples). There are coef() and corMatrix() methods and an
2130       Initialize.corPhyl() function associated.
2131
2132     o The new function compar.cheverud() implements Cheverud et al.'s
2133       (1985; Evolution 39:1335) phylogenetic comparative method.
2134
2135     o The new function varcomp() estimates variance components; it has
2136       a plot method.
2137
2138     o Two new functions, panel.superpose.correlogram() and
2139       plot.correlogramList(), allow to plot several phylogenetic
2140       correlograms.
2141
2142     o The new function node.leafnumber() computes the number of leaves
2143       of a subtree defined by a particular node.
2144
2145     o The new function node.sons() gets all tags of son nodes from a
2146       given parent node.
2147
2148     o The new function compute.brlen() computes the branch lengths of
2149       a tree according to a specified method.
2150
2151     o plot.phylo() has three new options: "cex" controls the size of
2152       the (tip and node) labels (thus it is no more needed to change
2153       the global graphical parameter), "direction" which allows to
2154       plot the tree rightwards, leftwards, upwards, or downwards, and
2155       "y.lim" which sets the upper limit on the y-axis.
2156
2157
2158 BUG FIXES
2159
2160     o Some functions which try to match tip labels and names of
2161       additional data (e.g. vector) are likely to fail if there are
2162       typing or syntax errors. If both series of names do not perfectly
2163       match, they are ignored and a warning message is now issued.
2164       These functions are bd.ext, compar.gee, pic. Their help pages
2165       have been clarified on this point.
2166
2167
2168
2169                 CHANGES IN APE VERSION 1.2-7
2170
2171
2172 NEW FEATURES
2173
2174     o The new function root() reroots a phylogenetic tree with respect
2175       to a specified outgroup.
2176
2177     o The new function rotate() rotates an internal branch of a tree.
2178
2179     o In plot.phylo(), the new argument "lab4ut" (labels for unrooted
2180       trees) controls the display of the tip labels in unrooted trees.
2181       This display has been greatly improved: the tip labels are now not
2182       expected to overlap with the tree (particularly if lab4ut =
2183       "axial"). In all cases, combining appropriate values of "lab4ut"
2184       and the font size (via "par(cex = )") should result in readable
2185       unrooted trees. See ?plot.phylo for some examples.
2186
2187     o In drop.tip(), the argument `tip' can now be numeric or character.
2188
2189
2190 BUG FIXES
2191
2192     o drop.tip() did not work correctly with trees with no branch
2193       lengths: this is fixed.
2194
2195     o A bug in plot.phylo(..., type = "unrooted") made some trees being
2196       plotted with some line crossings: this is now fixed.
2197
2198
2199
2200                 CHANGES IN APE VERSION 1.2-6
2201
2202
2203 NEW FEATURES
2204
2205     o Six new functions (Moran.I, correlogram.formula, discrete.dist,
2206       correlogram.phylo, dist.taxo, plot.correlogram) have been added
2207       to implement comparative methods with an autocorrelation approach.
2208
2209     o A new data set describing some life history traits of Carnivores
2210       has been included.
2211
2212
2213 BUG FIXES
2214
2215     o A fix was made on mcmc.popsize() to conform to R 2.0.0.
2216
2217
2218 OTHER CHANGES
2219
2220     o When plotting a tree with plot.phylo(), the new default of the
2221       option `label.offset' is now 0, so the labels are always visible.
2222
2223
2224
2225                 CHANGES IN APE VERSION 1.2-5
2226
2227
2228 NEW FEATURES
2229
2230     o The new function bd.ext() fits a birth-death model with combined
2231       phylogenetic and taxonomic data, and estimates the corresponding
2232       speciation and extinction rates.
2233
2234
2235 OTHER CHANGES
2236
2237     o The package gee is no more required by ape but only suggested
2238       since only the function compar.gee() calls gee.
2239
2240
2241
2242                 CHANGES IN APE VERSION 1.2-4
2243
2244
2245 NEW FEATURES
2246
2247     o Four new functions (mcmc.popsize, extract.popsize, plot.popsize,
2248       and lines.popsize) implementing a new approach for inferring the
2249       demographic history from genealogies using a reversible jump
2250       MCMC have been introduced.
2251
2252     o The unit of time in the skyline plot and in the new plots can
2253       now be chosen to be actual years, rather than substitutions.
2254
2255
2256
2257                 CHANGES IN APE VERSION 1.2-3
2258
2259
2260 NEW FEATURES
2261
2262     o The new function rtree() generates a random binary tree with or
2263       without branch lengths.
2264
2265     o Two new functions for drawing lineages-through-time (LTT) plots
2266       are provided: ltt.lines() adds a LTT curve to an existing plot,
2267       and mltt.plot() does a multiple LTT plot giving several trees as
2268       arguments (see `?ltt.plot' for details).
2269
2270
2271 BUG FIXES
2272
2273     o Some taxon names made R crashing when calling as.phylo.hclust():
2274       this is fixed.
2275
2276     o dist.dna() returned an error with two identical DNA sequences
2277       (only using the Jukes-Cantor method returned 0): this is fixed.
2278
2279
2280 OTHER CHANGES
2281
2282     o The function dist.phylo() has been re-written using a different
2283       algorithm: it is now about four times faster.
2284
2285     o The code of branching.times() has been improved: it is now about
2286       twice faster.
2287
2288
2289
2290                 CHANGES IN APE VERSION 1.2-2
2291
2292
2293 NEW FEATURES
2294
2295     o The new function seg.sites() finds the segregating sites in a
2296       sample of DNA sequences.
2297
2298
2299 BUG FIXES
2300
2301     o A bug introduced in read.tree() and in read.nexus() with version
2302       1.2-1 was fixed.
2303
2304     o A few errors were corrected and a few examples were added in the
2305       help pages.
2306
2307
2308
2309                 CHANGES IN APE VERSION 1.2-1
2310
2311
2312 NEW FEATURES
2313
2314     o plot.phylo() can now draw the edge of the root of a tree if it
2315       has one (see the new option `root.edge', its default is FALSE).
2316
2317
2318 BUG FIXES
2319
2320     o A bug was fixed in read.nexus(): files with semicolons inside
2321       comment blocks were not read correctly.
2322
2323     o The behaviour of read.tree() and read.nexus() was corrected so
2324       that tree files with badly represented root edges (e.g., with
2325       an extra pair of parentheses, see the help pages for details)
2326       are now correctly represented in the object of class "phylo";
2327       a warning message is now issued.
2328
2329
2330
2331                 CHANGES IN APE VERSION 1.2
2332
2333
2334 NEW FEATURES
2335
2336     o plot.phylo() has been completely re-written and offers several
2337       new functionalities. Three types of trees can now be drawn:
2338       phylogram (as previously), cladogram, and unrooted tree; in
2339       all three types the branch lengths can be drawn using the edge
2340       lengths of the phylogeny or not (e.g., if the latter is absent).
2341       The vertical position of the nodes can be adjusted with two
2342       choices (see option `node.pos'). The code has been re-structured,
2343       and two new functions (potentially useful for developpers) are
2344       documented separately: node.depth.edgelength() and node.depth();
2345       see the respective help pages for details.
2346
2347     o The new function zoom() allows to explore very large trees by
2348       focusing on a small portion of it.
2349
2350     o The new function yule() fits by maximum likelihood the Yule model
2351       (birth-only process) to a phylogenetic tree.
2352
2353     o Support for writing DNA sequences in FASTA format has been
2354       introduced in write.dna() (support for reading sequences in
2355       this format was introduced in read.dna() in version 1.1-2).
2356       The function has been completely re-written, fixing some bugs
2357       (see below); the default behaviour is no more to display the
2358       sequences on the standard output. Several options have been
2359       introduced to control the sequence printing in a flexible
2360       way. The help page has been extended.
2361
2362     o A new data set is included: a supertree of bats in NEXUS format.
2363
2364
2365 BUG FIXES
2366
2367     o In theta.s(), the default of the option `variance' has
2368       been changed to `FALSE' (as was indicated in the help page).
2369
2370     o Several bugs were fixed in the code of all.equal.phylo().
2371
2372     o Several bugs were fixed in write.dna(), particularly this
2373       function did not work with `format = "interleaved"'.
2374
2375     o Various errors were corrected in the help pages.
2376
2377
2378 OTHER CHANGES
2379
2380     o The argument names of as.hclust.phylo() have been changed
2381       from "(phy)" to "(x, ...)" to conform to the definition of
2382       the corresponding generic function.
2383
2384     o gamma.stat() has been renamed gammaStat() to avoid confusion
2385       since gamma() is a generic function.
2386
2387
2388
2389                 CHANGES IN APE VERSION 1.1-3
2390
2391
2392 BUG FIXES
2393
2394     o base.freq() previously did not return a value of 0 for
2395       bases absent in the data (e.g., a vector of length 3 was
2396       returned if one base was absent). This is now fixed (a
2397       vector of length 4 is always returned).
2398
2399     o Several bugs were fixed in read.nexus(), including that this
2400       function did not work in this absence of a "TRANSLATE"
2401       command in the NEXUS file, and that the commands were
2402       case-sensitive.
2403
2404
2405
2406                 CHANGES IN APE VERSION 1.1-2
2407
2408
2409 NEW FEATURES
2410
2411     o The Tamura and Nei (1993) model of DNA distance is now implemented
2412       in dist.dna(): five models are now available in this function.
2413
2414     o A new data set is included: a set of 15 sequences of the
2415       cytochrome b mitochondrial gene of the woodmouse (Apodemus
2416       sylvaticus).
2417
2418
2419 BUG FIXES
2420
2421     o A bug in read.nexus() was fixed.
2422
2423     o read.dna() previously did not work correctly in most cases.
2424       The function has been completely re-written and its help page
2425       has been considerably extended (see ?read.dna for details).
2426       Underscores (_) in taxon names are no more replaced with
2427       spaces (this behaviour was undocumented).
2428
2429     o A bug was fixed in write.dna().
2430
2431
2432
2433                 CHANGES IN APE VERSION 1.1-1
2434
2435
2436 BUG FIXES
2437
2438     o A bug in read.tree() introduced in APE 1.1 was fixed.
2439
2440     o A bug in compar.gee() resulted in an error when trying to fit
2441       a model with `family = "binomial"'. This is now fixed.
2442
2443
2444
2445                 CHANGES IN APE VERSION 1.1
2446
2447
2448 NEW FEATURES
2449
2450     o The Klastorin (1982) method as suggested by Misawa and Tajima
2451       (2000, Mol. Biol. Evol. 17:1879-1884) for classifying genes
2452       on the basis of phylogenetic trees has been implemented (see
2453       the function klastorin()).
2454
2455     o Functions have been added to convert APE's "phylo" objects in
2456       "hclust" cluster objects and vice versa (see the help page of
2457       as.phylo for details).
2458
2459     o Three new functions, ratogram(), chronogram() and NPRS.criterion(),
2460       are introduced for the estimation of absolute evolutionary rates
2461       (ratogram) and dated clock-like trees (chronogram) from
2462       phylogenetic trees using the non-parametric rate smoothing approach
2463       by MJ Sanderson (1997, Mol. Biol. Evol. 14:1218-1231).
2464
2465     o A summary method is now provided printing a summary information on a
2466       phylogenetic tree with, for instance, `summary(tree)'.
2467
2468     o The behaviour of read.tree() was changed so that all spaces and
2469       tabulations in tree files are now ignored. Consequently, spaces in tip
2470       labels are no more allowed. Another side effect is that read.nexus()
2471       now does not replace the underscores (_) in tip labels with spaces
2472       (this behaviour was undocumented).
2473
2474     o The function plot.phylo() has a new option (`underscore') which
2475       specifies whether the underscores in tip labels should be written on
2476       the plot as such or replaced with spaces (the default).
2477
2478     o The function birthdeath() now computes 95% confidence intervals of
2479       the estimated parameters using profile likelihood.
2480
2481     o Three new data sets are included: a gene tree estimated from 36
2482       landplant rbcL sequences, a gene tree estimated from 32 opsin
2483       sequences, and a gene tree for 50 BRCA1 mammalian sequences.
2484
2485
2486 BUG FIXES
2487
2488     o A bug was fixed in dist.gene() where nothing was returned.
2489
2490     o A bug in plot.mst() was fixed.
2491
2492     o A bug in vcv.phylo() resulted in false correlations when the
2493       option `cor = TRUE' was used (now fixed).
2494
2495
2496
2497                 CHANGES IN APE VERSION 1.0
2498
2499
2500 NEW FEATURES
2501
2502     o Two new functions, read.dna() and write.dna(), read/write in a file
2503       DNA sequences in interleaved or in sequential format.
2504
2505     o Two new functions, read.nexus() and write.nexus(), read/write trees
2506       in a NEXUS file.
2507
2508     o The new function bind.tree() allows to bind two trees together,
2509       possibly handling root edges to give internal branches.
2510
2511     o The new function drop.tip() removes the tips in a phylogenetic tree,
2512       and trims (or not) the corresponding internal branches.
2513
2514     o The new function is.ultrametric() tests if a tree is ultrametric.
2515
2516     o The function plot.phylo() has more functionalities such as drawing the
2517       branches with different colours and/or different widths, showing the
2518       node labels, controling the position and font of the labels, rotating
2519       the labels, and controling the space around the plot.
2520
2521     o The function read.tree() can now read trees with no branch length,
2522       such as "(a,b),c);". Consequently, the element `edge.length' in
2523       objects of class "phylo" is now optional.
2524
2525     o The function write.tree() has a new default behaviour: if the default
2526       for the option `file' is used (i.e. file = ""), then a variable of
2527       mode character containing the tree in Newick format is returned which
2528       can thus be assigned (e.g., tree <- write.tree(phy)).
2529
2530     o The function read.tree() has a new argument `text' which allows
2531       to read the tree in a variable of mode character.
2532
2533     o A new data set is included: the phylogenetic relationships among
2534       the orders of birds from Sibley and Ahlquist (1990).
2535
2536
2537
2538                 CHANGES IN APE VERSION 0.2-1
2539
2540
2541 BUG FIXES
2542
2543     o Several bugs were fixed in the help pages.
2544
2545
2546
2547                 CHANGES IN APE VERSION 0.2
2548
2549
2550 NEW FEATURES
2551
2552     o The function write.tree() writes phylogenetic trees (objects of class
2553       "phylo") in an ASCII file using the Newick parenthetic format.
2554
2555     o The function birthdeath() fits a birth-death model to branching times
2556       by maximum likelihood, and estimates the corresponding speciation and
2557       extinction rates.
2558
2559     o The function scale.bar() adds a scale bar to a plot of a phylogenetic
2560       tree.
2561
2562     o The function is.binary.tree() tests whether a phylogeny is binary.
2563
2564     o Two generic functions, coalescent.intervals() and collapsed.intervals(),
2565       as well as some methods are introduced.
2566
2567     o Several functions, including some generics and methods, for computing
2568       skyline plot estimates (classic and generalized) of effective
2569       population size through time are introduced and replace the function
2570       skyline.plot() in version 0.1.
2571
2572     o Two data sets are now included: the phylogenetic relationships among
2573       the families of birds from Sibley and Ahlquist (1990), and an
2574       estimated clock-like phylogeny of HIV sequences sampled in the
2575       Democratic Republic of Congo.
2576
2577
2578 DEPRECATED & DEFUNCT
2579
2580     o The function skyline.plot() in ape 0.1 has been deprecated and
2581       replaced by more elaborate functions (see above).
2582
2583
2584 BUG FIXES
2585
2586     o Two important bugs were fixed in plot.phylo(): phylogenies with
2587       multichotomies not at the root or not with only terminal branches,
2588       and phylogenies with a single node (i.e. only terminal branches)
2589       did not plot. These trees should be plotted correctly now.
2590
2591     o Several bugs were fixed in diversi.time() in the computation of
2592       AICs and LRTs.
2593
2594     o Various errors were corrected in the help pages.