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

addqtl {qtl} | R Documentation

## 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)

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

### 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).

### 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).

### Author(s)

Karl W Broman, broman@wisc.edu

### 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

    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 <- 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)

[Package qtl version 1.46-2 Index]