Question: Single-color Agilent array analyzing in R
gravatar for Leite
2.7 years ago by
São Paulo - Brazil - Unifesp
Leite1.0k wrote:

Hello everyone,

I'm working with data that was performed using Agilent-014850 Whole Human Genome Microarray 4x44K G4112F arrays and the One Color Quick Amp Labeling Kit (Agilent Technologies, Santa Clara, USA).

I'm trying to set up a code in R:

#Load limma

targetinfo <- readTargets("Targets.txt",row.names="FileName",sep="")

#Read files
project <- read.maimages(targetinfo,source="agilent", green.only=TRUE)

#Background correction
project.bgc <- backgroundCorrect(project, method="normexp", offset=16)

#Normalize the data with the 'quantile' method for 1-color
project.NormData <-normalizeBetweenArrays(project.bgc,method="quantile")

#Create the study design and comparison model
design <- paste(targetinfo$Target, sep="")
design <- factor(design)
comparisonmodel <- model.matrix(~0+design)
colnames(comparisonmodel) <- levels(design)
#Checking the experimental design
comparisonmodel <- lmFit(project.NormData, comparisonmodel)
#When I used > <- lmFit(project.NormData$M, comparisonmodel)
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x),  : 
'data' must be of a vector type, was 'NULL'

#So, I used without a $M <- lmFit(project.NormData,comparisonmodel)
#Applying the empirical Bayes method <- eBayes(

#Make individual contrasts and fit the new model
CaseControl <- makeContrasts(CaseControl="D0A-Control", levels=comparisonmodel)
CaseControl.fitmodel <-, CaseControl)
CaseControl.fitmodel.eBayes <- eBayes(CaseControl.fitmodel)

#Filtering Results
 nrow(topTable(CaseControl.fitmodel.eBayes, coef="CaseControl", number=99999, lfc=2))
 probeset.list <- topTable(CaseControl.fitmodel.eBayes, "CaseControl", number=99999, adjust.method="BH","P", lfc=2)

#To save results
write.table(probeset.list, "results.txt", sep="\t", quote=FALSE)

Well, now it seems correct, and you guys what do you think?

Best regards,


ADD COMMENTlink modified 12 weeks ago by g.felio.rolo0 • written 2.7 years ago by Leite1.0k

Hi Leite,

When I read the targets.txt file, will the individual files be accessible through R?


ADD REPLYlink written 14 months ago by vinayjrao170

Please elaborate on what you want to do.

ADD REPLYlink written 14 months ago by Kevin Blighe63k

I want to be able to see the contents of each file imported using readTargets. Is that possible?

ADD REPLYlink written 14 months ago by vinayjrao170

I suppose that you can simply read them into your R session separately. I have not processed Agilent data for a long time, so, perhaps there is another way.

If you execute the str() function on, for example, the project object, you may see how each sample is arranged inside this object.

ADD REPLYlink modified 14 months ago • written 14 months ago by Kevin Blighe63k

Hi, I am very new to microarray data analysis. Can you send me the detailed steps involved in its analysis? And, also what are the things to includes in Targets.txt file?

ADD REPLYlink written 8 months ago by singh.adarsh9310

Hi everyone,

I wonder if this script works too for my microarray one-color. The information of the microarray is the following:

SurePrintG3 Human Gene Expression v2 8x60k microarray (Agilent ref. G4851B) 83 samples (47 primary tumors más 36 metastasis)

Thanks in advance

ADD REPLYlink written 12 weeks ago by g.felio.rolo0
gravatar for Kevin Blighe
2.7 years ago by
Kevin Blighe63k
Kevin Blighe63k wrote:

You have to pass a comparison model to lmFit(). Also, for Agilent processing, the expression values are eventually stored in the 'M' or 'E' variables of your object, and not accessed via the exprs() function. The choice of M or E depends on whether it is 2- or 1-channel / colour array.

comparisonmodel <- model.matrix(~0+design)
colnames(comparisonmodel) <- levels(design)

fit <- lmFit(project.NormData$M, comparisonmodel)
ADD COMMENTlink modified 13 months ago • written 2.7 years ago by Kevin Blighe63k

Hi Kevin,

You are always willing to help!

I'll try it and post de full code later.

ADD REPLYlink written 2.7 years ago by Leite1.0k

I edited the code in the question, now I think it's ok, what you think about?

ADD REPLYlink written 2.7 years ago by Leite1.0k

Looks okay!

ADD REPLYlink written 2.7 years ago by Kevin Blighe63k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1310 users visited in the last hour