refineqtl | R Documentation |
Iteratively scan the positions for QTL in the context of a multiple QTL model, to try to identify the positions with maximum likelihood, for a fixed QTL model.
refineqtl(cross, pheno.col=1, qtl, chr, pos, qtl.name, covar=NULL, formula,
method=c("imp","hk"), model=c("normal", "binary"), verbose=TRUE, maxit=10,
incl.markers=TRUE, keeplodprofile=TRUE, tol=1e-4,
maxit.fitqtl=1000, forceXcovar=FALSE)
cross |
An object of class |
pheno.col |
Column number in the phenotype matrix to be used as the phenotype. One may also give a character string matching the 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 |
A QTL object, as produced by |
chr |
Vector indicating the chromosome for each QTL; if |
pos |
Vector indicating the positions for each QTL; if |
qtl.name |
Optional user-specified name for each QTL. If
|
covar |
A matrix or data.frame of covariates. These must be strictly numeric. |
formula |
An object of class |
method |
Indicates whether to use multiple imputation or Haley-Knott regression. |
model |
The phenotype model: the usual model or a model for binary traits |
verbose |
If TRUE, give feedback about progress. If
|
maxit |
Maximum number of iterations. |
incl.markers |
If FALSE, do calculations only at points on an evenly spaced grid. |
keeplodprofile |
If TRUE, keep the LOD profiles from the last iteration as attributes to the output. |
tol |
Tolerance for convergence for the binary trait model. |
maxit.fitqtl |
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). |
QTL positions are optimized, within the context of a fixed QTL model, by a scheme described in Zeng et al. (1999). Each QTL is considered one at a time (in a random order), and a scan is performed, allowing the QTL to vary across its chromosome, keeping the positions of all other QTL fixed. If there is another QTL on the chromosome, the position of the floating QTL is scanned from the end of the chromosome to the position of the flanking QTL. If the floating QTL is between two QTL on a chromosome, its position is scanned between those two QTL positions. Each QTL is moved to the position giving the highest likelihood, and the entire process is repeated until no further improvement in likelihood can be obtained.
One may provide either a qtl
object (as produced by
makeqtl
), or vectors chr
and pos
(and, optionally, qtl.name
) indicating the positions of the
QTL.
If a qtl
object is provided, QTL that do not appear in
the model formula
are ignored, but they remain part of the QTL
object that is output.
An object of class qtl
, with QTL placed in their new positions.
If keeplodprofile=TRUE
, LOD profiles from the last pass through
the refinement algorithm are retained as an attribute,
"lodprofile"
, to the object. These may be plotted with
plotLodProfile
.
Karl W Broman, broman@wisc.edu
Zeng, Z.-B., Kao, C.-H., and Basten, C. J. (1999) Estimating the genetic architecture of quantitative traits. Genet. Res. 74, 279–289.
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.
fitqtl
, makeqtl
,
scanqtl
, addtoqtl
,
dropfromqtl
, replaceqtl
,
plotLodProfile
data(fake.bc)
fake.bc <- calc.genoprob(fake.bc, step=2)
qtl <- makeqtl(fake.bc, chr=c(2,5), pos=c(32.5, 17.5), what="prob")
rqtl <- refineqtl(fake.bc, qtl=qtl, method="hk")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.