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