programmed by
Mike Sanderson
Section of Evolution and Ecology
UC Davis, Davis CA 95616
May 16, 2006
This is a program for estimating absolute rates ("r8s") of molecular evolution and divergence times on a phylogenetic tree. It implements several methods for estimating these parameters ranging from fairly standard maximum likelihood methods in the context of global or local molecular clocks to more experimental semiparametric and nonparametric methods that relax the stringency of the clock assumption using smoothing methods. Its starting point is a given phylogenetic tree and a given set of estimated branch lengths (numbers of substitutions along each branch). In addition one or more calibration points can be added to permit scaling of rates and times to real units. These calibrations can take one of two forms: assignment of a fixed age to a node, or enforcement of a minimum or maximum age constraint on a node, which is generally a better reflection of the information content of fossil evidence. Terminal nodes are permitted to occur at any point in time, allowing investigation of rate variation in phylogenies such as those obtained from "serial" samples of viral lineages through time. Finally, it is possible to assign all divergence times (perhaps based on outside estimates of divergence times) and examine molecular rate variation under several models of smoothing.
The program reads "NEXUS" formatted data (ASCII) files, the standard used by PAUP, MacClade, Component and some other phylogenetic programs (Maddison et al. 1997).
The former is achieved by a new and stringent check on solutions via the checkgradient command. In conjunction with the use of multiple replicates from different initial conditions, this is the best line of defense against incorrect results.
A new penalty function that penalizes differences in the logarithm of rates on neighboring branches has been added because of occasional pathological behavior of deep time estimates from shallow calibrations
When multiple fossil calibrations or constraints are present, a fossil cross-validation procedure can now be invoked (as an option in the divtime command) to undertake model selection using penalized likelihood. This essentially uses the internal consistency among the fossil ages to help select the appropriate level of rate smoothing, and it can also provide a useful estimate of the age errors implied by that level of smoothing.
A new likelihood ratio based relative rate test has been added to permit inferences about local shifts in rates of evolution. It has all the advantages (or disadvantages) of other aspects of the program, such as using multiple calibrations or age constraints.
The current version of the program available in two forms
Some users have had success compiling for Solaris and other UNIX
platforms.
Follow the directions in the manual to compile and test the software. The manual has been completely updated for this release!
Everything is now distributed as one compressed 'tar' (archive)
file. It contains source code (with makefile), sample data sets, the
manual, and for Mac OS X users, the bin/ directory contains a
precompiled executable file (compiled using libraries in OS X 10.3--For newer executables see below!).
Obviously, this won't be of much use on Linux or other UNIX systems.
Those users will have to compile the code themselves using the makefile
(check with your system administrator if you do not know how to do
this).
Once you have downloaded the file, which is called
r8s1.7.dist.tar.Z, get into a UNIX shell (e.g., on OS X use the
Terminal utility program), copy the file to some working directory and
then type
and you should see the four subdirectories, doc, src, bin, and
sample magically appear...
Note to users compiling on newer Linux distributions: You may have to find the location of the g2c library
in your linux distribution and change the 'LPATH = -Lpath_to_library' line in the Makefile accordingly.
Note to users compiling on newer Mac distributions: You'll probably have to install gfortran and
change the 'LPATH = -Lpath_to_library' line in the Makefile accordingly.
Download r8s vers. 1.71 OS 10.4 (PPC) executable binary for Mac users interested in a recent compiled binary
Download r8s vers. 1.71 OS 10.5 (Intel) executable binary for Mac users interested in a recent compiled binary
The user manual is available as a PDF file.
Several sample data files are included in the distribution subdirectory called sample/, including a file that illustrates the new features of version 1.7.
The program is called "r8s" for two reasons: my long-time colleague, Marty Wojciechowski, thought it was an appropriately geeky play on words, and, after the fact, I've noticed that it's disambiguated from a bunch of other hits on the word "rate" in internet search databases. Besides, evidently it's too late to think of a good name now...
Thanks to everyone for putting up with all the bugs and slow email responses. I appreciate bug reports even if I don't deal with them immediately--or at least I appreciate them more than you appreciate the bugs.