Statistica per la Ricerca Sperimentale
Introduzione all’analisi di
arrays: clustering.
Lezione 2-14 Marzo 2006
Stefano Moretti
Dipartimento di Matematica, Università di Genova e
Unità di Epidemiologia Molecolare, Istituto Nazionale
per la Ricerca sul Cancro di Genova
[email protected]
Microarrays e loro funzione
diagnostica
Patologie diverse o sottoclassi della stessa patologia
hanno dimostrato essere caratterizzate da diversi
profili di espressione.
unun-supervised
Identificazione di sottoclassi
non note della patologia.
supervised
Identificazione di gruppi di geni
predittori della patologia stessa.
1
Algoritmi di clustering
• Le relazioni di somiglianza tra i campioni
(o geni) possono essere determinate
attraverso le tecniche di clustering.
Esempi:
– Clustering gerarchico agglomerativo
– K-means clustering
Concetto basilare: Metriche o
funzioni distanza
Def.: Sia X un insieme non vuoto. Una funzione a valori reali d definita su X×X è
detta una metrica o una funzione distanza su X sse, presi comunque a,b,c∈X,
soddisfa i seguenti assiomi:
d(a,b)≥0 e d(a,a)=0.
(Simmetria) d(a,b)=d(b,a).
(Disuguaglianza triangolare) d(a,b)+d(b,c) ≥ d(a,c).
Se a≠b, allora d(a,b)>0.
Dove sta scritto che devo per forza usare una
metrica nel clustering gerarchico?
(vedi funzione di dissimilarità basato sul
coefficiente di correlazione di Pearson)
2
Clustering gerarchico
• Crea la “filogenesi” o gerarchia
dell’espressione dei geni o dei profili genici
dei campioni.
• Simili agli algoritmi filogenetici.
ATTENZIONE:
Distanze diverse danno risultati diversi
Metodi agglomerativi diversi forniscono risultati
diversi
Esempio:
sample
gene1
gene2
a
90
190
b
190
390
distanza euclidea
c
90
110
d
200
400
e
150
200
Sample d
400
350
dist2=2002+1102
dist
200
200
150
100
le c
250
sam
p
Gene 2
300
110
50 100 150 200 250
Gene 1
3
a
a
b
c
d
e
b
c
d
0
223.6068
0
80 297.3214
0
237.0654 14.14214 310.1612
0
60.82763 194.1649 108.1665 206.1553
a
a
db
c
e
db
c
0
230.3259
0
80 303.7269
0
60.82763 200.125 108.1665
ae
ae
db
c
db
0
213.6001
0
90.13878 303.7269
aec
aec
db
0
258.6624
e
d
b
0
e
e
a
0
c
c
0
db
0
300 250 200 150 100
50
Algoritmo per il clustering gerarchico
• Calcolare la distanza fra tutte le coppie di campioni
• Mettere i valori in una matrice
• Unire i campioni con punteggio inferiore
• Continuare a unire i successivi campioni con altri
campioni o gruppi di campioni a minima distanza.
4
Metodi gerarchici agglomerativi
•
•
•
•
nearest neighbour
furthest neighbour
average linkage
centroid
Clustering gerarchico
Vantaggi
• Buona visualizzazione in
due dimensioni
• Non necessità la
conoscenza del numero
di raggruppamenti che ci
si aspetta
Svantaggi
• Si puo’ avere piu’ di un
albero per lo stesso set di
dati in funzione sia della
misura di dissimilarità
utilizzata che del metodo
di agglomerazione.
• Non è sempre chiaro
dove è opportuno tagliare
l’albero per ottenere una
partizione significativa
5
K-means clustering
• Si ricava una partizione dei campioni in
gruppi con profili di espressione simile.
• k e’ il numero di clusters che l’utente
ritiene opportuno per un certo set di dati.
Idea di fondo
• assegna casualmente ciascun punto ad
uno dei k cluster
• calcola la media all’interno di ciascuna
classe cosi’ ottenuta e la media tra le
medie
• minimizza la media all’interno della classe
e massimizza la distanza tra le classi
attraverso un metodo iterattivo.
6
Esempio: Step 1
espressione
inGene
condizione
2
Espressione
2
Algoritmo: k-means, Distanza Euclidea
5
4
k1
3
k2
2
1
k3
0
0
1
2
3
4
5
espressione
in condizione
1
Espressione
Gene 1
Esempio: Step 2
espressione
inGene
condizione
2
Espressione
2
Algoritmo: k-means, Distanza Euclidea
5
4
k1
3
k2
2
1
k3
0
0
1
2
3
4
5
espressione
in condizione
1
Espressione
Gene 1
7
Esempio: Step 3
espressione
inGene
condizione
2
Espressione
2
Algoritmo: k-means, Distanza Euclidea
5
4
k1
3
2
k3
k2
1
0
0
1
2
3
4
5
espressione
in condizione
1
Espressione
Gene 1
Esempio: Step 4
espressione
inGene
condizione
2
Espressione
2
Algoritmo: k-means, Distanza Euclidea
5
4
k1
3
2
k3
k2
1
0
0
1
2
3
4
5
espressione
in condizione
1
Espressione
Gene 1
8
Esempio: Step 5
espressione
inGene
condizione
2
Espressione
2
Algoritmo: k-means, Distanza Euclidea
5
4
k1
3
2
k2
k3
1
0
0
1
2
3
4
5
espressione
in condizione
1
Espressione
Gene 1
Algoritmo K-means
1) Si prenda un numero k di centroidi
2) Si assegna ogni gene al centroide piu’
vicino
3) Si muove ogni centroide nel punto che
indica la media dei suoi geni
4) Si ripetono i passi 2-3 fino a che
l’algoritmo converge.
9
K-means clustering summary
Vantaggi
• I campioni sono
automaticamente
assegnati alle classi
• E’ possibile variare la
posizione iniziale dei
centroidi per cercare
di ridurre la
dipendenza dalle
condizioni iniziali
Svantaggi
• Arbitrarieta’ di k
• Tutti i campioni sono
forzati a stare in un
unico cluster
Quale metodo di clustering devo usare?
• Qual è la domanda biologica?
• Ho un’idea preconcetta di quanti cluster
debba ritrovare?
• A che tipo di somiglianza intendo riferirmi
e come intendo misurarla?
• Può un gene essere presente in più di un
cluster?
10
R
• R è un sistema open-source per l’analisi statistica
e la descrizione dei dati. Consiste di
– Un linguaggio
– Un ambiente run-time con
• Finestra grafici, debugger, ecc
• Accesso ad alcuni sistemi di funcioni,
• Può essere usato come
– Interattivo, attraverso un linguaggio di comando
– O esecuzione di programmi immagazzinati in
file script
http://www.r-project.org/
11
pro e contro
• Powerful,
• Molto utilizzato in statistica
• Facile da estendere
– Creare librerie
– Molte già disponibili
• Utilizzabile gratuitamente
• Unix, windows & Mac
• Molta documentazione
• Non è facile da imparare
• Basato sui comandi
• La documentazione a
volte è un pò criptica
• Uso pesante della
memoria
– Il peggio in windows
• A volte lento
• If you intend to do microarray data analysis
Probably one of best options
R e Microarray
• R è uno strumento popolare tra gli
statistsici che analizzano I microarray
• Questo ha dato origine a varie
applicaziioni sviluppate in R disponibili
gratuitamente
• Il progetto Bioconductor raggruppa gran
parte di questi sforzi
12
Il progetto Bioconductor
• Progetto Open source e open development
software per l’analisi e la comprensione di dati
genomici.
• La maggior parte dei programmi è stata pensata
come librerie di R.
• Documentazione esaustiva e materiale didattico al
sito http://www.bioconductor.org/
• Ha raggiunto una certa stabilità ma si sta ancora
evolvendo.
quello che ora sembra uno standard
potrebbe non esserlo più nel prossimo futuro.
• Ha raggiunto la versione 2.2
13