Hi Kevin,
You are always willing to help!
I'll try it and post de full code later.
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
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, 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.
Hi Leite,
When I read the
targets.txtfile, 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, theprojectobject, 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