MIM.points {QTLEMM}R Documentation

QTL Short Distance Correction by MIM

Description

Expectation-maximization algorithm for QTL multiple interval mapping to find the best QTL position near the designated QTL position.

Usage

MIM.points(
  QTL,
  marker,
  geno,
  y,
  method = "EM",
  type = "RI",
  D.matrix = NULL,
  ng = 2,
  cM = TRUE,
  scope = 5,
  speed = 1,
  crit = 10^-3,
  console = TRUE
)

Arguments

QTL

matrix. A q*2 matrix contains the QTL information, where the row dimension 'q' represents the number of QTLs in the chromosomes. The first column labels the chromosomes where the QTLs are located, and the second column labels the positions of QTLs (in morgan (M) or centimorgan (cM)).

marker

matrix. A k*2 matrix contains the marker information, where the row dimension 'k' represents the number of markers in the chromosomes. The first column labels the chromosomes where the markers are located, and the second column labels the positions of markers (in morgan (M) or centimorgan (cM)). It's important to note that chromosomes and positions must be sorted in order.

geno

matrix. A n*k matrix contains the genotypes of k markers for n individuals. The marker genotypes of P1 homozygote (MM), heterozygote (Mm), and P2 homozygote (mm) are coded as 2, 1, and 0, respectively, with NA indicating missing values.

y

vector. A vector with n elements that contains the phenotype values of individuals.

method

character. When method="EM", it indicates that the interval mapping method by Lander and Botstein (1989) is used in the analysis. Conversely, when method="REG", it indicates that the approximate regression interval mapping method by Haley and Knott (1992) is used in the analysis.

type

character. The population type of the dataset. Includes backcross (type="BC"), advanced intercross population (type="AI"), and recombinant inbred population (type="RI"). The default value is "RI".

D.matrix

matrix. The design matrix of QTL effects is a g*p matrix, where g is the number of possible QTL genotypes, and p is the number of effects considered in the MIM model. This design matrix can be easily generated by the function D.make(). If set to NULL, it will automatically generate a design matrix with all additive and dominant effects and without any epistasis effect.

ng

integer. The generation number of the population type. For instance, in a BC1 population where type="BC", ng=1; in an AI F3 population where type="AI", ng=3.

cM

logical. Specify the unit of marker position. If cM=TRUE, it denotes centimorgan; if cM=FALSE, it denotes morgan.

scope

numeric vector. During the MIM process, it will search forward and backward for the corresponding centimorgan (cM). Users can assign a numeric number for every QTL or a numeric vector for each QTL. Note that 0 denotes that the corresponding QTL position is fixed, and the positions of its surrounding intervals will not be searched.

speed

numeric. The walking speed of the QTL search (in cM).

crit

numeric. The convergence criterion of EM algorithm. The E and M steps will iterate until a convergence criterion is met. It must be a value between 0 and 1.

console

logical. Determines whether the process of the algorithm will be displayed in the R console or not.

Value

effect

The estimated effects, log-likelihood value, and LRT statistics of all searched positions.

QTL.best

The positions of the best QTL combination.

effect.best

The estimated effects and LRT statistics of the best QTL combination.

References

KAO, C.-H. and Z.-B. ZENG 1997 General formulas for obtaining the maximum likelihood estimates and the asymptotic variance-covariance matrix in QTL mapping when using the EM algorithm. Biometrics 53, 653-665. <doi: 10.2307/2533965.>

KAO, C.-H., Z.-B. ZENG and R. D. TEASDALE 1999 Multiple interval mapping for Quantitative Trait Loci. Genetics 152: 1203-1216. <doi: 10.1093/genetics/152.3.1203>

See Also

EM.MIM MIM.points2

Examples

# load the example data
load(system.file("extdata", "exampledata.RDATA", package = "QTLEMM"))

# run and result
result <- MIM.points(QTL, marker, geno, y, type = "RI", ng = 2, scope = c(0,1,2), speed = 2)
result$QTL.best
result$effect.best

[Package QTLEMM version 1.5.3 Index]