Title: UNIVERSITA
1UNIVERSITA DI MILANO-BICOCCALAUREA MAGISTRALE
IN BIOINFORMATICA
- Corso di
- BIOINFORMATICA TECNICHE DI BASE
- Prof. Giancarlo Mauri
- Lezione 13
- Clustering di dati da microarrays
2Sommario
- Introduzione
- La tecnologia dei DNA microarrays
- Algoritmi di Clustering
- algoritmi gerarchici
- metodo del centroide
- K-Means
- Metodi evoluti (CLICK)
3Cosa si intende per clustering
- Il clustering è un procedimento che si pone come
obiettivo la suddivisione di un insieme di
elementi in sottoinsiemi - Gli elementi di ogni sottoinsieme sono accomunati
da caratteristiche simili
4Dati necessari per il clustering
- Insieme di elementi da classificare
- Ogni elemento è specificato da un vettore
caratteristico - Misura di similarità (o dissimilarità) tra gli
elementi - Criteri da rispettare
- OMOGENEITA elementi dello stesso cluster hanno
alto livello di similarità - SEPARAZIONE elementi di cluster diversi hanno
basso livello di similarità
5Cenni matematici (1)
- Sia N e1, , en un insieme di n elementi, e
sia C C1, , Cn una partizione di N in
sottoinsiemi. Ogni sottoinsieme è chiamato
cluster e C è detto clustering di N - Due elementi e1 e e2 sono chiamati mates rispetto
a C se sono membri dello stesso cluster in C
6Il clustering in biologia
- Elementi ? geni
- Vettore caratteristico ? vettore con i livelli di
espressione di ogni gene, sotto le diverse
condizioni - Misura di similarità ? distanza tra vettori
7Espressione genica
- Uno dei principali meccanismi di regolazione
cellulare è il controllo dellespressione genica
che permette alla cellula di coordinare
operazioni complesse adattando la concentrazione
di proteine alle variazioni dellambiente - E possibile identificare gruppi di geni
coinvolti in un particolare evento (es. shock
termico) sperimentalmente (es. riscaldando la
colonia cellulare). - Vengono misurati i livelli di mRNA di ogni gene
nelle ore successive. Confrontando i dati con i
livelli di mRNA tipici di ogni gene, è possibile
individuare geni sovra o sottoespressi.
8Espressione genica
- Tecniche principali per la generazione di livelli
di espressione - Microarray cDNA
- Microarray oligonucleotidici
- Fingerprint oligonucletidici
- Si basano tutte su un alto numero di esperimenti
- Differiscono
- per natura indagini e obiettivi
- per le tecnologie usate
9Microarray cDNA
- Un insieme di probe univoci (sequenze di DNA a
elica singola) vengono immobilizzati su una
superificie solida (vetro, nylon, etc.) - LmRNA estratto da campioni cellulari viene
trattato in modo da generare un campione di cDNA
etichettato con una particolare tintura
(fluorescente o radioattiva) - Il campione viene poi incubato con larray così
che ogni probe ibridizza con la molecola di cDNA
campione complementare (se presente) - Esperimenti con mRNA da diversi campioni possono
essere realizzati contemporaneamente, usando
tinture diverse o diversi array. I risultati
vengono poi confrontati per dare una stima
qualitativa dellabbondanza relativa dellmRNA
nella popolazione cellulare in esame
10Microarray cDNA
11Microarray cDNA
- Libridizzazione non dà una misura quantitativa
dellespressione genica lefficienza
nellestrazione di DNA, la sintesi del campione,
letichettatura del campione e le reazioni di
ibridizzazione variano da campione a campione e
tra un gene e laltro. Si può avere solo una
stima relativa del tasso di cambiamento della
concentrazione di mRNA tra due campioni
Matrice dellEspressione Genica
12Microarray cDNA
13Algoritmi di clustering - Classificazione
- Organizzazione dei cluster
- GERARCHICI
- NON GERARCHICI
- Uso di informazioni note, per guidare lalgoritmo
- SUPERVISIONATI
- NON SUPERVISIONATI
- Costruzione della soluzione di clustering
- AGGLOMERATIVI (si parte dal singolo gene)
- DIVISIVI (si parte dalla totalità dei geni)
14Clustering Gerarchico
- Questo approccio prova a collocare gli elementi
in input in una struttura gerarchica ad albero,
in cui le distanze allinterno dellalbero
riflettono le similarità degli elementi. Gli
elementi sono localizzati sulle foglie
dellalbero - Vantaggi
- Una figura singola, coerente e globale
- Intuitivo per i biologi
- Svantaggi
- Non ci sono esplicite partizioni nel cluster
- Anche per un biologo esperto potrebbe risultare
impossibile fare intuizioni semplicemente
guardando il grafo ad albero, a causa della
dimensione dei dati, e del numero di errori
15Clustering Gerarchico
Viene impiegata una struttura ad albero
Una particolare rappresentazione è il dendrogramma
16Clustering Gerarchico
Lalgoritmo di clustering gerarchico fonde
cluster simili, e calcola la nuova distanza per i
cluster fusi.
Se i è clusterizzato con j ed entrambi non sono
simili ad r allora D(i,r)D(j,r) anche se
D(i,j)gt0. (ricordiamo che D(n,m) è la funzione
distanza)
17Algoritmi presentati
- Clustering gerarchico
- Neighbor joining
- Metodo del centroide
- Clustering non gerarchico
- K-means
- Basati sulla teoria dei grafi
- Highly Connected Subgraph (HCS)
- CLustering Identification via Connectivity
Kernels (CLICK) - Euristica per un algoritmo polinomiale
- Clustering Affinity Search Technique (CAST)
- Self-Organizing Maps (SOM)
18Clustering gerarchico
- Può essere supervisionato è agglomerativo e
gerarchico - Le soluzioni individuate vengono tipicamente
rappresentate con un dendogramma - Si procede da una partizione iniziale in cluster
singoli ad un merging dei cluster fino a che
tutti gli elementi appartengono allo stesso
cluster - Ogni passo di merge corrisponde allunione di due
cluster
19Neighbor Joining Algorithm
- Input la matrice delle distanze Dij
- Trovare gli elementi r,s tali che Drs
minij(Dij) - Fondere i cluster r,s
- Eliminare gli elementi r,s, e aggiungere un nuovo
elemento t con - Ripetere, finché non rimane un solo elemento.
20Metodo del Centroide
- Si tratta di un metodo gerarchico aggregativo nel
quale la misura di vicinanza tra due cluster
viene valutata sulla base della distanza dei
relativi centroidi - Il centroide di un cluster è il vettore la cui
j-esima coordinata è la media aritmetica delle
j-esime variabili di tutti gli elementi del
cluster in questione
21Esempio
- Si supponga di avere la matrice X di 5 elementi
di dimensione 3
0 2 5 x1 2 4 0 x2 X 1 1 4
x3 0 0 2 x4 5 11 0 x5
Presi i cluster A x1, x2 e B x3, x4, x5,
i loro centroidi sono rispettivamente c(A) (1,
3, 2.5) e c(B) (2, 4, 2) e la loro distanza
(Manhattan) è d(A,B) 1-23-42.5-2 2.5
22Metodo del Centroide
23Neighbor Joining Algorithm
Quindi inizialmente ogni gene rappresenta un
cluster contenente solo sé stesso. Si cercano i 2
cluster r e s con la minima distanza tra loro in
modo da fonderli insieme. r viene rimpiazzato con
il nuovo cluster mentre s viene eliminato. Le
distanze che sono state interessate dalla fusione
vengono ricalcolate con la formula mostrata. Si
ripetono le fasi 2, 3 e 4 finché il numero totale
dei cluster non diviene 1, cioè finché non sono
stati presi in considerazione tutti i
geni. Vediamo ora un semplicissimo esempio di
esecuzione dellalgoritmo, partendo dalla
seguente matrice delle distanze
24Neighbor Joining Algorithm
Alla 1 iterazione
per cui si devono fondere i cluster 1 e 2
Alla 2 iterazione
per cui si devono fondere i cluster 3 e 4
Alla 3 iterazione fondiamo i due cluster così
ottenuti e otteniamo per cui una matrice con un
unico elemento. Lesecuzione quindi termina.
25Neighbor Joining Algorithm
Vediamo come avviene la generazione dellalbero
(ricordando che i pesi degli archi sono
determinati tramite )
26Clustering gerarchico (3)
- Varianti
- si basano sul differente Linkage Method usato.
Questo metodo è quello utilizzato per calcolare
le distanze tra due cluster quando si costruisce
il dendrogramma - Single Linkage le distanze sono misurate da ogni
membro di un cluster ad ogni membro dellaltro
cluster. Si considera come distanza tra i cluster
quella minima - Average Linkage la misura della distanza tra due
cluster è calcolata come media della distanza di
ogni membro del cluster da ogni membro dellaltro - Complete Linkage le distanze sono misurate da
ogni membro di un cluster ad ogni membro
dellaltro cluster. Si considera come distanza
tra i cluster quella massima
27Average Linkage
LAverage Linkage è una variante del Neighbor
Joining algorithm. Lidea è la stessa ma nel
momento in cui calcoliamo le nuove distanze dei
cluster creati, vengono prese in considerazione
le dimensioni dei cluster che sono stati fusi
insieme.
- Input La matrice distanza Dij, dimensione del
cluster iniziale nr - iterazione k come nel Neighbor Joining algorithm
con la differenza che la distanza da un nuovo
elemento t è definita attraverso
La misura della distanza tra due cluster è
considerata la media della distanza di ogni
membro del cluster da ogni membro dellaltro
28Average Linkage
Esistono 2 metodi alternativi
Single Linkage
Complete Linkage
29Average Linkage
Data la seguente matrice delle distanze vediamo
un esempio pratico di tutti e tre i metodi sopra
citati
30Average Linkage
Il seguente è il dendrogramma relativo al Single
Linkage dellesempio riportato sopra. Gli altri
due sono differenti ma si ricavano esattamente
nello stesso modo.
31Una struttura generale
Riportiamo la struttura generale del clustering
gerarchico
Nellalgoritmo dellAverage Linkage avremo che i
parametri assumeranno i seguenti valori
32Metodi non gerarchici
- I metodi non gerarchici mirano a ripartire le n
unità della popolazione in k gruppi, fornendo una
sola partizione anziché una successione di
partizioni tipica dei metodi gerarchici - Es. metodo di Forgy o delle K-Medie o delle
aggregazioni dinamiche
33K-means (1)
- È divisivo e generalmente non supervisionato
- La soluzione non è visualizzabile attraverso
dendogrammi - Lalgoritmo K-means assume che il numero k di
cluster sia noto - Si propone di minimizzare le distanze tra
elementi e i centroidi dei cluster loro assegnati
34K-means (2)
- Algoritmo
- Si inizia fissando k centroidi iniziali di
altrettanti cluster - Per ogni gene si calcola la distanza da ciascun
centroide e lo si assegna al più vicino - Per la partizione provvisoria così ottenuta si
ricalcolano i centroidi di ogni cluster (media
aritmetica) - Per ogni gene si ricalcola la distanza dai
centroidi e si effettuano gli eventuali
spostamenti tra cluster - Si ripetono le operazioni 3 e 4 finché si
raggiunge il numero massimo di iterazioni
impostate o non si verificano altri spostamenti
35HCS e CLICK
- I dati di input vengono rappresentati come un
grafo di similarità - OBIETTIVO costruzione dei kernel
- Lalgoritmo partiziona ricorsivamente linsieme
corrente di elementi in due sottoinsiemi - Prima di una partizione, si considera il
sottografo indotto dal corrente sottoinsieme di
elementi - Se il sottografo soddisfa un criterio di arresto
allora viene dichiarato un kernel - Altrimenti viene eseguito un taglio minimo pesato
su quel sottografo e linsieme viene diviso in
due sottoinsiemi separati dal taglio, su cui
verrà ripetuta la procedura di costruzione dei
kernel - Loutput è una lista di kernel che serve come
base per gli eventuali cluster
36HCS (1)
- Costruisce un grafo di similarità non pesato (gli
archi in realtà hanno peso 1 o 0) in cui esiste
un arco tra due vertici sse la similarità tra i
loro corrispondenti elementi supera una soglia
predefinita - Un HCS è un sottografo indotto H di G il cui
valore di taglio minimo eccede V(H)/2 - Lalgoritmo identifica gli HCS come kernel
- Possiede due buone proprietà per il clustering
- il diametro di ogni cluster che produce è al
massimo due - ogni cluster è denso almeno la metà di una cricca
37HCS (2)
- Varianti
- Iterated-HCS quando il minimo valore di taglio
viene ottenuto da diversi tagli distinti,
lalgoritmo HCS ne sceglie uno arbitrariamente.
Questo processo potrebbe suddividere piccoli
cluster in singoletti. Per superare questo
inconveniente, è possibile eseguire diverse (1-5)
iterazioni di HCS fino a che nessun nuovo cluster
viene trovato - Singletons Adoption i singoletti possono essere
adottati dai cluster. Per ogni elemento singolo
x si calcola il numero dei vicini presenti in
ogni cluster e nellinsieme dei singoletti S. Se
il massimo numero di vicini è sufficientemente
grande ed è ottenuto da uno dei cluster
(piuttosto che da S) allora x viene aggiunto a
quel cluster. Questo processo viene ripetuto
diverse volte
38HCS (3)
- Removing Low Degree Vertices quando il grafo di
similarità contiene vertici con grado basso,
uniterazione dellalgoritmo di taglio minimo
potrebbe semplicemente separare i vertici di
grado basso dal resto del grafo. Eliminare i
vertici di grado basso da G elimina queste
iterazioni e riduce in modo significativo il
tempo di esecuzione. Il processo è ripetuto con
diverse soglie sul grado
39CLICK
- Linformazione iniziale è rappresentata dalla
matrice nxp dellEspressione Genica M. - Ogni riga i di M rappresenta limpronta digitale
del gene i-esimo. Lobiettivo dellalgoritmo è
quello di determinare cluster di geni tali che i
geni in ogni cluster siano altamente simili
nellespressione mentre geni in cluster diversi
siano dissimili nellespressione. - Sulla base di M si costruisce un grafo i cui
vertici sono i geni mentre gli archi
rappresentano la probabilità che i due vertici
dellarco stiano in uno stesso cluster. Ad essa
si assegna il valore
40CLICK lalgoritmo
- Lidea dellalgoritmo è la seguente dato un
grafo G si vorrebbe decidere se i suoi vertici - rappresentano geni appartenenti ad un solo
cluster oppure no. Nel primo caso di dice che - G è puro. Per decidere questo si determinano
tutti i tagli del grafo G e si valutano le
seguenti - ipotesi per ogni taglio C del grafo
- H0C il taglio contiene solo geni di uno stesso
cluster - H1C il taglio contiene almeno due geni di
cluster diversi - Se PH0CgtPH1C per ogni taglio C di G allora si
dice che G è un kernel
41Analisi Componenti Principali (PCA)
- La PCA è una tecnica per la riduzione del numero
di variabili casuali che descrivono un fenomeno.
Lobiettivo e quello di identificare un
sottoinsieme di variabili casuali dalle quali
dipende la maggiore varianza (variabilità) del
fenomeno
y descrive meglio di x la variabilità del fenomeno
42PCA i dati
x
Il sottospazio generato da r(1), , r(M), (Mltd),
è chiamato sottospazio PCA
43Trasformazione di Karhunen-Loéve
Obiettivo mappare vettori x (x1,, xd) in
vettori z (z1,, zM) con Mltd.
Errore
ui sono d vettori ortonormali
Somma dei quadrati degli errori
Lerrore minimo è ottenuto scegliendo i più
piccoli d-M autovalori ogni autovettore ui è
chiamato componente principale