Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica...

23
Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua Ramon Tamarit Agusti rtamarita_FP_PEC2_rev0.doc 1 de 23 Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua Author: Ramón Tamarit Agusti Análisis de cluster no supervisados. Aplicaciones en la búsqueda y visualización de perfiles de expresión en datos de microarrays. Resumen Existen multitud de técnicas para resolver el problema de la determinación de los patrones de expresión a partir de los datos de microarrays. Cada una de las técnicas dispone igualmente de distintos parámetros o formas de medida, y en cada caso pueden obtenerse resultados distintos. El objetivo de este trabajo es presentar de forma sencilla una comparativa de las siguientes técnicas de análisis no supervisado: HC, Cluster jerárquico, PCA, Análisis de componentes principales, PAM, Clusters partitivos, SOM, Mapas autoorganizativos, MDS, escalado multidimensional Para comparar las técnicas se usa el conjunto de datos del experimento:” Arabidopsis thaliana gene expression in response to IAA challenge”, publicado en GEO (http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE1110 )..

Transcript of Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica...

Page 1: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 1 de 23

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua Author: Ramón Tamarit Agusti

Análisis de cluster no supervisados. Aplicaciones en la búsqueda y visualización de perfiles de expresión en datos de microarrays.

Resumen Existen multitud de técnicas para resolver el problema de la determinación de los patrones de expresión a partir de los datos de microarrays. Cada una de las técnicas dispone igualmente de distintos parámetros o formas de medida, y en cada caso pueden obtenerse resultados distintos. El objetivo de este trabajo es presentar de forma sencilla una comparativa de las siguientes técnicas de análisis no supervisado:

• HC, Cluster jerárquico, • PCA, Análisis de componentes principales, • PAM, Clusters partitivos, • SOM, Mapas autoorganizativos, • MDS, escalado multidimensional

Para comparar las técnicas se usa el conjunto de datos del experimento:” Arabidopsis thaliana gene expression in response to IAA challenge”, publicado en GEO (http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE1110)..

Page 2: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 2 de 23

Introducción Los métodos de agrupación o clustering se pueden clasificar en:

• Métodos supervisados: Se emplean básicamente para encontrar una firma molecular o un conjunto reducido de genes cuyo perfil de expresión permita clasificar una muestra, es decir partimos de patrón de expresión génica determinado. Una aplicación típica es clasificar una muestra de un paciente con una determinada dolencia en alguno de los grupos ya establecidos.

• Métodos no supervisados: El objetivo principal es determinar que elementos ya sean genes o muestras presentan un patrón similar. La aplicación de los métodos no supervisados es descubrir los patrones de expresión que posteriormente podrán usarse en análisis supervisados, en detectar genes corregulados.

Para construir los grupos de genes o muestras con perfiles de expresión similares se tiene que utilizar una medida de distancia. Las medidas de distancia más usadas son la euclidiana y la correlación de Pearson y de Sperman. En el caso de los métodos de agrupamiento jerárquicos hay que además definir el método para determinar distancias entre conjuntos de genes. Los métodos de agrupamiento por lo general no necesitan de una información de partida sobre los clusters, sino que son los algoritmos los que agrupan las muestras basándose en el grado de similitud entre los perfiles de expresión de los genes en estudio. El método de agrupamiento más empleado en datos de microarreglos es el agrupamiento jerárquico. Este método no supervisado deriva una serie de particiones de los datos; en este caso, cada dato será el perfil de expresión de una muestra o gen. Existen varios tipos de métodos de agrupamiento jerárquicos, tales como el aglomerativo y el divisivo, los divisivos funcionan mejor para dividir los datos en pocos grupos de varios elementos. El resultado de estos métodos es una estructura de árbol o dendograma. Como alternativa a los métodos jerárquicos están los métodos partitivos. El método k-Means es el más usado. Tiene la desventaja de que requiere como entrada el número de grupos en que se considera estén separados los datos. La estimación de k (número de grupos) es un problema conocido, siempre que se desea encontrar el mapeo de cualquier estructura de datos a una estructura de grupos, especialmente estudiado en datos de expresión de genes. Un criterio muy usado propone seleccionar a k como el número de grupos a partir del cual se observan pocas variaciones de las ordenadas del gráfico FOM (Figure of Merit). Otros métodos se basan en evaluar la estabilidad de los grupos. Hay que destacar que el análisis por grupos resuelve directamente el problema de predicción y comparación de clases. Los análisis de cluster no supervisados no aportan información cuantitativa válida desde el punto de vista estadístico sobre cuáles genes se expresan diferencialmente entre clases, y hay que tomarlos como un método exploratorio previo. El tipo de técnica a utilizar depende del objetivo de la investigación o del problema. En general los métodos jerárquicos son prefereribles cuando no tenemos una idea precisa de los patrones de respuesta que podemos encontrar y cuando podemos encontrar puntos muy separados entre si. Los métodos de partición pueden ser interesantes cuando ya conocemos en una primera aproximación que agrupaciones son posibles o esperables. Por ejemplo podemos partir en una primera aproximación de con un método jerárquico y utilizar el resultado como punto de partida para el método partitivo.

Descripción del experimento

Microarrays Los microarrays son de la marca Affymetrix, en concreto el modelo utilizado es el Affymetrix Arabidopsis ATH1 Genome Array una descripción se encuentra en (http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL198))

Platform GPL198

Status

Public on Jul 18, 2002

Title

[ATH1-121501] Affymetrix Arabidopsis ATH1 Genome Array

Description

The current release has 22810 entries and was indexed 26-Jun-2003. Annotation data from TAIR, Gene Ontology Consortium and TIGR were mapped to the Arabidopsis ATH1 Array probe sets. The AGI (Arabidopsis Genome Initiative) ID (e.g. AT5G23000) corresponding to the gene represented on the array was used to map annotation data obtained from TAIR, Gene Ontology and TIGR databases. Similarly, gene title and gene symbol, as well as the EC annotations for the AGI ID were extracted from the TIGR database. These annotation mappings were validated by a two-pronged approach. First, probe sets were randomly selected and manually curated to check for consistency between Gene Ontology terms, gene title and protein domain associations. Furthermore, associations within and between data sets from different public databases were also used to check for consistencies. For example, consider the association of gene ontology terms and InterPro IDs.

Page 3: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 3 de 23

Several Gene Onoltogy terms have InterPro ID(s) curated as supporting evidence for assigning the term to an AGI locus. This relationship was used to validate the consistency of the ontology terms from Gene Onotlogy and InterPro domain annotations from TAIR. The GeneChip® Arabidopsis ATH1 Genome Array contains more than 22,500 probe sets representing approximately 24,000 genes. Sequences used in the design were selected and clustered in collaboration with TIGR and were derived from TIGR's ATH1-121501 Database. Oligoneuclotide probes are synthesized in situ to each corresponding sequence. Eleven pairs of oligoneuclotide probes are used to measure the level of transcription of each sequence represented on the GeneChip Arabidopsis ATH1 Genome Array. Most sequences represented on the previous generation GeneChip® Arabidopsis Genome Array are also represented on the ATH1 array. Due to the dynamic nature of public databases, probe sets for these sequences will not be identical and in some cases will be represented by a completely new probe set. As a result, data generated with different versions of the Arabidopsis array may not always produce concordant results. The probe arrays are for research use only and not intended for use in diagnosis of diseases.

http://www.affymetrix.com/support/technical/byproduct.affx?product=arab http://www.affymetrix.com/analysis/index.affx

Diseño experimental El diseño experimental (http://www.ncbi.nlm.nih.gov/projects/geo/gds/profileGraph.cgi?gds=672) consta de 20 arrays, con el siguiente de diseño experimental: Dos replicas biológicas (hibridación 1 y 2), cada replica se compone de una muestra de control con tres replicas técnicas y un diseño factorial de 2x2, tratamiento con Acido Acetico y tiempo de exposición.

Page 4: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 4 de 23

Información experimental. La información experimental esta disponible que GEO en la dirección: http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE1110 La citación en PubMed es: http://www.ncbi.nlm.nih.gov/sites/entrez?Db=Pubmed&term=15086809[UID]

Page 5: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 5 de 23

Metodología y flujo de análisis

Carga de los datos El proceso de carga de los datos desde GEO lo realizamos con el siguiente código. Los valores de expresión los guardamos en un fichero de texto para posterior uso, visualización y/o modificación. #################################################

##### CARGA DE LOS DATOS DESDE GEO #############

#################################################

library(GEOquery)

library(Biobase)

myGEOdata <-getGEO("GSE1110")

class(myGEOdata); names(myGEOdata); class(myGEOdata[[1]])

mydata <-exprs(myGEOdata[[1]])

save(mydata, file= "GSE1110_series_matrix.Rda")

##GUARDAMOS LOS VALORES DE EXPRESIÓN EN UN FICHERO DE TEXTO

write.table(mydata, "expresion_orig.txt",col.names=TRUE, sep="\t")

head(mydata)

#################################################

##### VISUALIZACIÓN DE LOS DATOS LEIDOS #########

#################################################

class(exprs)

dim(exprs)

colnames(exprs)

head(exprs)

El fichero de texto en donde hemos guardado los valores de expresión se pude usar posteriormente para no tener que volver a repetir la descarga desde GEO. ##RECUPERAMOS LOS VALORES DE EXPRESIÓN EN UN FICHERO DE TEXTO

exprs <- as.matrix(read.table("expresion_orig.txt", header = TRUE, sep = "\t",

+ row.names = 1, as.is = TRUE))

Filtrado de los datos Mediante el filtrado de lo datos seleccionamos los que presentan mayores valores de intensidad y mayor variabilidad o niveles de expresión. #FILTRADO.

mydata <- mydata[apply(mydata>100, 1, sum)/length(mydata[1,])>0.5 & apply(log2(mydata),

+ 1, IQR)>1.5,]

summary(mydata)

Para mejorar este proceso, o buscando otros objetivos podríamos emplear otras herramientas estadísticas con el objeto de obtener un conjunto de datos que nos sea significativo. Después del filtrado el conjunto de datos se reduce a 123 probes, suficientes para el objetivo de este estudio.

Page 6: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 6 de 23

Exploración de los datos mediante Heat-Map y clustering jerarquico.

Exploración preliminar Antes de comenzar con los análisis de cluster realizaremos un simple Heat-Map de los datos mediante la función heatmap(), de esta forma comprobamos cual es el perfil de los datos sin ordenar. ### Visualización con heat-map

heatmap (mydata, cexRow=0.5, cexCol=1.5,xlab="Samples", ylab="Genes")

GSM18228 Control_1.1

GSM18230 Control_2.1

GSM18232 Control_3.1 0 uM

0 horas

GSM18290 0.1uM_IAA_1h_1.1

GSM18292 0.1uM_IAA_1h_2.1 1

hora GSM18294 0.1uM_IAA_3h_1.1

GSM18296 0.1uM_IAA_3h_2.1

0.1 uM 3 horas

GSM18298 1.0uM_IAA_1h_1.1

GSM18300 1.0uM_IAA_1h_2.1 1

hora GSM18302 1.0uM_IAA_3h_1.1

GSM18304 1.0uM_IAA_3h_2.1

Hib

ridac

ión

1

1.0 uM 3 horas

GSM18229 Control_1.2

GSM18231 Control_2.2

GSM18233 Control_3.2 0 uM 0

horas

GSM18291 0.1uM_IAA_1h_1.2

GSM18293 0.1uM_IAA_1h_2.2 1

hora GSM18295 0.1uM_IAA_3h_1.2

GSM18297 0.1uM_IAA_3h_2.2

0.1 uM 3 horas

GSM18299 1.0uM_IAA_1h_1.2

GSM18301 1.0uM_IAA_1h_2.2 1

hora GSM18303 1.0uM_IAA_3h_1.2

GSM18305 1.0uM_IAA_3h_2.2

Hib

ridac

ión

2

1.0 uM 3 horas

Por el momento nos vamos a fijar únicamente en como han quedado distribuidas las muestras. He marcado con colores algunas de las distribuciones que son significativas y se agrupan como podríamos esperar. En concreto las seis muestras de control (dos pares de tres replicas) deberían estar todas en la misma rama, pero no es así, al mismo nivel se incluyen dos, una de una hora y 0.1 uM, y otra de 0.1 uM y tres horas. Una consideración a tener en cuenta es que la función heatmap() calcula las distancias entre genes y muestras usando un modelo euclideo, esta no es la forma más apropiada para tratar los datos de microarrays, especialmente en los experimentos de dosificación y evolución temporal. En general para este tipo de experimentos se ha demostrado mejores resultados con distancias tipo pearson o spearson

Análisis mediante cluster jerárquico. En el caso de los métodos jerárquicos los datos se ordenan en niveles de manera que los niveles superiores contienen a los inferiores. La jerarquía construida permite obtener también una partición de los datos en grupos. Se utiliza la matriz de distancias o similitudes entre los elementos de la matriz original los de datos. Los algoritmos jerárquicos pueden ser de dos tipos: De división y de Aglomeración. El algoritmo de división asume que en un primer paso todos los datos conforman un solo conglomerado. Este cluster se va dividiendo sucesivamente en conglomerados más pequeños de acuerdo a algún criterio seleccionado previamente. El resultado de este procedimiento se representa por el dendograma. En el algoritmo de aglomeración cada observación inicialmente es un conglomerado y en cada paso se asocian los conglomerados mas similares hasta llegar a un solo cluster. En el dendograma la escala vertical representa la distancia. La distancia entre dos conglomerados que se calcula según un algoritmo predeterminado. El algoritmo de cluster jerárquico pueden ser.

• Linkage promedio: promedio de las distancias de las observaciones en cada cluster. • Linkage simple: la menor distancia entre las observaciones de cada cluster • Linkage completo: la mayor distancia entre las observaciones de cada cluster.

La implementación hclust de R (http://sekhon.berkeley.edu/stats/html/hclust.html ) utiliza el método Lance-Williams que calcula y actualiza en cada paso la disimilaridad entre clusters, este método es aglomerativo. Si cortamos el dendograma a un nivel de distancia dado, obtenemos una clasificación del número de grupos existentes a ese nivel y los elementos que los forman.

Page 7: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 7 de 23

####################################################

##### ANALISIS MEDIANTE CLUSTER JERARQUICO #########

####################################################

# DESCARGA DEL PATRON DE COLOR DE GIRKE.

source("http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/My_R_Scripts/my.colorFct.R")

# Import an alternative color scheme for the heatmap function.

# CENTRADO Y ESCALADO DE LOS DATOS.

mydatascale <- t(scale(t(mydata)))

## GUARDAMOS LOS FICHEROS PARA ANALISIS POSTERIOR

write.table(mydata, "expresion_orig_filtered_RND_PRC.txt",col.names=TRUE, sep="\t")

write.table(mydatascale, "expresion_orig_scaled.txt_RND_PRC",col.names=TRUE, sep="\t")

hr <- hclust(as.dist(1-cor(t(mydatascale), method="pearson")), method="complete")

# Cluster rows by Pearson correlation.

hc <- hclust(as.dist(1-cor(mydatascale, method="spearman")), method="complete")

# Clusters columns by Spearman correlation.

x11()

heatmap(mydata, Rowv=as.dendrogram(hr), Colv=as.dendrogram(hc), col=my.colorFct(), scale="row")

# Plot the data table as heatmap and the cluster results as dendrograms.

mycl <- cutree(hr, h=max(hr$height)/1.5); mycolhc <- sample(rainbow(256));

mycolhc <- mycolhc[as.vector(mycl)];

heatmap(mydata, Rowv=as.dendrogram(hr), Colv=as.dendrogram(hc), col=my.colorFct(), scale="row", RowSideColors=mycolhc)

# Cut the tree at specific height and color the corresponding clusters in the

# heatmap color bar.

Podemos comprobar ( a la izquierda) que a nivel de muestras se pueden observar ya clusters biológicamente significativos, por lo que hemos mejorado la ordenación mediante la metrica sperman. El método “complete” por otra parte puede no ser el más adecuado. Si repetimos el cálculo para las muestras usando como parámetros pearson y average, no obtenemos la ordenación biológica que seria de esperar, lo que mejoramos en unas agrupaciones lo perdemos en otras (heat-map inferior)

Page 8: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 8 de 23

La agrupación de genes es en ambos casos similar, y tan solo en los genes cercanos parece que se incluyen en uno u otro grupo.

Evaluación de la incertidumbre de los cluster jerárquicos mediante bootstraping El paquete pvcluster permite evaluar la incertidumbre de los cluster mediante un proceso iterativo http://bioinformatics.oxfordjournals.org/cgi/content/full/22/12/1540. Los valores de p-valor obtenidos nos permiten establecer un punto de corte para los clusters significativos, y evaluar la significación de los mismos. #############################################################

##### EVALUACIÓN DEL CLUSTER JERARQUICO CON PVCLUST #########

#############################################################

library(pvclust)

library(gplots)

# Loads the required pvclust package.

pv <- pvclust(scale(t(mydata)), method.dist="correlation", method.hclust="average", nboot=100)

#pv <- pvclust(scale(t(mydata)), method.dist="correlation", method.hclust="average", nboot=1000)

# Perform the hierarchical cluster analysis.

# Due to time resrictions, we are using here only 10 bootstrap repetitions.

# Usually, one should use at least 1000 repetitions.

##GRAFICO SEPLOT DE LAS INCERTIDUMBRES

X11()

seplot.(pv)

x11()

plot(pv, hang=-1, cex=0.4);

pvrect(pv, alpha=0.95)

# Plots result as a dendrogram where the significant clusters

# are highlighted with red rectangles.

clsig <- unlist(pvpick(pv, alpha=0.95, pv="au", type="geq", max.only=TRUE)$clusters)

# Retrieve members of significant clusters.

source("http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/My_R_Scripts/dendroCol.R")

# Import tree coloring function.

x11()

dend_colored <- dendrapply(as.dendrogram(pv$hclust), dendroCol, keys=clsig, xPar="edgePar", bgr="black", fgr="red", pch=20, cex=0.4)

# Create dendrogram object where the significant clusters are labeled in red.

heatmap(mydata, Rowv=dend_colored, Colv=as.dendrogram(hc), col=my.colorFct(), scale="row", RowSideColors=mycolhc)

# Plot the heatmap from above, but with the significant clusters in red

# and the cluster bins from the tree cutting step in the color bar.

x11(height=12);

heatmap.2(mydata, Rowv=dend_colored, Colv=as.dendrogram(hc), col=my.colorFct(), scale="row", trace="none", RowSideColors=mycolhc)

# Plot heatmap with heatmap.2()

# function which scales better for many entries.

mydatasort <- mydata[pv$hclust$labels[pv$hclust$order], hc$labels[hc$order]]

# Sort rows in data table by 'dend_colored' and its colums by 'hc'.

Page 9: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 9 de 23

Abajo tenemos el dendrograma para los genes obtenido usando distancias pearson y método average, con 100 iteraciones.

Si aumentamos el número de iteraciones a 1000, comprobamos como los clusters a la izquierda se desdoblan en varios, y en el grafico seplot comprobamos que los errores estándar han disminuido drásticamente.

2512

46_a

t25

7766

_at

2668

32_a

t26

5856

_at

2600

58_a

t26

2045

_at

2505

09_a

t25

8399

_at

2488

01_a

t25

3423

_at

2531

03_a

t25

3791

_at

2597

84_a

t26

1766

_at

2511

78_a

t26

0152

_at

2530

44_a

t26

6908

_at

2666

11_a

t24

7869

_at

2531

79_a

t25

1565

_at

2557

88_a

t26

6974

_at

2665

07_a

t24

5076

_at

2539

08_a

t24

8163

_at

2620

99_s

_at

2604

31_a

t24

9065

_at

2540

98_a

t26

4404

_at

2536

60_a

t25

3047

_at

2451

40_a

t25

9735

_at

2645

27_a

t25

8618

_at

2655

88_a

t24

8118

_at

2596

80_a

t26

2525

_at

2626

43_a

t24

5196

_at

2587

69_a

t26

1556

_s_a

t25

6442

_at

2616

48_a

t24

9777

_at

2639

70_a

tA

FFX

-Dap

X-5

_at

AFF

X-r2

-Bs-

dap-

5_at

2525

49_a

t25

1625

_at

2663

85_a

t26

7546

_at

2545

50_a

t26

6070

_at

2476

55_a

t26

5200

_s_a

t25

4265

_s_a

t25

1109

_at

2578

23_a

t24

8322

_at

2540

42_a

t24

5038

_at

2452

26_a

t25

2882

_at

2647

58_a

t24

6854

_at

2598

79_a

t26

1567

_at

2474

31_a

t25

7925

_at

2623

83_a

t25

5807

_at

2589

30_a

t25

9685

_at

2457

57_a

t24

9384

_at

2542

00_a

t24

9234

_at

2584

87_a

t24

7949

_at

2490

15_a

t24

7024

_at

2532

98_a

t26

4400

_at

2670

24_s

_at

2527

46_a

t25

0464

_at

2534

16_a

t26

4846

_at

2649

53_a

t25

3874

_at

2606

68_a

t25

2273

_at

2449

33_a

t24

5047

_at

2449

38_a

t24

4970

_at

2450

10_a

t24

5008

_at

2450

11_a

t24

5025

_at

2450

26_a

t24

4932

_at

2449

95_a

t26

5227

_s_a

t24

4939

_at

2450

02_a

t24

4982

_at

2450

04_a

t24

9205

_at

2549

07_a

t25

4820

_s_a

t24

8790

_at

2592

76_a

t25

3957

_at

2549

09_a

t24

8844

_s_a

t25

5814

_at0.

00.

20.

40.

60.

81.

01.

2

Cluster dendrogram with AU/BP values (%)

Cluster method: averageDistance: correlation

Hei

ght

100 1009599 99 9495 941009494 88 919476 9694 10091 10099 97 7399 7983 9989 919961 7686 9993 8787 90 9470 9096 99 8896 97 9986 96 9999 889691 8198 89100 96100 9586 88 9798 749295 915790 7286 6090 83 10067 7288 9310087 70 7995 5586 99979092 965798 99 685794 77 9982 938794

79 76 99 9981

81 8777 98

909283

907354

44au

100 905878 83 6657 37823055 24 402630 4217 8953 4376 42 3557 1627 7941 46423 811 4623 953 29 5941 6123 21 5152 57 5226 20 5863 464314 2934 1465 3650 4835 47 1325 125322 29529 3230 3371 26 9432 2318 58431 19 813 34 31144812 71266 33 3715 2 533 3569

21 31 32 2044

22 2424 41

30521

1997

3bp

1 234 5 67 891011 12 131415 1617 1819 2021 22 2324 2526 2728 293031 3233 3435 3637 38 3940 4142 43 4445 46 4748 49 5051 525354 5556 5758 5960 6162 63 6465 666768 697071 7273 7475 76 7778 7980 818283 84 8586 8788 89909192 939495 96 979899 100 101102 103104105

106 107 108 109110

111 112113 114

115116117

118119120

121edge #

0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

0.00

0.05

0.10

0.15

0.20

0.25

0.30

p-value vs standard error plot

AU p-value

Sta

ndar

d E

rror

2512

46_a

t25

7766

_at

2668

32_a

t26

5856

_at

2600

58_a

t26

2045

_at

2505

09_a

t25

8399

_at

2488

01_a

t25

3423

_at

2531

03_a

t25

3791

_at

2597

84_a

t26

1766

_at

2511

78_a

t26

0152

_at

2530

44_a

t26

6908

_at

2666

11_a

t24

7869

_at

2531

79_a

t25

1565

_at

2557

88_a

t26

6974

_at

2665

07_a

t24

5076

_at

2539

08_a

t24

8163

_at

2620

99_s

_at

2604

31_a

t24

9065

_at

2540

98_a

t26

4404

_at

2536

60_a

t25

3047

_at

2451

40_a

t25

9735

_at

2645

27_a

t25

8618

_at

2655

88_a

t24

8118

_at

2596

80_a

t26

2525

_at

2626

43_a

t24

5196

_at

2587

69_a

t26

1556

_s_a

t25

6442

_at

2616

48_a

t24

9777

_at

2639

70_a

tA

FFX

-Dap

X-5

_at

AFF

X-r2

-Bs-

dap-

5_at

2525

49_a

t25

1625

_at

2663

85_a

t26

7546

_at

2545

50_a

t26

6070

_at

2476

55_a

t26

5200

_s_a

t25

4265

_s_a

t25

1109

_at

2578

23_a

t24

8322

_at

2540

42_a

t24

5038

_at

2452

26_a

t25

2882

_at

2647

58_a

t24

6854

_at

2598

79_a

t26

1567

_at

2474

31_a

t25

7925

_at

2623

83_a

t25

5807

_at

2589

30_a

t25

9685

_at

2457

57_a

t24

9384

_at

2542

00_a

t24

9234

_at

2584

87_a

t24

7949

_at

2490

15_a

t24

7024

_at

2532

98_a

t26

4400

_at

2670

24_s

_at

2527

46_a

t25

0464

_at

2534

16_a

t26

4846

_at

2649

53_a

t25

3874

_at

2606

68_a

t25

2273

_at

2449

33_a

t24

5047

_at

2449

38_a

t24

4970

_at

2450

10_a

t24

5008

_at

2450

11_a

t24

5025

_at

2450

26_a

t24

4932

_at

2449

95_a

t26

5227

_s_a

t24

4939

_at

2450

02_a

t24

4982

_at

2450

04_a

t24

9205

_at

2549

07_a

t25

4820

_s_a

t24

8790

_at

2592

76_a

t25

3957

_at

2549

09_a

t24

8844

_s_a

t25

5814

_at0.

00.

20.

40.

60.

81.

01.

2

Cluster dendrogram with AU/BP values (%)

Cluster method: averageDistance: correlation

Hei

ght

99 10095100 99 9197 981009394 97 909281 9899 9989 10099 98 7999 8590 9977 9810078 7492 10078 8991 87 9480 9298 100 8796 99 9888 97 99100 839794 7692 80100 97100 9889 90 9399 409492 846177 6996 5696 96 10074 6191 939994 83 7599 7795 98989199 975198 100 795497 53 10093 8810091

81 83 99 10076

77 8069 98

886685

926954

29au

98 895975 82 6656 37832655 27 422427 4116 8950 4074 41 3756 1728 7937 56622 710 4722 854 28 5938 5924 21 5250 57 5128 19 5863 484314 2832 1263 3648 4835 45 1223 115823 27529 3331 3372 27 9433 2118 58232 21 815 34 32144912 70262 32 3814 2 553 4468

20 30 31 2040

20 2223 40

33522

2098

3bp

1 234 5 67 891011 12 131415 1617 1819 2021 22 2324 2526 2728 293031 3233 3435 3637 38 3940 4142 43 4445 46 4748 49 5051 525354 5556 5758 5960 6162 63 6465 666768 697071 7273 7475 76 7778 7980 818283 84 8586 8788 89909192 939495 96 979899 100 101102 103104105

106 107 108 109110

111 112113 114

115116117

118119120

121edge #

0.5 0.6 0.7 0.8 0.9 1.0

0.00

0.02

0.04

0.06

0.08

p-value vs standard error plot

AU p-value

Sta

ndar

d E

rror

Page 10: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 10 de 23

Análisis mediante clusters partitivos y comparación con los HC. La función pam de la librería cluster encuentra los conglomerados usando el particionamiento alrededor de medoides. Las medoides, son instancias representativas de los clusters que se quieren formar. Para un pre-especificado número de clusters K, el procedimiento PAM está basado en la búsqueda iterativa de los K medoides, M = (m1, . . . ,mK) de todas las observaciones a clasificar Para encontrar M hay que minimizar la suma de las distancias de las observaciones al Medoide mas cercano.

∑=i

kikM mxdM )(minminarg* ,

En donde d es una medida de disimilaridad El código R para hacer los análisis es: #############################################################

##### ANALISIS COM PAM #########

#############################################################

library(cluster)

# Loads required library.

mydist <- t(scale(t(mydata)))

# Center and scale data.

mydist <- as.dist(1-cor(t(mydist), method="pearson"))

# Generates distance matrix using Pearson correlation as distance method.

pamy <- pam(mydist, max(mycl))

# Clusters distance matrix into as many clusters

# as obtained by tree cutting step (6).

mycolkm <- sample(rainbow(256));

mycolkm <- mycolkm[as.vector(pamy$clustering)];

heatmap(mydata, Rowv=dend_colored, Colv=as.dendrogram(hc), col=my.colorFct(), scale="row", RowSideColors=mycolkm)

# Compare PAM clustering results with hierarchical clustering

# by labeling it in heatmap color bar.

### OTRAS OPCIONES DE VISUALIZACIÓN ######

# vary parameters for most readable graph

library(cluster)

clusplot(mydata , pamy$clustering, color=TRUE, shade=TRUE,

+ lines=0)

# Centroid Plot against 1st 2 discriminant functions

library(fpc)

plotcluster(mydata,pamy$clustering)

En la imagen de la derecha podemos observar que los clusteres obtenidos con HC y PAM son casi idénticos y únicamente se encuentran diferencias entre 4 probes (señaladas en distinto color en el cluster PAM). Con las funciones clustplot() y plotcluster(), podemos obtener una visualización “reducida” de los cuatro clusteres.

-20 -15 -10 -5 0 5

-10

-50

5

CLUSPLOT( mydata )

Component 1

Com

pone

nt 2

These two components explain 74.7 % of the po

1

1

1

1 1

1

1

1111

1

11

2

1

3

44

222

2

223 24

3

2 1

3

1

2

3

222

2

2 32

33

3

212

2

23

4

33

22

3

4

3

2

3

12

3

22

21

11

3

21

2

3

22

3

2

4 42

14 2

43

2

3

33

2

2

2

2

33

3

244 22

1422

2

21

4

3

22

343

342 2

22

-4 -2 0 2 4 6

-4-2

02

dc 1

dc 2

Page 11: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 11 de 23

Mediante la funcion cluster.stats() del paquete fpc tenemos un mecanismo para comparar la similitud de los clusters entre dos métodos, en este caso HC y PAM > library(fpc) > cluster.stats(mydist , mycl, pamy$clustering) $n [1] 123 $cluster.number [1] 4 $cluster.size [1] 26 51 32 14 $diameter [1] 0.9895297 1.0407853 1.0037479 1.1116232 $average.distance [1] 0.4135617 0.3578642 0.3050080 0.2074796 $median.distance [1] 0.4613607 0.3374755 0.2396606 0.1135572 $separation [1] 0.25027344 0.25027344 0.09697078 0.09697078 $average.toother [1] 1.248612 1.222880 1.174506 1.153643 $separation.matrix [,1] [,2] [,3] [,4] [1,] 0.0000000 0.2502734 0.44910791 0.54827204 [2,] 0.2502734 0.0000000 0.28850369 0.51617137 [3,] 0.4491079 0.2885037 0.00000000 0.09697078 [4,] 0.5482720 0.5161714 0.09697078 0.00000000 $average.between [1] 1.205798 $average.within [1] 0.3478962 $n.between [1] 5316 $n.within [1] 2187 $within.cluster.ss [1] 10.45751 $clus.avg.silwidths 1 2 3 4 0.5993657 0.6601984 0.5816209 0.7397117 $avg.silwidth [1] 0.6359468 $g2 NULL $g3 NULL $hubertgamma [1] 0.8226678 $dunn [1] 0.0872335 $entropy [1] 1.291176 $wb.ratio [1] 0.2885196 $corrected.rand [1] 0.9354988 $vi [1] 0.2470952

Este estadístico nos puede permitir testear fácilmente las diferencias reales entre soluciones.

Page 12: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 12 de 23

El algoritmo PAM es similar al K-means, pero hay un par de diferencias significativas, la más importante es que con K-means se evalúa el perfil de las similitudes con la distancia euclideana mientras que PAM puede usar cualquier medida de distancia. Basándose en la agrupación de correlación de Pearson en lugar de la distancia euclídea se debería poner más atención a la forma de perfil de expresión en lugar del Fold. change. Además de la de la matriz de distancia, el único parámetro que se tiene que proporcionar es número de agrupaciones, por lo que es fácil de lograr buenos resultados. Veamos como es la imagen de los clusters para cerciorarnos de esto:

####Visualización de los perfiles de expresión.

number_clusters<-max(mycl)

par(mfrow=c(2,2))

x11(par)

for (loop in 1:number_clusters) {

matplot(t(log(mydata[pamy$clustering==loop,])), type="l",

ylog=TRUE, ylab="log(ratio)", xlab="Muestra",

main=paste("Cluster number ",loop))

}

5 10 15 20

24

68

Cluster number 1

Muestra

log(

ratio

)

5 10 15 20

24

68

10

Cluster number 2

Muestra

log(

ratio

)

5 10 15 20

24

68

10

Cluster number 3

Muestra

log(

ratio

)

5 10 15 20

13

57

Cluster number 4

Muestra

log(

ratio

)

Como vemos en la figura de arriba los perfiles de expresión de los cuatro clusters construidos tienen un dibujo similar para los genes dentro de un cluster. Esta es una forma visual de comprobar si la elección del numero de clusters es la adecuada y de paso comprobamos si tienen sentido biológico. El MDS plot (que veremos más adelante) es muy práctico para evaluar la eficacia del algoritmo, así como mostrar visualmente si existe "solapamiento" entre los cluster. El siguiente código superpone los resultados de los Clusters PAM con la matriz de correlación pearson de los genes:

Page 13: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 13 de 23

mds_pea <- cmdscale (mydist, eig = TRUE)

x11()

plot (mds_pea$points, col = pamy$clustering, xlab="Componente 1",

ylab="Componente 2", pch=19)

title(main="MDS PLOT \ resultados PAM ")

legend_names <- paste("cluster ", as.character (seq(1,number_clusters,1)))

legend(legend=legend_names, col=1:number_clusters, x=-0.5, y=0.5,

pch=20)

-0.5 0.0 0.5

-0.5

0.0

0.5

Componente 1

Com

pone

nte

2

MDS PLOT resultados PAM

cluster 1cluster 2cluster 3cluster 4

Observamos con claridad que tenemos 3 clusters muy bien definidos. Los clusters 3 y 4 tienden a mezclarse en unos solo…. ¿Seria adecuado calcular únicamente tres clusters?.

Page 14: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 14 de 23

Análisis con Mapas auto-organizativos (SOM) y comparación con los HC. Una forma más sofisticada de particionado o agrupamiento es usar mapas autoorganizativos (SOM), ya que tiene la ventaja de mostrar además las relaciones entre todos los subgrupos. Los SOM proporcionan una técnica de visualización de datos que ayuda a entender visualmente los perfiles de expresión , sobre todo muestran so potencial en conjuntos de datos grandes y con dimensionalidades altas. Se puede decir que los SOM reducen las dimensiones de los datos y a la vez muestra las similitudes entre ellos. SOM es un proceso iterativo basado en redes neuronales y un proceso de entrenamiento. El input de SOM requiere como entradas la matriz de distancias, el número de nodos del gris, y una geometría del grid. El siguiente conjunto de imágenes ilustra el proceso.

# Mapas auto-organizativos (SOM) y comparación con clusters jerárquicos.

#############################################################

##### ANALISIS CON SOM #########

#############################################################

library(som) # Loads required library.

y <- t(scale(t(mydata))) # Center and scale data.

y.som <- som(y, xdim = 2, ydim = 3, topol = "hexa", neigh = "gaussian")

# Performs SOM clustering.

x11()

plot(y.som) # Plots results.

pdf("som.pdf");

plot(y.som);

dev.off() # Save plot to PDF: 'som.pdf'.

somclid <- as.numeric(paste(y.som$visual[,1], y.som$visual[,2], sep=""))+1

# Returns SOM cluster assignment in order of input data.

mycolsom <- sample(rainbow(256));

mycolsom <- mycolsom[somclid];

x11()

heatmap(mydata, Rowv=dend_colored, Colv=as.dendrogram(hc), col=my.colorFct(), scale="row", RowSideColors=mycolsom)

# Compare SAM clustering results with hierarchical clustering

# by labeling it in heatmap color bar.

Como resultado obtenemos un conjunto de cajas que representan el grid obtenido. El color de la parte superior de las cajas nos indica la similitud de un grupo frente a otro. En el interior de cada caja tenemos el perfil de expresión del cluster y las barras de error del mismo. En la imagen inferior vemos el cálculo para una geometría 2x2 (cuatro clusters) y para 3x2 (seis clusters). En el caso de 6 clusters podemos comprobar como hay cajas con similares, indicativo de que esos clusters son parecidos. En nuestro caso SOM no puede ofrecernos toda su potencia, y está más indicado para conjuntos de datos de mayor tamaño.

0 1 2

-30

3

-30

3

n=47 n=45

n=12 n=19

0 1 2

-30

3-30

3 -30

3-30

3

n=45 n=5

n=2 n=9

n=3 n=9

n=42 n=8

Page 15: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 15 de 23

En los heat-map superior comprobamos que ocurre al aumentar el número de dimensiones a 8, y la comparación con HC y PM de SOM con un grid de 3x2 Otra opción más sencilla para hacer los cluster con SOM desde R es: ###GENERAMOS 6 CLUSTERS CON SOM#######

som_grid <- somgrid(xdim=3, ydim=2, topo = "hexagonal")

som_results <- batchSOM (mydata, som_grid, radii=1)

som_clusters <- as.numeric (knn1 (som_results$code,mydata,0:5 ))

##VISUALIZACIÓN DEL RESULTADO##

number_clusters<-6

par(mfrow=c(2,3))

x11(par)

for (loop in 1:number_clusters) {

matplot(t(log(mydata[som_clusters==loop,])), type="l",

ylog=TRUE, ylab="log(ratio)", xlab="Muestra",

main=paste("Cluster ",loop))

}

mds_pea <- cmdscale (mydist, eig = TRUE)

x11()

plot (mds_pea$points, col = som_clusters, xlab="Componente 1",

ylab="Componente 2", pch=19)

title(main="MDS PLOT \ resultados PAM ")

legend_names <- paste("cluster ", as.character (seq(1,number_clusters,1)))

legend(legend=legend_names, col=1:number_clusters, x=-0.8, y=-0.3,pch=20)

De esta forma podemos emplear el grafico MDS para comparar los resultados obtenidos con PAM. Lo primero que deducimos del gráfico MDS es que 6 clusters es demasiado, y como habíamos previsto con 4 o cuatro nos sobraría.

Page 16: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 16 de 23

Igualmente en los perfiles de expresión observamos que SOM tiene mayor sensibilidad es decir los patrones de expresión de los primeros clusters hasta el 4 son más limpios, el sexto es ya un garabato sin sentido.

5 10 15 20

56

78

9

Cluster 1

Muestra

log(

ratio

)

5 10 15 20

23

45

67

8

Cluster 2

Muestra

log(

ratio

)

5 10 15 20

67

89

Cluster 3

Muestra

log(

ratio

)

5 10 15 20

24

68

10

Cluster 4

Muestra

log(

ratio

)

5 10 15 20

23

45

67

8

Cluster 5

Muestra

log(

ratio

)

5 10 15 20

12

34

56

78

Cluster 6

Muestra

log(

ratio

)

-0.5 0.0 0.5

-0.5

0.0

0.5

Componente 1

Componente 2

MDS PLOT resultados PAM

cluster 1cluster 2cluster 3cluster 4cluster 5cluster 6

SOM

Page 17: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 17 de 23

Análisis de componentes Principales En el análisis de microarrays el PCA se puede usar con dos intenciones: Para identificar los perfiles de expresión de genes comunes ( con similar perfil de expresión, básicamente como el MDS) o para comprobar los resultados de otros métodos de cluster, como hemos hecho con el MDS. Los estadísticos dirán que El PCA es una técnica de reducción de la dimensionalidad, pero intuitivamente veremos que nos puede servir para determinar el número de factores que se esconden detrás de los datos y que explican la variabilidad de los mismos. Matemáticamente el PCA busca una proyección por la cual el ajuste de mínimos cuadrados sea satisfactorio. Las nuevas cooredenadas (componentes) son una combinación lineal de las componentes originales. Las componentes son progresivas, es decir la primera es la que acumula mayor variabilidad y después la segunda y así sucesivamente. El PCA tiene sentido con datos con “baja dimensionalidad” es decir cuando entre el 80% de la variabilidad puede ser explicada mediante 2 o 3 componentes. Con más componentes perdemos su capacidad visualizadora. # PCA y comparación con los mapas auto-organizativos

pca <- prcomp(mydata, scale=T)

# Performs principal component analysis after scaling the data.

summary(pca) # Prints variance summary for all principal components.

library(scatterplot3d) # Loads 3D library.

scatterplot3d(pca$x[,1:3], pch=20, color=mycolsom)

# Plots PCA result in 3D. The SOM clusters are highlighted in their color.

La utilidad de la técnica la vemos en el grafico tridimensional de la derecha. Se ve claramente como son tres las componentes principales que explican el 91% de la variabilidad de nuestros datos, en fin esta técnica nos ayuda a “ver” que en realidad con tres clusters tenemos bastante.

> summary(pca) # Prints variance summary for all principal components.

Importance of components:

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8

Standard deviation 3.497 2.050 1.918 0.8824 0.6296 0.5825 0.38041 0.30930

Proportion of Variance 0.556 0.191 0.167 0.0354 0.0180 0.0154 0.00658 0.00435

Cumulative Proportion 0.556 0.747 0.914 0.9496 0.9676 0.9830 0.98957 0.99392

PC9 PC10 PC11 PC12 PC13 PC14 PC15

Standard deviation 0.25078 0.15818 0.12663 0.08790 0.07084 0.06050 0.05860

Proportion of Variance 0.00286 0.00114 0.00073 0.00035 0.00023 0.00017 0.00016

Cumulative Proportion 0.99678 0.99791 0.99864 0.99899 0.99922 0.99939 0.99955

PC16 PC17 PC18 PC19 PC20 PC21 PC22

Standard deviation 0.05068 0.0459 0.04198 0.03603 0.03046 0.02709 0.02445

Proportion of Variance 0.00012 0.0001 0.00008 0.00006 0.00004 0.00003 0.00003

Cumulative Proportion 0.99966 0.9998 0.99984 0.99990 0.99994 0.99997 1.00000

-25 -20 -15 -10 -5 0 5

-10

-5 0

5

-15

-10

-5

0

5

1

PC1

PC

2

PC

3

Page 18: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 18 de 23

Análisis mediante escalado multidimensional. Comparamos todas las técnicas Durante este documento, hemos ido utilizando el MDS para comparar y representar resultados. La principal aplicación del MDS es a) ayudar a otras técnicas en la representación, b) obtener la dimensión adecuada del modelo. En si mismo es muy similar al PCA, la principal diferencia es que PCA trabaja sobre las matrices de covarianza (regresión), mientras que el MDS se construye directamente sobre las matrices de distancias. Matemáticamente los componentes se calculan “girando” los ejes de coordenadas hasta obtener la dimensionalidad reducida que minimice las distancias entre los puntos. # MDS y comparación con HC, SOM y PAM

loc <- cmdscale(mydist, k = 3)

# Performs MDS analysis and returns results for three dimensions.

x11(height=8, width=8, pointsize=12); par(mfrow=c(2,2))

# Sets plotting parameters.

plot(loc[,1:2], pch=20, col=mycolsom, main="MDS vs SOM 2D")

# Plots MDS-SOM comparison in 2D.

# The SOM clusters are highlighted in their color.

scatterplot3d(loc, pch=20, color=mycolsom, main="MDS vs SOM 3D")

# Plots MDS-SOM comparison in 3D.

scatterplot3d(loc, pch=20, color=mycolhc, main="MDS vs HC 3D")

# Plots MDS-HC comparison.

scatterplot3d(loc, pch=20, color=mycolkm, main="MDS vs PAM 3D")

# Plots MDS-KM comparison.

Este es el resumen en 3D de nuestros datos con HC, SOM, yPAM.

-0.5 0.0 0.5

-0.5

0.0

0.5

MDS vs SOM 2D

loc[, 1:2][,1]

loc[

, 1:2

][,2]

MDS vs SOM 3D

-1.0 -0.5 0.0 0.5 1.0-1.0

-0.5

0.0

0.5

1.0

-1.0-0.5

0.0 0.5

1.

loc[,1]

loc[

,2]

loc[

,3]

MDS vs HC 3D

-1.0 -0.5 0.0 0.5 1.0-1.0

-0.5

0.0

0.5

1.0

-1.0-0.5

0.0 0.5

1.

loc[,1]

loc[

,2]

loc[

,3]

MDS vs PAM 3D

-1.0 -0.5 0.0 0.5 1.0-1.0

-0.5

0.0

0.5

1.0

-1.0-0.5

0.0 0.5

1.

loc[,1]

loc[

,2]

loc[

,3]

Page 19: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 19 de 23

Aplicación de las técnicas de cluster a un conjunto de datos del ejemplo de la PEC1 Del conjunto de datos de:

Molecular basis of age-associated cytokine dysregulation in LPS-stimulated macrophages R. Lakshman Chelvarajan, Yushu Liu,‡ Diana Popa, Marilyn L. Getchell, Thomas V. Getchell,,¶ Arnold J. Stromberg, and Subbarao Bondada.

Selecciono de los top100 genes los up-regulated (52 datos) según el diseño experimental de la tabla (el realizado en la PEC1):

Factor Trat LPS MED

4 4

El heatmap original de los datos (función heatmap()), ya nos muestra como se separan correctamente por muestras.

YLPS

2

YLPS

3

YLPS

1

ALPS

2

ALPS

1

ALPS

3

AMED

3

AMED

1

AMED

2

YMED

3

YMED

1

YMED

2

Samples

1426808_at1451421_a_at1451075_s_at1415929_at1437626_at1448303_at1432466_a_at1426258_at1420808_at1450006_at1449838_at1416390_at1448944_at1418937_at1450884_at1419693_at1431056_a_at1422438_at1417376_a_at1449193_at1418084_at1417377_at1460444_at1448943_at1419589_at1418645_at1456046_at1423166_at1450883_a_at1448529_at1415904_at1452050_at1452191_at1435672_at1437726_x_at1417133_at1418345_at1450627_at1434366_x_at1423571_at1416617_at1449401_at1417063_at1419821_s_at1416389_a_at1417378_at1449383_at1453003_at1434034_at1460287_at1417381_at1418204_s_at1435745_at

Gen

es

.

Page 20: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 20 de 23

Aplicando el HC como en el ejemplo anterior, observamos la formación de tres clusters

YM

ED

3

YM

ED

1

YM

ED

2

YLP

S2

YLP

S1

YLP

S3

AM

ED

3

AM

ED

1

AM

ED

2

ALP

S1

ALP

S2

ALP

S3

1460287_at1432466_a_at1423571_at1448303_at1431056_a_at1448529_at1437626_at1450884_at1450883_a_at1423166_at1419693_at1426808_at1415904_at1437726_x_at1418345_at1434366_x_at1416390_at1435672_at1418645_at1417378_at1417133_at1417377_at1417376_a_at1456046_at1419589_at1448943_at1450006_at1452191_at1418937_at1450627_at1449193_at1418204_s_at1417063_at1417381_at1416389_a_at1435745_at1415929_at1451421_a_at1449383_at1418084_at1449401_at1416617_at1460444_at1452050_at1426258_at1434034_at1453003_at1451075_s_at1422438_at1449838_at1448944_at1420808_at1419821_s_at

-1 0 1Row Z-Score

020

40

Color Keyand Histogram

Cou

nt

14

6028

7_at

1432

466_

a_at

1423

571_

at14

4830

3_at

1431

056_

a_at

1448

529_

at14

3762

6_at

1450

884_

at14

5088

3_a_

at14

2316

6_at

1419

693_

at14

2680

8_at

1415

904_

at14

3772

6_x_

at14

1834

5_at

1434

366_

x_at

1416

390_

at14

3567

2_at

1418

645_

at14

1737

8_at

1417

133_

at14

1737

7_at

1417

376_

a_at

1456

046_

at14

1958

9_at

1448

943_

at14

5000

6_at

1452

191_

at14

1893

7_at

1450

627_

at14

4919

3_at

1418

204_

s_at

1417

063_

at14

1738

1_at

1416

389_

a_at

1435

745_

at14

1592

9_at

1451

421_

a_at

1449

383_

at14

1808

4_at

1449

401_

at14

1661

7_at

1460

444_

at14

5205

0_at

1426

258_

at14

3403

4_at

1453

003_

at14

5107

5_s_

at14

2243

8_at

1449

838_

at14

4894

4_at

1420

808_

at14

1982

1_s_

at0.00

0.02

0.04

0.06

0.08

Cluster dendrogram with AU/BP values (%)

Cluster method: completeDistance: correlation

Hei

ght

100 10099 9998 98100 937763 10096100 81 10097 849881 8899 9891 93 10089 9993 0 099 79 8597009496 95 990 72 87

5800

920

59100

50

au

85 6154 4149 2162 14721 733237 25 5542 22617 3925 273 9 6911 1114 0 021 6 6307423 11 60 2 3

100

10

10

1

bp

1 23 45 67 8910 111213 14 1516 171819 2021 2223 24 2526 2728 29 3031 32 333435363738 39 4041 42 43

444546

4748

4950

51

edge #

Confirmamos con MAS la validez de los tres clusters

0 1 2

-30

3

-30

3

-30

3

n=6 n=8

n=15 n=8

n=6 n=10

Page 21: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 21 de 23

Con PCA no tenemos muy buena visualización: Usando MDS vemos como se visualizan correctamente en MDS vs SOM·D

Page 22: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 22 de 23

Si probamos con los down-regulated, los patrones de expresión son más claros

ALP

S2

ALP

S1

ALP

S3

AM

ED

3

AM

ED

1

AM

ED

2

YM

ED

1

YM

ED

2

YM

ED

3

YLP

S3

YLP

S1

YLP

S2

1421262_at1437865_at1416135_at1450826_a_at1428389_s_at1422461_at1423827_s_at1417675_a_at1426631_at1454703_x_at1428223_at1438095_x_at1450297_at1449453_at1428082_at1448229_s_at1422706_at1416123_at1439516_at1449450_at1416939_at1437992_x_at1419309_at1435665_at1434745_at1417483_at1448728_a_at1460667_at1415800_at1460000_at1439747_at1449449_at1454976_at1455643_s_at1416998_at1428390_at1433502_s_at1448132_at1423826_at1439483_at1427035_at1455841_s_at1455956_x_at1430127_a_at1416122_at1451016_at1422767_at

-1 0 1Row Z-Score

010

30

Color Keyand Histogram

Cou

nt

1421

262_

at14

3786

5_at

1416

135_

at14

5082

6_a_

at14

2838

9_s_

at14

2246

1_at

1423

827_

s_at

1417

675_

a_at

1426

631_

at14

5470

3_x_

at14

2822

3_at

1438

095_

x_at

1450

297_

at14

4945

3_at

1428

082_

at14

4822

9_s_

at14

2270

6_at

1416

123_

at14

3951

6_at

1449

450_

at

1416

939_

at14

3799

2_x_

at14

1930

9_at

1435

665_

at14

3474

5_at

1417

483_

at14

4872

8_a_

at

1460

667_

at14

1580

0_at

1460

000_

at14

3974

7_at

1449

449_

at14

5497

6_at

1455

643_

s_at

1416

998_

at14

2839

0_at

1433

502_

s_at

1448

132_

at14

2382

6_at

1439

483_

at

1427

035_

at14

5584

1_s_

at14

5595

6_x_

at14

3012

7_a_

at14

1612

2_at

1451

016_

at14

2276

7_at0.

000.

020.

040.

060.

08

Cluster dendrogram with AU/BP values (%)

Cluster method: completeDistance: correlation

Hei

ght

99100 84100 98 77 1009881 9194 9395 1009198 9292 96 9382 569991 9777 96 9895 78100 1009470

8997 0

168799 0

0

57

0

49

au

6469 4178 41 17 474619 3119 741 212363 389 38 283 13487 712 10 158 267 122

55 0

255 0

0

1

1

1

bp

12 34 5 6 789 1011 1213 141516 1718 19 2021 222324 2526 27 2829 3031 323334

3536 37

383940 41

42

43

44

45

edge #

Los patrones con MDS

2 4 6 8 10 12

2.05

2.10

2.15

2.20

Cluster 1

Muestra

log(

ratio

)

2 4 6 8 10 12

2.05

2.10

2.15

2.20

2.25

2.30

Cluster 2

Muestra

log(

ratio

)

2 4 6 8 10 12

2.0

2.1

2.2

2.3

2.4

2.5

2.6

Cluster 3

Muestra

log(

ratio

)

Page 23: Análisis de cluster no supervisados. Aplicaciones en la ...mural.uv.es/rata3/PECS/Genomica Funcional y Analisis de Microarrays... · Los análisis de cluster no supervisados no aportan

Genómica Funcional y Análisis de Microarrays PEC 2- Segunda Prueba de Evaluación Continua

Ramon Tamarit Agusti

rtamarita_FP_PEC2_rev0.doc 23 de 23

Referencias interesantes.

http://www.pnas.org/content/95/25/14863.full.pdf+html

Cluster analysis and display of genome-wide expression patterns 1. Michael B. Eisen*, 2. Paul T. Spellman*, 3. Patrick O. Brown†, and 4. David Botstein*,‡

http://elfosscientiae.cigb.edu.cu/PDFs/BA/2008/25/4/BA0025RV290-300.pdf Análisis de datos de microarreglos de ADN. Parte II: Cuantificación y análisis de la expresión génica � Jamilet Miranda, Ricardo Bringas

Relación entre escalamiento multidimensional métrico y análisis de componentes principales

• Autores: María del Rosario Martínez Arias, Teresa Rivas

• Localización: Psicothema, ISSN 0214-9915, Vol. 3, Nº. 2, 1991 , pags. 443-451 http://blog.peltarion.com/2007/06/13/the-self-organized-gene-part-2/