Learn R Programming

qtl (version 1.70)

MQM: Introduction to Multiple QTL Model (MQM) mapping

Description

Overview of the MQM mapping functions

Arguments

Introduction

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)

Author

Ritsert C Jansen; Danny Arends; Pjotr Prins; Karl W Broman broman@wisc.edu

References

  • 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.

See Also

  • 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

Examples

Run this code

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)

Run the code above in your browser using DataLab