Learn R Programming

qtl (version 1.66)

mqmpermutation: Estimate QTL LOD score significance using permutations or simulations

Description

Two randomization approaches to obtain estimates of QTL significance:

  • Random redistribution of traits (method='permutation')

  • Random redistribution of simulated trait values (method='simulation')

Calculations can be parallelized using the SNOW package.

Usage

mqmpermutation(cross, scanfunction=scanone, pheno.col=1, multicore=TRUE,
               n.perm=10, file="MQM_output.txt",
               n.cluster=1, method=c("permutation","simulation"),
               cofactors=NULL, plot=FALSE, verbose=FALSE, ...)

Value

Returns a mqmmulti object. this object is a list of scanone objects that can be plotted using plot.scanone(result[[trait]])

Arguments

cross

An object of class cross. See read.cross for details.

scanfunction

Function to use when mappingQTL's (either scanone,cim or mqm)

pheno.col

Column number in the phenotype matrix which should be used as the phenotype. This can be a vector of integers.

multicore

Use multicore (if available)

n.perm

Number of permutations to perform (DEFAULT=10, should be 1000, or higher, for publications)

file

Name of the intermediate output file used

n.cluster

Number of child processes to split the job into

method

What kind permutation should occur: permutation or simulation

cofactors

cofactors, only used when scanfunction is mqm. List of cofactors to be analysed in the QTL model. To set cofactors use mqmautocofactors or mqmsetcofactors

.

plot

If TRUE, make a plot

verbose

If TRUE, print tracing information

...

Parameters passed through to the scanone, cim or mqmscan functions

Author

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

Details

Analysis of scanone, cim or mqmscan to scan for QTL in shuffled/randomized data. It is recommended to also install the snow library. The snow library allows calculations to run on multiple cores or even scale it up to an entire cluster, thus speeding up calculation.

References

  • Bruno M. Tesson, Ritsert C. Jansen (2009) Chapter 3.7. Determining the significance threshold eQTL Analysis in Mice and Rats 1, 20--25

  • Churchill, G. A. and Doerge, R. W. (1994) Empirical threshold values for quantitative trait mapping. Genetics 138, 963--971.

  • Rossini, A., Tierney, L., and Li, N. (2003), Simple parallel statistical computing. R. UW Biostatistics working paper series University of Washington. 193

  • Tierney, L., Rossini, A., Li, N., and Sevcikova, H. (2004), The snow Package: Simple Network of Workstations. Version 0.2-1.

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
# Use the multitrait dataset
data(multitrait)

multitrait <- subset(multitrait, chr=1:2,
                     ind=!apply(multitrait$pheno, 1, function(a) any(is.na(a))))
multitrait$pheno <- log(multitrait$pheno)

multitrait <- calc.genoprob(multitrait)
result <- mqmpermutation(multitrait,pheno.col=7, n.perm=2, batchsize=2)

if (FALSE) #Set 50 cofactors
cof <- mqmautocofactors(multitrait,50)
cof <- mqmautocofactors(multitrait,5)

multitrait <- fill.geno(multitrait)
result <- mqmpermutation(multitrait,scanfunction=mqmscan,cofactors=cof,
                         pheno.col=7, n.perm=2,batchsize=2,verbose=FALSE)

#Create a permutation object
f2perm <- mqmprocesspermutation(result)

#Get Significant LOD thresholds
summary(f2perm)

Run the code above in your browser using DataLab