| luo.ld.power {ldDesign} | R Documentation |
Classical deterministic power calculation for power to detect linkage disequilibrium between a bi-allelic QTL and a bi-allelic marker, at a given significance level in a population level association study.
luo.ld.power(n, p, q, D, h2, phi, Vp = 100, alpha, print.it = TRUE,
missclass.rate = 0)
n |
The sample size, i.e. number of individuals genotyped and tested for the trait of interest |
p |
Bi-allelic marker allele frequency |
q |
Bi-allelic QTL allele frequency |
D |
Linkage disequilibrium coefficient |
h2 |
QTL `heritability', i.e. proportion of total or phenotypic variance explained by the QTL |
phi |
Dominance ratio: phi = 0 denotes purely additive,
phi = 1 denotes purely dominant allele effects |
Vp |
Total or phenotypic variance: and arbitrary value may be used |
alpha |
Significance level for hypothesis tests |
print.it |
If TRUE print summary of results |
missclass.rate |
Proportion of marker values which are missclassified, i.e. incorrect |
This is based on the 'fixed model' power calculation from Luo (1998,
Heredity 80, 198–208), with corrections described in Ball (2003). This
function, combined with oneway.bf.alpha,
oneway.bf.alpha.required, is used in
Ball (2003) to design experiments for detecting linkage disequilibrium
with a given power to achieve a given Bayes factor.
Returns the power, or probability of detecting an effect, with the given parameters, at the given significance level.
Rod Ball rod.ball@forestresearch.co.nz www.forestresearch.co.nz
Ball, R.D. 2003 Experimental designs for reliable detection of linkage disequilibrium in unstructured random population association studies.
Luo, Z.W. 1988 Detecting linkage disequilibrium between a polymorphic marker locus and a trait locus in natural populations. Heredity 80, 198–208
ld.sim,oneway.bf.alpha,oneway.bf.alpha.required,
SS.oneway.bf
data(luo.ld.populations)
options(digits=3)
powers <- numeric(nrow(luo.ld.populations))
for(ii in 1:nrow(luo.ld.populations)){
cat("ii=",ii,"\n")
powers[ii] <- luo.ld.power(n=luo.ld.populations[ii,"n"],
p=luo.ld.populations[ii,"p"],
q=luo.ld.populations[ii,"q"],
D=luo.ld.populations[ii,"D"],
h2=luo.ld.populations[ii,"h2"],
phi=luo.ld.populations[ii,"phi"],
Vp=100,
alpha=0.05)
}
cbind(luo.ld.populations,power=powers)