[BioC] normalization of illumina bead array data
Michele
mic.cipi at gmail.com
Fri Dec 28 00:54:12 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