Learn R Programming

qtl (version 1.66)

addqtl: Scan for an additional QTL in a multiple-QTL model

Description

Scan for an additional QTL in the context of a multiple QTL model.

Usage

addqtl(cross, chr, pheno.col=1, qtl, covar=NULL, formula,
       method=c("imp","hk"), model=c("normal", "binary"),
       incl.markers=TRUE, verbose=FALSE, tol=1e-4, maxit=1000,
       forceXcovar=FALSE, require.fullrank=FALSE)

Value

An object of class scanone, as produced by the scanone function. LOD scores are relative to the base model (with any terms that include the new QTL omitted).

Arguments

cross

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

chr

Optional vector indicating the chromosomes to be scanned. If missing, all chromosomes are scanned. Refer to chromosomes by name. Refer to chromosomes with a preceding - to have all chromosomes but those considered. A logical (TRUE/FALSE) vector may also be used.

pheno.col

Column number in the phenotype matrix to be used as the phenotype. One may also give a character string matching a phenotype name. Finally, one may give a numeric vector of phenotypes, in which case it must have the length equal to the number of individuals in the cross, and there must be either non-integers or values < 1 or > no. phenotypes; this last case may be useful for studying transformations.

qtl

An object of class qtl, as output from makeqtl.

covar

A matrix or data.frame of covariates. These must be strictly numeric.

formula

An object of class formula indicating the model to be fitted. (It can also be the character string representation of a formula.) QTLs are referred to as Q1, Q2, etc. Covariates are referred to by their names in the data frame covar. If the new QTL is not included in the formula, its main effect is added.

method

Indicates whether to use multiple imputation or Haley-Knott regression.

model

The phenotype model: the usual model or a model for binary traits

incl.markers

If FALSE, do calculations only at points on an evenly spaced grid. If calc.genoprob or sim.geno were run with stepwidth="variable" or stepwidth="max", we force incl.markers=TRUE.

verbose

If TRUE, display information about the progress of calculations. If verbose is an integer > 1, further messages from scanqtl are also displayed.

tol

Tolerance for convergence for the binary trait model.

maxit

Maximum number of iterations for fitting the binary trait model.

forceXcovar

If TRUE, force inclusion of X-chr-related covariates (like sex and cross direction).

require.fullrank

If TRUE, give LOD=0 when covariate matrix in the linear regression is not of full rank.

Author

Karl W Broman, broman@wisc.edu

Details

The formula is used to specified the model to be fit. In the formula, use Q1, Q2, etc., or q1, q2, etc., to represent the QTLs, and the column names in the covariate data frame to represent the covariates.

We enforce a hierarchical structure on the model formula: if a QTL or covariate is in involved in an interaction, its main effect must also be included.

If one wishes to scan for QTL that interact with another QTL, include it in the formula (with an index of one more than the number of QTL in the input qtl object).

References

Haley, C. S. and Knott, S. A. (1992) A simple regression method for mapping quantitative trait loci in line crosses using flanking markers. Heredity 69, 315--324.

Sen, Ś. and Churchill, G. A. (2001) A statistical framework for quantitative trait mapping. Genetics 159, 371--387.

See Also

scanone, fitqtl, scanqtl, refineqtl, makeqtl, addtoqtl, addpair, addint

Examples

Run this code
data(fake.f2)

# take out several QTLs and make QTL object
qc <- c(1, 8, 13)
qp <- c(26, 56, 28)

fake.f2 <- subset(fake.f2, chr=c(1,2,3,8,13))
fake.f2 <- subset(fake.f2, ind=1:50)

fake.f2 <- calc.genoprob(fake.f2, step=2, err=0.001)
qtl <- makeqtl(fake.f2, qc, qp, what="prob")

# scan for an additional QTL
out1 <- addqtl(fake.f2, qtl=qtl, formula=y~Q1+Q2+Q3, method="hk")
max(out1)

# scan for an additional QTL that interacts with the locus on chr 1
out2 <- addqtl(fake.f2, qtl=qtl, formula=y~Q1*Q4+Q2+Q3, method="hk")
max(out2)

# plot interaction LOD scores
plot(out2-out1)

Run the code above in your browser using DataLab