Gary J. Olsen
August 14, 1992
The DNAml_rates program takes a set of sequences and corresponding phylogenetic tree and produces and maximum likelihood estimate of the rate of nucleotides substitution at each sequence position.
Input is read from standard input. The format is very much like that of the fastDNAml program. The first line of the input file gives the number of sequences and the number of bases per sequence. Also on this line are the requested program option letters. Any auxiliary data required by the options follow on subsequent lines. Either the user must specify the empirical base frequencies (F) option, or immediately preceding the data matrix there must be a line of data with the frequencies of A, C, G and T. Next, the program expects a data matrix. The first 10 characters of the first line of data for a given sequence in interpreted as the name (blanks are counted). Elsewhere in the data matrix, blanks and numbers are ignored. The default data matrix format is interleaved. If all the data for a sequence are on one input line, then interleaved and noninterleaved are equivalent. Following the data matrix there must be a line with the number of user-specified trees for which rates are to be estimated (as with the U option is fastDNAml). The rest of the input file is one or more user-specified trees with branch lengths (as with the U and L options in fastDNAml).
The program writes to standard output. The output lists the estimated rate of change at every site in the sequence, or "Undefined" if there are not sufficient unambiguous data at the site.
If the C option is specified, the program also categorizes the rates into the requested number of categories. The current categorization algorithm is rather crude, but is probably adequate if the number of categories is large enough. A weighting mask is also created in which sites with Undefined rates are assigned a weight of zero.
If the Y option is specified, the program writes the weights and categories data to a file in a format appropriate for use by fastDNAml.
1 - print data. Toggles print data option (default = noprint).
C - write categories. Requires auxiliary line with a C and the desired
number of categories.
F - empirical base frequencies. Calculates base frequencies from data matrix,
rather than expecting a base frequency input line.
I - interleave. Toggles the data interleave option (default = interleave).
L - userlengths. This is implicit in the program, so the option is ignored.
M - minimum informative sequences. Requires an auxiliary data line with an
M and the minimum number of sequences in which a sequence position
(alignment column) must have unambiguous information in order for the rate
at the site to be defined (default = 4).
T - transitions/transversion ratio. Requires auxiliary line with a T and
the ration of observed transitions to transversions (default = 2.0).
U - user trees. This is implicit in the program, so the option is ignored.
W - user weights. Requires weights auxiliary data.
Y - categories file. Writes the weights and categories to a file.
The option scripts usertree, weights, n_categories and categories_file are useful for adding the appropriate options to the input data matrix.
The option script weights_categories is useful for adding the resulting outfile to a fastDNAml input file.