Difference between revisions of "Using Bioconductor To Analyse Microarray Data"

From Bridges Lab Protocols
Jump to: navigation, search
m (Microarray Analysis)
m (Microarray Analysis)
Line 40: Line 40:
 
<pre>
 
<pre>
 
library(limma)  #load limma package
 
library(limma)  #load limma package
 +
library(affyPLM)  #load affyPLM package
 +
eset.norm <- normalize.ExpressionSet.quantiles(eset)  #normalize expression set by quantile method
 
pData(eset)  #to see phenotype annotation data
 
pData(eset)  #to see phenotype annotation data
 
design <- model.matrix(~(c(1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)),eset)  #set design matirx
 
design <- model.matrix(~(c(1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)),eset)  #set design matirx
 
colnames(design) <- c("resistant","sensitive")  # give names to the treatment groups
 
colnames(design) <- c("resistant","sensitive")  # give names to the treatment groups
 
design  #check the design matrix
 
design  #check the design matrix
fit <- lmFit(eset,design)
+
fit <- lmFit(eset.norm,design) #Fit data to linear model
fit.eb <- eBayes(fit)
+
fit.norm.eb <- eBayes(fit.norm) #Empirical Bayes
write.csv(fit.eb, file="filename.csv")  #write to CSV file
+
write.csv(fit.norm.eb, file="filename.csv")  #write to CSV file
 
</pre>
 
</pre>

Revision as of 01:16, 27 July 2009


Software Requirements

  • R, get from [CRAN]
  • Bioconductor, get from [Bioconductor]
  • Bioconductor packages. Install as needed:
    • Biobase
    • GEOquery - [1]
    • Limma
source("http://www.bioconductor.org/biocLite.R")
biocLite("PACKAGE")

Obtaining GEO Datasets

  • Open a R terminal
  • Load Biobase and GEOquery packages
libary(Biobase)
library(GEOquery)
  • Can load:
    • datasets - GDS
    • measurements - GSM
    • platforms - GPL
    • series - GSE
gds <- getGEO("GDS162")  #load GDS162 dataset
Meta(gds)  #show extracted meta data
table(gds)[1:10,]  #show first ten rows of dataset
eset <- GDS2eSet(gds, do.log=TRUE)  #convert to expression set, by default obtains annotation (GPL) data with log2 transformation
pData(eset)  #phenotype data
sampleNames(eset)  #sample names (GSM)

Microarray Analysis

  • set up design matrix. Use a different integer for each treatment group. The following example is for a contrast between the first seven groups and the last eight groups. For details on other design matrices see chapter 8 of [limma User Guide]
library(limma)  #load limma package
library(affyPLM)  #load affyPLM package
eset.norm <- normalize.ExpressionSet.quantiles(eset)  #normalize expression set by quantile method
pData(eset)  #to see phenotype annotation data
design <- model.matrix(~(c(1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)),eset)  #set design matirx
colnames(design) <- c("resistant","sensitive")  # give names to the treatment groups
design  #check the design matrix
fit <- lmFit(eset.norm,design)  #Fit data to linear model
fit.norm.eb <- eBayes(fit.norm)  #Empirical Bayes
write.csv(fit.norm.eb, file="filename.csv")  #write to CSV file