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 moretti@dima.unige.it Microarrays e loro funzione diagnostica Patologie diverse o sottoclassi della stessa patologia hanno dimostrato essere caratterizzate da diversi profili di espressione. un-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: distanza euclidea sample a b c d e gene1 90 190 90 200 150 gene2 190 390 110 400 200 400 Sample d 350 300 dist dist 2 =200 2 +110 2 Gene 2 250 200 150 100 sample c 200 110 50 100 150 200 250 Gene 1 3
a b c d e a 0 b 223.6068 0 c 80 297.3214 0 d 237.0654 14.14214 310.1612 0 e 60.82763 194.1649 108.1665 206.1553 0 d b a db c e a 0 db 230.3259 0 c 80 303.7269 0 e 60.82763 200.125 108.1665 0 e a ae db c ae 0 db 213.6001 0 c 90.13878 303.7269 0 c aec db aec 0 db 258.6624 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
espressione Espressione in Gene condizione 2 2 5 4 3 2 1 0 Esempio: Step 1 Algoritmo: k-means, Distanza Euclidea k 1 k 2 k 3 0 1 2 3 4 5 espressione Espressione in condizione Gene 1 1 espressione Espressione in Gene condizione 2 2 5 4 3 2 1 0 Esempio: Step 2 Algoritmo: k-means, Distanza Euclidea k 1 k 2 k 3 0 1 2 3 4 5 espressione Espressione in condizione Gene 1 1 7
espressione Espressione in Gene condizione 2 2 5 4 3 2 1 0 Esempio: Step 3 Algoritmo: k-means, Distanza Euclidea 0 1 2 3 4 5 k 1 k 2 k 3 espressione Espressione in condizione Gene 1 1 espressione Espressione in Gene condizione 2 2 5 4 3 2 1 0 Esempio: Step 4 Algoritmo: k-means, Distanza Euclidea 0 1 2 3 4 5 k 1 k 2 k 3 espressione Espressione in condizione Gene 1 1 8
espressione Espressione in Gene condizione 2 2 5 4 3 2 1 0 Esempio: Step 5 Algoritmo: k-means, Distanza Euclidea k 2 k 3 0 1 2 3 4 5 k 1 espressione Espressione in condizione Gene 1 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