# Step0&1: fit a null model and estimate parameters according to batch effect p-values
PhenoFile <- system.file("extdata", "simuPHENO.txt", package = "GRAB")
PhenoData <- data.table::fread(PhenoFile, header = TRUE)
SparseGRMFile <- system.file("extdata", "SparseGRM.txt", package = "GRAB")
GenoFile <- system.file("extdata", "simuPLINK.bed", package = "GRAB")
RefAfFile <- system.file("extdata", "simuRefAf.txt", package = "GRAB")
RefPrevalence <- 0.1 # population-level disease prevalence
OutputDir <- tempdir()
OutputStep1 <- file.path(OutputDir, "WtCoxG_step1_out.txt")
OutputStep2 <- file.path(OutputDir, "WtCoxG_step2_out.txt")
obj.WtCoxG <- GRAB.NullModel(
formula = survival::Surv(SurvTime, SurvEvent) ~ AGE + GENDER,
data = PhenoData,
subjData = PhenoData$IID,
method = "WtCoxG",
traitType = "time-to-event",
GenoFile = GenoFile,
SparseGRMFile = SparseGRMFile,
control = list(
AlleleOrder = "ref-first",
AllMarkers = TRUE,
RefPrevalence = RefPrevalence,
SNPnum = 1000 # the minimum number of SNPs that TestforBatchEffect() needs
),
RefAfFile = RefAfFile,
OutputFile = OutputStep1,
SampleIDColumn = "IID",
SurvTimeColumn = "SurvTime",
IndicatorColumn = "SurvEvent"
)
resultStep1 <- data.table::fread(OutputStep1)
resultStep1[, c("CHROM", "POS", "pvalue_bat")]
# Step2: conduct association testing
GRAB.Marker(
objNull = obj.WtCoxG,
GenoFile = GenoFile,
OutputFile = OutputStep2,
control = list(
AlleleOrder = "ref-first",
AllMarkers = TRUE,
cutoff = 0.1,
nMarkersEachChunk = 5000
)
)
resultStep2 <- data.table::fread(OutputStep2)
resultStep2[, c("CHROM", "POS", "WtCoxG.noext", "WtCoxG.ext")]
Run the code above in your browser using DataLab