[BioC] normalization of illumina bead array data

Michele mic.cipi at gmail.com
Sun Dec 23 02:45:44 CET 2012


I am trying to process the raw data downloaded from: 
http://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-380

At the moment of using the function neqc I get the following error:

Error in if (sigma <= 0) stop("sigma must be positive") : 
 missing value where TRUE/FALSE needed

The problem seems to be in this line:

In sqrt(weighted.mean(v, freq) * n/(n - 1))

of the function normexp.fit.detection.p

This is generated by the fact that in this function, the difference among p-values is computed, and some of those differences turn out to be negative.

Following is the code with which I am trying to process the data.

library(rstudio)
library(beadarray)
library(limma)

sample.name <- strsplit(dir("~/Workspaces/data/E-MTAB-380/E-MTAB-380.raw.1/"), ".txt")
group <- sapply(sample.name, function(x) ifelse(length(grep("RR",x))>0,"MT","WT"))

setwd("~/Workspaces/data/E-MTAB-380/E-MTAB-380.raw.1/")
maqc <- read.ilmn(files=dir("~/Workspaces/data/E-MTAB-380/E-MTAB-380.raw.1/"), probeid = "Reporter name", other.columns = c("Detection", "Avg_NBEADS"))

colnames(maqc$E) <- sample.name
colnames(maqc$other$Detection) <- sample.name
colnames(maqc$other$Avg_NBEADS) <- sample.name
maqc$targets <- unlist(sample.name)

maqc.norm <- neqc(maqc, detection.p='Detection')

How can I overcome this?


More information about the Bioconductor mailing list