Learn R Programming

GenABEL (version 1.8-0)

emp.ccfast: Genome-wide significance for a case-control GWA scan

Description

Genome-wide significance for a case-control GWA scan. Analysis function is ccfast.

Usage

emp.ccfast(y, data, snpsubset, idsubset, times = 200, quiet=FALSE, bcast = 10)

Arguments

y
character name of the vector of case-control status. Cases are denoted as 1 and controls as 0.
data
An object of gwaa.data-class
snpsubset
Index, character or logical vector with subset of SNPs to run analysis on. If missing, all SNPs from data are used for analysis.
idsubset
Index, character or logical vector with subset of IDs to run analysis on. If missing, all people from data are used for analysis.
times
If more then one, the number of replicas to be used in derivation of empirical genome-wide significance. See emp.qtscore, which calls qtscore with times>1 for details
quiet
do not print warning messages
bcast
If the argument times > 1, progress is reported once in bcast replicas

Value

Object of class scan.gwaa-class

Details

In the analysis of empirical significance, first time the function ccfast is called and result object is saved. Later, the function ccfast is called times times with replace=FALSE in order to generate the distribution under the null. Each call, minimal P-value is extracted and compared with original P-values. For a particular SNP, empirical P-value is obtained as a proportion of times minimal Ps from resampled data was less then the original P.

The list elements effB, effAB and effBB are the ones obtained from the analysis of the original (not permuted) data set

See Also

ccfast, emp.qtscore, scan.gwaa-class

Examples

Run this code
require(GenABEL.data)
data(srdta)
a<-ccfast("bt",data=srdta,snps=c(500:800))
plot(a)
# this does not make sense, as the whole experiment must be analysed, not a small region!
# also, times = 20 is way too small (should be at least 200)
b<-emp.ccfast("bt",data=srdta,snps=c(500:800),bcast=10, times = 20)
plot(b)
# compare qvalues and empirical P
qv<-qvaluebh95(a[,"P1df"])$qval
qv
b[,"P1df"]
plot(qv,b[,"P1df"],xlim=c(0,1),ylim=c(0,1))
abline(a=0,b=1)

Run the code above in your browser using DataLab