This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Single-color Agilent array analyzing in R

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
library(limma)

#Set-up
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
design
comparisonmodel

project.fit <- lmFit(project.NormData, comparisonmodel)
#When I used > project.fit <- 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 
project.fit <- lmFit(project.NormData,comparisonmodel)
  
#Applying the empirical Bayes method
project.fit.eBayes <- eBayes(project.fit)
names(project.fit.eBayes)

#Make individual contrasts and fit the new model
CaseControl <- makeContrasts(CaseControl="D0A-Control", levels=comparisonmodel)
CaseControl.fitmodel <- contrasts.fit(project.fit.eBayes, 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", sort.by="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,

Leite

r single-color 1-color agilent array

Hi Leite,

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

Thanks

Please elaborate on what you want to do.

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

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.

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?

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

2 answers

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)
comparisonmodel

fit <- lmFit(project.NormData$M, comparisonmodel)

Hi Kevin,

You are always willing to help!

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

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

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?

Log in to answer this question.