Learn R Programming

beadarrayFilter (version 1.1.0)

MLM.beadarray: Multi-level Mixed model

Description

Function for differential expression analysis of bead array data using the Multi-level Mixed model of Kim and Lin (2011).

Usage

MLM.beadarray(sig, stderr, nbeads, groups, var.equal = FALSE, max.iteration = 20, epsilon = 1e-06, method = "REML")

Arguments

sig
The summarized and normalized average intensities

stderr
The standard errors of the means

nbeads
The number of beads used for summarization

groups
This refers to the groups to be compared. For filtering, group refers to the number of cloumns of sig. However, for the differential expression analysis, the user should define the group variable as appropriate for his/her data.

var.equal
i.e assuming equal variance for the variance of the array random effects

max.iteration
The maximum number of iteration to perform

epsilon
control limit for convergence

method
Allows one to choose between restricted maximum likelihood (REML) or maximum likelihood (ML) estimations

References

Kim, R.S. and Lin, J. (2011). Multi-level mixed effects models for bead arrays. Bioinformatics, 27(5):633-640.

Examples

Run this code
require(beadarrayExampleData)
data(exampleSummaryData)
exampleSummaryDatalog2 <- channel(exampleSummaryData, "G")[1:40,]

exampleSummaryDataNorm <- normaliseIllumina(exampleSummaryDatalog2, 
method = "quantile", transform = "none")[1:40,]

    eSet <- na.omit(exprs(exampleSummaryDataNorm))[1:40,]
    
    seSet <- na.omit(se.exprs(exampleSummaryDataNorm))[1:40,]
    
    nSet <- na.omit(attributes(exampleSummaryDataNorm)$assayData$nObservations)[1:40,]
    
     stderrs<-seSet/sqrt(nSet)

##define group variable as appropriate for your data
group1 <- c(1:6)
group2 <- c(7:12)
 fit1 <- MLM.beadarray(eSet, stderrs, nSet, list(group1,group2), var.equal = TRUE,
 max.iteration = 20, method = "ML")
   
df<-length(group1)+length(group2)-2
fit1$pvalue<-2*(1-pt(abs(fit1$t.statistics),df))
fit1$PvalADjust<-p.adjust(fit1$pvalue, method ="fdr", n = length(fit1$pvalue))
length(which(fit1$PvalADjust<0.05)) 

Run the code above in your browser using DataLab