MQM | R Documentation |
Overview of the MQM mapping functions
Multiple QTL Mapping (MQM) provides a sensitive approach for mapping quantititive trait loci (QTL) in experimental populations. MQM adds higher statistical power compared to many other methods. The theoretical framework of MQM was introduced and explored by Ritsert Jansen, explained in the ‘Handbook of Statistical Genetics’ (see references), and used effectively in practical research, with the commercial ‘mapqtl’ software package. Here we present the first free and open source implementation of MQM, with extra features like high performance parallelization on multi-CPU computers, new plots and significance testing.
MQM is an automatic three-stage procedure in which, in the first stage, missing data is ‘augmented’. In other words, rather than guessing one likely genotype, multiple genotypes are modeled with their estimated probabilities. In the second stage important markers are selected by multiple regression and backward elimination. In the third stage a QTL is moved along the chromosomes using these pre-selected markers as cofactors, except for the markers in the window around the interval under study. QTL are (interval) mapped using the most ‘informative’ model through maximum likelihood. A refined and automated procedure for cases with large numbers of marker cofactors is included. The method internally controls false discovery rates (FDR) and lets users test different QTL models by elimination of non-significant cofactors.
R/qtl-MQM has the following advantages:
Higher power to detect linked as well as unlinked QTL, as long as the QTL explain a reasonable amount of variation
Protection against overfitting, because it fixes the residual variance from the full model. For this reason more parameters (cofactors) can be used compared to, for example, CIM
Prevention of ghost QTL (between two QTL in coupling phase)
Detection of negating QTL (QTL in repulsion phase)
The current implementation of R/qtl-MQM has the following limitations: (1) MQM is limited to experimental crosses F2, BC, and selfed RIL, (2) MQM does not treat sex chromosomes differently from autosomal chromosomes - though one can introduce sex as a cofactor. Future versions of R/qtl-MQM may improve on these points. Check the website and change log (https://github.com/kbroman/qtl/blob/main/NEWS.md) for updates.
Ritsert C Jansen; Danny Arends; Pjotr Prins; Karl W Broman broman@wisc.edu
Arends D, Prins P, Jansen RC. R/qtl: High-throughput multiple QTL mapping. Bioinformatics, to appear
Jansen RC, (2007) Quantitative trait loci in inbred lines. Chapter 18 of Handbook of Stat. Genetics 3rd edition. John Wiley & Sons, Ltd.
Jansen RC, Nap JP (2001), Genetical genomics: the added value from segregation. Trends in Genetics, 17, 388–391.
Jansen RC, Stam P (1994), High resolution of quantitative traits into multiple loci via interval mapping. Genetics, 136, 1447–1455.
Jansen RC (1993), Interval mapping of multiple quantitative trait loci. Genetics, 135, 205–211.
Swertz MA, Jansen RC. (2007), Beyond standardization: dynamic software infrastructures for systems biology. Nat Rev Genet. 3, 235–243.
Dempster, A. P., Laird, N. M. and Rubin, D. B. (1977) Maximum likelihood from incomplete data via the EM algorithm. J. Roy. Statist. Soc. B, 39, 1–38.
The MQM tutorial: https://rqtl.org/tutorials/MQM-tour.pdf
MQM
- MQM description and references
mqmscan
- Main MQM single trait analysis
mqmscanall
- Parallellized traits analysis
mqmaugment
- Augmentation routine for estimating missing data
mqmautocofactors
- Set cofactors using marker density
mqmsetcofactors
- Set cofactors at fixed locations
mqmpermutation
- Estimate significance levels
scanone
- Single QTL scanning
data(map10) # Genetic map modeled after mouse
# simulate a cross (autosomes 1-10)
qtl <- c(3,15,1,0) # QTL model: chr, pos'n, add've & dom effects
cross <- sim.cross(map10[1:10],qtl,n=100,missing.prob=0.01)
# MQM
crossaug <- mqmaugment(cross) # Augmentation
cat(crossaug$mqm$Nind,'real individuals retained in dataset',
crossaug$mqm$Naug,'individuals augmented\n')
result <- mqmscan(crossaug) # Scan
# show LOD interval of the QTL on chr 3
lodint(result,chr=3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.