This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Creating Heatmaps Of Diffrentially Expressed Genes In Angilent Single-Color Array Analysis

I am analysing an Agilent single-color array in order to find differentially expressed genes using limma and following this procedure

targets <- readTargets("targets.txt") rawObj <- read.maimages(targets,source="agilent",green.only=TRUE) Obj.corrected <- backgroundCorrect(rawObj, method="normexp", offset=1) E <- normalizeBetweenArrays(Obj.corrected, method="quantile") E.avg <- avereps(E, ID=E$genes$ProbeName) fit <- lmFit(E.avg,design) cont.matrix <- makeContrasts(group1vsgroup2=Group1-Group2,levels=design) contrast.matrix <- makeContrasts("WT-MUT", levels=design) fit2 <- contrasts.fit(fit,cont.matrix) fit2 <- eBayes(fit2) list<-topTable(fit2)

The problem comes out when I try to plot one heatmap of this gene list that I get from limma, as in Affymetrix analysis, because I don't know how to handle this Agilent expression Elist object (E)

Any ideas?

agilent microarray limma heatmap

3 answers

You might try exploring your objects to see what they contain. For instance, names(E) will show you some of the named components of E, one of which is a table of your array values (E$G I think). str(E) might also show you the things in an object (str for structure of an arbitrarily complex object). Try the same with the fit2 object - I think this is what you would really be after. fit2$coef would be a table of values that most people would use for a heat map - but in your case you have only a single set of ratios? Not much for heat map material there. Even your E.avg object might have only a few columns? Either way your fit2$coef table, and the E.avg value table have the same order, so you can use topTable to create an index for making a heatmap. An easy trick is to use the row numbers returned by topTable. A heat map of the top 50 genes would be as easy as:

# create an index vector
top.iv <- as.numeric(rownames(topTable(fit2,n=50)))

# create the heat map using the array intensity data
heatmap(E.avg$G[top.iv,])

Thanks seidel, i would try this!

Perhaps you should consider the response from siedel to this BioStar question.

I am also getting the same problem Please help me further as I am not able to find the right solution .

Log in to answer this question.