next up previous index
Siguiente: Example 2 Subir: Examples using Microarray data Anterior: Examples using Microarray data   Índice de Materias

Example 1

#########################################################################
#### Practica de LCG para la materia de BioInformatica aplicada      ####
#### Contiene: instrucciones para la instalacion completa  de        ####
#### Bioconductor y un ejemplo de analisis de un data set de 8       ####
#### Affymetrixarrays. Seimplementan y comparan MAS 5.0,             ####
#### GC-RMA (PM-MM model) and GC-RMA (PM only model)                 ####
####                                Rosa Maria Gutierrez 15/02/07    ####
#########################################################################

## Datos bajados de http://www.affymetrix.com/analysis/download_center2.affx
## HUMAN GENOME U95 DATA SET

## instalar Bioconductor
source("http://www.bioconductor.org/biocLite.R")
biocLite()
getBioC("pkg1")  ## Para instalar paquetes sueltos
biocLite(c("pkg1", "pkg2"))## Para instalar paquetes sueltos


## Cargar librerias
library("affy") ## cargar libreria affy package
library("matchprobes")  ## la libreria gcrma necesita la libreria matchprobes 
library("gcrma")  ## cargar libreria  gcrma package

dataDir<-"Affymetrixarrays/data"
workingDir<-"Affymetrixarrays"
fileNames<-dir(dataDir)
fileNames<-paste(dataDir, "/", fileNames, sep="")
LatinData<-ReadAffy(filenames=fileNames)  
## 8 arreglos para el analisis: "1521m99hpp_av06.CEL" "1521n99hpp_av06.CEL"
"1521o99hpp_av06.CEL" "1521p99hpp_av06.CEL" 
## "1521q99hpp_av06.CEL" "1521r99hpp_av06.CEL" "1521s99hpp_av06.CEL"
"1521t99hpp_av06.CEL". Los 4 primeros son un juego de replicas
# y los otros cuatro son otro juego de replicas


## Calcular medidas de expresion por MAS 5.0
LatinData.mas5<-expresso(LatinData, pmcorrect.method="mas", bgcorrect.method="mas", 
summary.method="mas")
LatinData.mas5.norm<-affy.scalevalue.exprSet(LatinData.mas5)  
write.table(exprs(LatinData.mas5.norm), paste(workingDir,
"\\LatinData_mas5_norm.txt", sep=""), sep="\t")


## Calcular medidas de expresion por gcRMA (PM-only)
LatinData.gcrma<-gcrma(LatinData, type="affinities")
write.table(exprs(LatinData.gcrma), paste(workingDir, "\\LatinData_gcrma_noMM.txt",
sep=""), sep="\t")

## Calcular medidas de expresion por gcRMA (contain MM)
LatinData.gcrma.MM<-gcrma(LatinData, type="fullmodel")
write.table(exprs(LatinData.gcrma.MM), paste(workingDir, "\\LatinData_gcrma_MM.txt",
sep=""), sep="\t")

#################
## Definicion de funciones en R

evaluate<-function(exprs.all, names)
{
        par(mfrow=c(3,2))
        for(i in 1:length(exprs.all))
        {
                a<-matrix(NA, nrow(exprs.all[[i]]), 2)
                a[,1]<-apply(exprs.all[[i]], 1, mean, na.rm=TRUE)
                a[,2]<-apply(exprs.all[[i]], 1, sd, na.rm=TRUE)
                plot(c(0, 12), c(0, 3), type="n", xlab="mean log intensities", ylab="sd log
intensities")
                points(a[,1], a[,2], pch=".")
                title(names[i])
        }
}


evaluate1<-function(exprs.all, names)
{
        for(i in 1:length(exprs.all))
        {
                a<-cor(exprs.all[[i]], use="pairwise.complete.obs")
                print(paste(names[i], ":",  mean(a[a<1])))        
        }
}

## Obtener los valores de expresion de las primeras 4 replicas
LatinData.mas5.norm.matrix<-log2(exprs(LatinData.mas5.norm)[,1:4])
LatinData.gcrma.matrix<-exprs(LatinData.gcrma)[,1:4]
LatinData.gcrma.MM.matrix<-exprs(LatinData.gcrma.MM)[,1:4]

## Graficar evaluaciones. 
jpeg(filename=paste(workingDir, "\\eval_replicate_1_new.jpg", sep=""), width=1200,
height=1024)
exprs.all<-list(LatinData.mas5.norm.matrix, LatinData.gcrma.matrix,
LatinData.gcrma.MM.matrix)
evaluate(exprs.all, c("MAS5","GCRMA (no MM)", "GCRMA (MM)"))
dev.off()
evaluate1(exprs.all, c("MAS5", "GCRMA(no MM)", "GCRMA(MM)"))
## print out of evaluate1
##[1] "MAS5 : 0.893039182394166"
##[1] "GCRMA(no MM) : 0.9992816227403"
##[1] "GCRMA(MM) : 0.998767869268427"


## Obtener los valores de expresion de las primeras siguentes 4 replicas
LatinData.mas5.norm.matrix<-log2(exprs(LatinData.mas5.norm)[,5:8])
LatinData.gcrma.matrix<-exprs(LatinData.gcrma)[,5:8]
LatinData.gcrma.MM.matrix<-exprs(LatinData.gcrma.MM)[,5:8]

## Plot evaluation figure again. 
jpeg(filename=paste(workingDir, "\\eval_replicate_2_new.jpg", sep=""), width=1200,
height=1024)
exprs.all<-list(LatinData.mas5.norm.matrix, LatinData.gcrma.matrix,
LatinData.gcrma.MM.matrix)
evaluate(exprs.all, c("MAS5","GCRMA (no MM)", "GCRMA (MM)"))
dev.off()
evaluate1(exprs.all, c("MAS5","GCRMA(no MM)", "GCRMA(MM)"))

## print out of evaluate1
##[1] "MAS5 : 0.900234102618892"
##[1] "GCRMA(no MM) : 0.999446021907957"
##[1] "GCRMA(MM) : 0.998953186433171"


next up previous index
Siguiente: Example 2 Subir: Examples using Microarray data Anterior: Examples using Microarray data   Índice de Materias

Centro de Ciencias Genómicas/UNAM, México 2006-7