MImapqtl uses multiple interval mapping to map quantitative trait loci to
a map of molecular markers. It requires a molecular map that could be a
random one produced by
Rmap, or a real one in the same format as the output of
Rmap. The sample could be a randomly generated one from
Rcross or a real one in the same format as the output of
Rcross. In addition, the program can use an initial genetic model.
This model will most likely be produced by running Eqtl on the results
of a Zmapqtl run, but could be the results of a prior run of MImapqtl.
See QTLcart(1) for more information on the global options
-h for help, -A for automatic, -V for non-Verbose
-W path for a working directory, -R file to specify a resource
file, -e to specify the log file, -s to specify a seed for the
random number generator and -X stem to specify a filename stem.
The options below are specific to this program.
If you use this program without specifying any options, then you will
get into a menu that allows you to set them interactively.
Use this to specify which trait MImapqtl will analyze. If this
number is greater than the number of traits, then all traits will be
analyzed unless the trait name begins with a minus sign. If a negative
number is given, then only traits beginning with a plus sign will be
analyzed. The default is to analyze trait 1 only.
Allows the user to specify the name of the file containing the genetic model for input.
This file should be in the format of Rqtl.out and produced by Rqtl, Eqtl or
MImapqtl. A new model will be placed in the file specified with the -O option.
For an initial analysis (phase 0), this will default to qtlcarti.mqt.
MImapqtl has a limit to the number of QTL it can analyze. For 32 bit machines,
this is 19 QTL. For 64 bit machines, this can be 31. If you set this to a number
higher than that allowed, it will be reset to the maximum allowed for the machine type.
Requires a real value to indicate the threshold for adding or deleting parameters to
a model. Comparisons are made based on the information criterion function specified with
the -S option above. The default is
3.84. If this is set too low, the program will continue to find QTL until it
hits the upper limit. If set too high, it will not find any QTL.
You will need a map of molecular markers, qtlcart.map and a data set, qtlcart.cro.
You can also specify an initial genetic model, qtlcart.qtl.
The input format of the molecular map should be the same as that of the output
format from the program
Rmap. The input format of the individual data should be the same as the output format
of the program Rcross. If you use an initial genetic model, it should be of the
same format as an Rqtl output file. The output of Eqtl will also have such a model,
as will the output of MImapqtl itself.
MImapqtl can produce three types of output files. Most results will be put in the
qtlcart.mim file, while the Rqtl formatted output file will be qtlcart.mqt.
If you choose to calculate residuals, they will be placed in qtlcart.res, which will
have the same format as an Rcross output file.
Test each parameter in the initial model for significance. This follows
a backward elimination procedure, and those parameters that do not lead to a significant
improvement in fit are dropped. The threshold for dropping parameters
is specified by the -L option. The information criterion is calculated for the model
with and without the tested parameter, and the difference must be greater than the threshold
for the effect to be retained.
Search for more QTL. This follows a forward stepwise procedure, whereby the
genome is scanned, the most likely place for a new QTL is determined, and if it results
in a significant improvement, is retained.
The Work Code must be specified with an 8 letter string. Each letter in the string
is a flag to tell the program whether to do a certain step. Some of the flags have options
to modify the behavior of that step. The 8 letter string starts from position 0. The remaining
positions (1-7) correspond to the steps given in the previous section.
This can take on values S or s. If S, then MImapqtl will go into scan mode.
It will do one pass in the search for QTL phase, and print out positions and a likelihood
profile to the output file. The user can then plot the values and decide where to place a
Tells MImapqtl whether to use the initial model specified with the -E option. If
M, then use the model, and if m, don't use it. If you use m, then you should
also specify prt in positions 2, 3 and 4. For example, smprtSEC would make sense:
It would search for QTL de novo.
Use an R here if you want MImapqtl to refine the position estimates in the initial model.
Use an r if you want to skip this step. If you don't have an initial model, then this should
be r. You can also extend the refinement of position to the immediate adjacent intervals
by using A in this position.
Use a T here if you want MImapqtl to test the significance of the parameters in the initial model.
Use a t if you want to skip this step. If you don't have an initial model, then this should
be t. You can use D in place of T in order to test dominance effects only, but t
his is only relevant
with three marker classes. Finally, if you want to test any existing epistatic interactions,
then use E.
Use an S here if you want MImapqtl to search for more QTL.
Use an s if you want to skip this step. You can also specify a A if you only want to
search for the additive effects of putative QTL (that is, don't search for dominance effects
in Fx lines). Finally, if you use a D here, MImapqtl will only search for dominance effects
at QTL locations that don't already have them.
Use an E here if you want MImapqtl to search for epistatic effects.
Use an e if you want to skip this step. By default, the MImapqtl does a forward
stepwise search for epistatic terms. If you want to try a backward elimination approach,
use a B in this position, but be aware that if there are too many epistatic terms,
the request will be ignored in favor of a forward search. Finally, a U in this postion
will do a backward elimination approach but the limit to the number of parameters will
be the sample size minus one.
Use a C here if you want MImapqtl to calculate the variance-covariance matrix, R2 values and
breeding values for the final model.
Use a c if you want to skip this step. If you specify an R in this spot, then
for the current model, the residuals for the trait being analyzed are calculated and
used as the new trait values. These residuals are written to a file stem.res where
stem is the filename stem.
The default string is smprtSeC, which tells MImapqtl to scan for QTL without an
initial model, where the the additive and dominance effects are
treated as a unit.
Use the numbers above with the -S option to indicate which information criterion
you want to use. If you use penalty functions 1 through 5 above, then you should also
specify a threshold of 0.0 with the -L function. Penalty function 6 is equivalent to
no penalty function and requires an experimentwise threshold value that might be obtained
via a permutation test.
MImapqtl can read a genetic model and proced with various tasks as explained above. This
leads to the idea of repeating the analysis with the results of a previous run of the program.
One can think of doing the analysis in steps or phases. The default is to set the phase
to zero. If the phase is set to zero, then the default input file for a genetic model is
qtlcart.eqt, the output is qtlcart.mqt and the general output file is qtlcart.mim.
At the end of the analysis, the phase remains 0.
If one sets the phase to a positive integer (generally starting with 1), then the default
input is to assume that input and output files follow a rule. Assume the filename stem is
qtlcart and the phase is i. The input genetic model will be set to qtlcartPhasei-1.mqt,
the output genetic model will be written to qtlcartPhasei.mqt, and the general output file
will be qtlcartPhasei.mim. At the end of the analysis, the phase variable i will be
incremented by one and recorded in the qtlcart.rc file. This makes it easier for the
program (and the user) to keep track of previous and current results. Also note that if
you used an R in position 7 of the workcode, then the output file containing a new
dataset with the residuals replacing the trait values will be put in qtlcartPhasei.res.
Calculates the best model for the dataset in qtlcart.cro
using the map in qtlcart.map and the model in qtlcart.eqt, but only searches for
main effects (additive and dominance).
Here is a sequence using the example dataset mletest.cro along with its map file mletest.map,
both of which come with the programs. Assume that these two files have been placed in an
empty subdirectory which is now the current working directory.
% MImapqtl -A -V -I smprtSeC -L 0.0 -S 1 -p 1 -X mletest &
% MImapqtl -A -V -I sMPrTseC &
% MImapqtl -A -V -I sMPRtseC &
% MImapqtl -A -V -I sMPrtSeC &
% MImapqtl -A -V -I sMPrtsBC &
The first invocation sets the filename stem, the information criterion and threshold for adding
parameters and indicates that it is phase 1. The -I option tells MImapqtl to search for
additive QTL. The second invocation tests each QTL found in the first phase. The third step
refines the positions of all remaining QTL. The fourth step searches for more QTL (and probably
won't find any). The fifth step searches for interactions between the identified putative QTL.
The phase variable is updated after each step, so MImapqtl knows where to find the
results from the previous step.
Kao, Chen-Hung and Zhao-Bang Zeng, (1997) General formulae for obtaining
the MLEs and the asymptotic variance-covariance matrix in mapping
quantitative trait loci when using the EM algorithm. Biometrics53, 653-665.
Kao, Chen-Hung and Zhao-Bang Zeng, (2000) Modeling epistasis of
quantitative trait loci using Cockerham's model. Theoret. Pop. Biol.
Kao, Chen-Hung, Zhao-Bang Zeng and R. Teasdale (1999) Multiple interval mapping
for quantitative trait loci.
Zeng, Zhao-Bang, Chen-Hung Kao and Christopher J. Basten (1999) Estimating
the genetic architecture of quantitative traits. Genetical Research, Camb.74, 279-289.
We are still doing some simulations to determine the best information criterion to use.
At present, the defaut of 1 with a threshold of 0.0 seems to work well for a variety of
data sets. If the defaut detects no QTL, then you might try information criteria 2, 3 or 6.
Still under development: We hope to add the joint analysis of multiple traits in multiple
environments. We are also working on the output formats.
The A option for refining positions in the work code does not yet behave correctly.
It tends to place all putative QTL at the left flanking marker of an interval. If you
use this option, then re-run MImapqtl with an R in position four to better refine the
position estimate of the QTL.
Christopher J. Basten, B. S. Weir and Z.-B. Zeng
Bioinformatics Research Center, North Carolina State University
1523 Partners II Building/840 Main Campus Drive
Raleigh, NC 27695-7566 USA