Question: Microarray Relative Expression Disease V Controls
1
gravatar for alicia.berkenwood
7.3 years ago by
alicia.berkenwood10 wrote:

Hi Biostar folks, Being a newbie to microarrays, i wonder if somebody can help me on this. I have 20 diseased and 5 (unmatched) controls from Affy U133 plus2. So far:

  1. I normalized that data (all 25) with RMA
  2. i have used Limma for differential analysis
  3. And next i would like to plot heatmap for cluster analysis of the differentially expressed genes.

What i am not sure is how to compute the relative (over- and under-) expression measures on PER DISEASED SAMPLE basis. RMA data is log2 normalised and to work out the direction of regulation and its magnitude would require some adjustments presumably. Shall i take the mean expression of controls for every probe i and then divide each case (patient) with this number to obtain per-patient based over- and under-expression of every probe ?

thanks, Alicia

Here is my code Sean (thanks)

expressionData <- read.table("RMA-normalised.txt", header = T , row.names = 1 );
groups <- c(rep("T", 20), rep("N", 5));
lev <- unique(groups);
f <- factor(groups, levels=lev);
design <- model.matrix(~0+f);
colnames(design) <- lev;
fit <- lmFit(expressionData, design);
contMatrix <- makeContrasts(contrasts=c("T-N"),levels=design);
fit2 <- contrasts.fit(fit, contMatrix);
fit2 <- eBayes(fit2);
for (fdr in c(0.05, 0.01)) {
    results <- topTable(
        fit2,
        adjust.method = "BH",
        sort.by = "B",
        p.value = fdr,
        lfc = 0,
        number = 100000000
        );
    limmaGenes<- results[, "ID"];
    # heatmap (TODO)
}
ADD COMMENTlink modified 7.1 years ago by Sean Davis25k • written 7.3 years ago by alicia.berkenwood10

Generally, one simply makes a heatmap of the differentially-expressed genes for ALL samples. There is no need to do anything special in terms of calculating fold change. If you can update your post with the code you have used to do the limma analysis, we can perhaps show you details.

ADD REPLYlink written 7.3 years ago by Sean Davis25k
0
gravatar for Sean Davis
7.3 years ago by
Sean Davis25k
National Institutes of Health, Bethesda, MD
Sean Davis25k wrote:

Try something like:

library(gplots)
# Choose the top 100 genes, for example
heatmap.2(expressionData[results[1:100,"ID"],])

You can read up on heatmap.2 for details on how to improve the look of the plot.

ADD COMMENTlink written 7.3 years ago by Sean Davis25k
Please log in to add an answer.

Help
Access

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