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