snp.imputation {snpMatrix}R Documentation

Calculate regression-based imputation rules

Description

Given two set of SNPs typed in the same subjects, this function calculates regression equations which can be used to impute one set from the other in a subsequent sample.

Usage

snp.imputation(X, Y, pos.X, pos.Y, phase=FALSE, try = 50, r2.stop = 0.9, max.X = 4)

Arguments

X An object of class "snpMatrix" or "X.snp.matrix" containing observations of the SNPs to be used for imputation ("regressor SNPs")
Y An object of same class as X containing observations of the SNPs to be imputed in a future sample ("target SNPs")
pos.X The positions of the regressor SNPs
pos.Y The positions of the target SNPs
phase See "Details" below
try The number of potential regressor SNPs to be considered in the stepwise regression procedure around each target SNP . The nearest try regressor SNPs to each target SNP will be considered
r2.stop The value of R^2 at which to stop entering new variables in the step-wise regression. If set to 1.0 or greater, the AIC will be used
max.X The maximum number of regressor SNPs to be used for each imputation

Details

The routine carries out a series of step-wise regression analyses in which each Y SNP is regressed on the nearest try regressor SNPs. If phase is TRUE, the regressions are calculated at the chromosome (haplotype) level, variances being simply p(1-p) and covariances estimated using the same algorithm used in ld.snp. Otherwise, the analysis is carried out at the diplotype level based on conventional variance and covariance estimates using the "all.obs" missing value treatment (see cov).

Value

An object of class "snp.reg.imputation".

Note

The phase=TRUE option is not yet implemented

Author(s)

David Clayton david.clayton@cimr.cam.ac.uk

References

Chapman J.M., Cooper J.D., Todd J.A. and Clayton D.G. (2003) Human Heredity, 56:18-31.

See Also

snp.reg.imputation-class, ld.snp

Examples

# Remove 5 SNPs from a datset and derive imputation rules for them
library(snpMatrix)
data(for.exercise)
sel <- c(20, 1000, 2000, 3000, 5000)
to.impute <- snps.10[,sel]
impute.from <- snps.10[,-sel]
pos.to <- snp.support$position[sel]
pos.fr <- snp.support$position[-sel]
imp <- snp.imputation(impute.from, to.impute, pos.fr, pos.to)

[Package snpMatrix version 1.6.1 Index]