Clustering de Dados de Expressão Gênica

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

Fluxo em Redes Prof. Ricardo R. Santos.
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Análise de Agrupamentos (Clusters) Marcílio C. P. de Souto DIMAp/UFRN.
Exercícios PAA- Grafos
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
Métodos para representação de estruturas hierárquicas
Modelos de Mineração de Dados
Método Hierárquico Aglomerativo de Clusterização Algoritmo CURE
Formação de agrupamentos: conceitos básicos e algoritmos prof
ANÁLISE DE AGRUPAMENTO
Reconhecimento de Padrões Tipos de Aprendizagem
Medida do Tempo de Execução de um Programa
Quantização de cores em Imagens: o caso do K-means
Árvore Geradora de Peso Mínimo
Apresentação: Léia Michelle de Souza
Ronaldo Celso Messias Correia –
Agrupamento de padrões Métodos hierárquicos
O Surgimento dos Sistemas de Bioinformática
José Augusto Baranauskas
INF 1771 – Inteligência Artificial
Detecção de Comunidades
Algoritmos em Grafos.
Algoritmos em Grafos Conceitos principais Prof. André Renato
Alexandre Xavier Falcão & David Menotti
CLUSTERING: UMA REVISÃO AOS ALGORITMOS BÁSICOS
Aprendizagem de Máquina - Agrupamento
Finding and Evaluating Community Structure in Networks
D ETECÇÃO DE C OMUNIDADES Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Otimização por Colônia de Formigas (ACO)
Caracterização de consumos
Exercícios PAA- Grafos
K-Means / Clustering.
Segmentação de Imagens
E NHANCED S ELF -O RGANIZING I NCREMENTAL N EURAL N ETWORK FOR O NLINE U NSUPERVISED L EARNING Cesar Lima José Francisco Maíra Nascimento.
Avaliação de Clusteres Parte II
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Aula 6 - Método não-experimental ou de seleção não-aleatória
Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações.
Análise de Agrupamentos
Análise de padrões de uso em grades computacionais oportunistas
Busca Combinatorial e Métodos de Heurística
Sistemas de Recomendação – Filtragem Colaborativa
Análise de Agrupamentos Marcílio Souto DIMAp/UFRN.
Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.
Aprendizado não-supervisionado
Revisão 2° Bimestre Inteligência Artificial. Redes Neurais.
2.3 Experimentos Fatoriais 22 Efeitos das Interações
Recuperação Inteligente de Informação
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Regressão e Previsão Numérica.

Alinhamento de Cadeias de DNA COMPARAÇÃO DE SEQÜÊNCIAS
IF803 - Introdução à Biologia Molecular Computacional Katia Guimarães 2008/2.
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2015 Análise de Agrupamento Camilo Daleles Rennó
Clustering Algorithms for Gene Expression Analysis Pablo Viana Fagner Nascimento.
Exercícios de Fluxo em Redes
Celso C. Ribeiro Caroline T. Rocha
Arthur Gonçalves – agc Christian Diego – cdad Icamaan Viegas – ibvs Recife, 18 de Dezembro de 2007.
DETECÇÃO DE COMUNIDADES TAIA
Metodologia da Pesquisa em Ensino de Ciências I
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Alinhamento Global de Seqüências Katia Guimarães.
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Mineração de Dados (Data Mining)
Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Análise.
Transcrição da apresentação:

Clustering de Dados de Expressão Gênica Diogo Fernando Veiga Centro de Informática - UFPE

Roteiro Introdução ao Clustering Microarrays Medidas de Distância e Similaridade Clustering Hierárquico Clustering com Partição Clustering com Grafos Avaliação de Soluções

Clustering - Definição Técnicas para agrupar objetos baseados em suas similaridades ou diferenças Encontrar grupos mais homogêneos e separados possíveis nos dados Facilita a análise Em Data Mining, é mais uma técnica de descoberta de conhecimento (padrões) nos dados resumo dos dados compra casada (Amazon, Wall-Mart)

Expressão Gênica - Microarray Microarrays medem a atividade (nível de expressão) de genes Nível de expressão é estimado pela quantidade de mRNA do gene Experimentos projetados para diferentes condições sem O2, deleção de gene, inserção de nutriente, etc) várias amostragens no tempo (0 min, 30 min, 60 min, ...) Snapshot da célula: milhares de genes em paralelo

Interpretando Microarrays Acompanhar duas amostras diferentes sob a mesma condição (ou o inverso) Cada gráfico é a expressão do gene ao longo do tempo

Microarray Data dados (normalizados) em matrizes de intensidade I I(i,j) = nível do gene i no experimento j I(i,*) = padrão de expressão do gene i (linha) Time: Time X Time Y Time Z Gene 1 10 8 Gene 2 9 Gene 3 4 8.6 3 Gene 4 7 Gene 5 1 2

Aplicações de Clustering Atribuir função a um gene (onde a similaridade entre seqüências foi fraca) Revelar grupos de genes co-regulados, participando de um mesmo processo biológico (signal transduction, gene regulatory pathway, ...) Outras aplicações em bioinfo: clustering de estruturas de proteínas, famílias, motiffs, )

Clustering de Dados Microarray Clusters Expressão: ponto no espaço N-dimensional Forme a matriz de distancia ou similaridade entre cada gene

Medidas de Distância Manhattan ou city-block (para binários: hamming) Chebyshev Euclidiana

Medidas de Similaridade Produto interno (vetores normalizados) Coeficiente de correlação

Métodos de Clustering Existem várias técnicas de clustering, que vem sendo aplicadas aos dados de microarray: Hierárquico (divisivo e aglomerativo) Partição Grafos Cobertura (fuzzy, probabilísticos) Self-organized maps (SOM)

Clustering Hierárquico Organiza os elementos em uma árvore binária com escala de similaridade (dendograma), onde: Nodo folha: um cluster singleton Nodo não-folha: um agrupamento associado a um nível de similaridade Divisivos e aglomerativos

Clustering Hierárquico - Exemplo

Hierárquico Aglomerativo Esquema Nex = número de elementos a agrupar Nc = número de clusters

Hierárquico Aglomerativo Como encontrar o par de clusters mais próximos:

Hierárquico Aglomerativo - Algoritmo d – matriz de distâncias n – número de elementos Hierarchical Clustering (d , n) Forme n clusters cada um com 1 elemento Construa um grafo T atribuido um vértice a cada cluster while existe mais de um cluster Encontre o par de clusters C1 e C2 mais próximos Merge C1 e C2 em um novo cluster C com |C1| +|C2| elementos Calcule a distância de C para todos os outros clusters Adicione um novo vértice C aT e conecte os vertices C1 e C2 Remova linhas e colunas de d correspondentes a C1 e C2 Adicione uma linha e coluna em d para o novo cluster C retorne T

Hierárquico Aglomerativo - Exemplo Executar o clustering hierárquico aglomerativo para os genes 1..5 Dist. entre clusters: média Entrada: matriz D, int n Matriz I (expressão) 60 min 120 min 180 min g1 10 8 g2 9 g3 4 8,5 3 g4 9,5 0,5 g5 4,5 2,5 Matriz D g1 g2 g3 g4 g5 8,06 9,23 7,66 9,31 12,01 0,86 12,03 11,15 0,7 11,18

Hierárquico Aglomerativo - Exemplo Passo 0) g1 g2 g3 g4 g5 Passo 1) Dmed(g1,g3,5) = (9,23+9,31)/2 = 9,27 g1 g3,5 g1 g2 g4 g3,5 8,06 7,66 9,27 0,86 12,02 11,16 g3 g2 g4 g5

Hierárquico Aglomerativo - Exemplo Passo 2) g1 g2 g3 g4 g5 g3,5 g2,4 g1 g2,4 g3,5 7,86 9,27 11,59 Passo 3) g1,2,4 g3 g2 g5 g4 g1 g3,5 g2,4 g1,2,4 g3,5 10,81

Hierárquico Aglomerativo - Exemplo Passo 4) g1..5 g1.. 5 g1..5 g1,2,4 g3 g2 g5 g4 g1 g3,5 g2,4 g3 g5 g2 g4 g1 0.7 0.86 7.81 10.81

Clustering Hierárquico - Divisivo Esquema (top-down) Nex = número de elementos a agrupar Nc = número de clusters

Clustering Hierárquico - Divisivo 2 decisões: como redistribuir os elementos e como escolher o próximo cluster para particionar (pior) Como escolher o pior cluster: Maior número de exemplos Maior variância Maior erro quadrático médio Como redistribuir: Elemento mais próximo do centro de gravidade Distância média em relação aos elementos do cluster

Hierárquico Divisivo - Algoritmo

Hierárquico Divisivo - Algoritmo

Hierárquico Divisivo - Algoritmo

Clustering Partição - Definição Objetivo: encontrar, dentre todas as partições possíveis, a melhor partição dos dados em um número pré-definido de grupos. Envolve 3 passos: Definir uma medida de dis(similaridade) entre os exemplos; Definir uma função objetivo do clustering; Definir um algoritmo para minimizar a função objetivo.

Clustering Partição – Notação

Clustering Partição – Função Objetivo A função amplamente utilizada é a soma das distâncias quadráticas Este critério mede o quanto o conjunto de dados X é bem representado pelos centros dos clusters

Clustering Partição – Otimização Iterativa Uma vez definido o critério de clustering, devemos encontrar uma partição dos dados que minimize esse critério; Busca por todas as possibilidades (enumeração) não é tratável Por exemplo, para 5 clusters com 100 exemplos, temos 1067 particionamentos ( kNex diferentes partições) A abordagem utilizada é proceder de modo iterativo: Definir uma partição inicial aleatória Mover elementos de um cluster para o outro, buscando minimizar a função objetivo Estas abordagens iterativas produzem soluções não ótimas, mas são computacionalmente tratáveis Clustering hierárquico também é implicitamente otimização

Clustering – Algoritmo das Transferências

Clustering – Algoritmo k-means

Clustering – Algoritmo Centros Móveis

Clustering Partição – Considerações A atualização dos centróides no k-means ocorre na etapa de afetação, ao contrário do centros móveis. No centro móveis: Com distancia city-block o representante deve ser o vetor mediana (formado pela mediana de cada componente)

Clustering com Grafos Grafo completo Kn – grafo não-orientado com n vértices sendo que qualquer vértice está conectado a todos os outros Grafo clique – grafo no qual todas as componentes são grafos completos. Introdução: Nessa técnica desejamos encontrar estruturas fortemente conectadas nos grafos.

Clustering com Grafos Um grafo pode ser transformado em um grafo clique adicionando-se ou removendo-se arestas. Exemplo: remoção de duas arestas para tornar o grafo abaixo em um grafo clique Introdução: Nessa técnica desejamos encontrar estruturas fortemente conectadas nos grafos.

Grafo de distância Vértices são os genes Existe uma aresta entre o gene i e i com peso d(i,j) sse d(i,j) <  (threshold) Um corte C em G é um subcojunto de suas arestas que se removidas disconectam G. Um corte de peso mínimo é um corte em G com o peso mínimo (equivale ao número de arestas quando todas tem o mesmo peso). Pode ser construído a partir da similaridade s(i,j) > 

Grafo de distância em Grafo Clique Depois de transformar o grafo de distancia em um grafo clique, temos 3 clusters nos dados.

Clique corrompido Uma solução de clustering corresponde a um grafo de similaridade que também é um grafo clique (k clusters  k cliques) Grafos Cliques corrompidos Erros em dados de expressão Inexistência de um parâmetro  universalmente bom (cria ou remove arestas para genes não relacionados/relacionados) Problema do clique corrompido Determinar o menor número de arestas a serem adicionadas ou removidas para transformar o grafo em um grafo clique

Clique Corrompido Aleatório Grafo contaminado Contaminção aleatória: inserir ou remover com p < 0,5 para Clustering com 4 grupos

PCC (Parallel Classification with Cores) Clustering Agrupar um subconjunto S pequeno de vértices Extender o clustering utilizando o critério de afinidade maximal N(i,Cj) – número de arestas entre o gene i e os genes do cluster Cj Afinidade maximal – maximizar É demonstrado que se o clustering de S está correto então com alta probabilidade V \ S também está corretamente agrupado

PCC Clustering - Algoritmo

PCC Clustering - Esquema

Cast Clustering Na prática, usa-se uma heurística chamada CAST, pois o PCC é muito lento. Distância entre um gene s e cluster Cj: Gene i está próximo do cluster Cj quando d(i, µj) <  e distante caso contrário. Uma partição é formada construindo-se um cluster por vez (permite-se a saída e entrada de elementos no cluster). Boa performance em dados simulados e em dados reais biológicos.

Cast Clustering - Algoritmo CAST(S, G, θ) P  Ø while S ≠ Ø V  vértice de grau máximo no grafo de distância G C  {v} while existir um gene i próximo a C ou distante em C Encontre o gene mais próximo i ∉ C e o adicione a C Remova o gene mais distante i em C Adicione o cluster C a partição P S  S \ C Remova os vértices do cluster C de G return P

HCS e Click Clustering Entrada: grafo de similaridade Compartilham o esquema básico abaixo: Form-Kernels(G): If V(G) = then mover v para o conjunto de singletons Else if then output V(G) Else Form-Kernels(H); Form-Kernels(H’); Busca por kernels (diferem entre os dois algoritmos)

HCS Clustering Grafo de entrada modificado: grafo sem pesos arestas somente entre genes que excederam o treshold de similaridade Kernel H: é um HCS (highly connected subgraph). Retirando-se arestas continua conectado Funcionamento: Em cada iteração determina-se o corte de peso mínimo no grafo, e o separa em dois subgrafos. Se o subgrafo é um fortemente conectado ele pára (encontrou um cluster), senão continua processando recursivamente o subgrafo. Busca por kernels (diferem entre os dois algoritmos)

HCS Clustering - Exemplo Busca por kernels (diferem entre os dois algoritmos)

HCS - Heurísticas Singletons são “adotados” por clusters ou continuam no grupo de singleton, dependendo da afinidade. Vértices de grau baixo são retirados do grafo: reduz significamente o tempo de execução. Genes pouco relacionados são pouco informativos para o clustering. Merge de clusters caso sejam similares o bastante HCS Iterativo: o algoritmo é executado com vários valores inteiros de threshold para eliminação de vértices. Busca por kernels (diferem entre os dois algoritmos)

Click Clustering Suposições: similaridade entre mates e nonmates seguem uma normal Parâmetros estimados dos dados: algoritmo EM Grafo com peso: wij é a probabilidade de i e j serem do mesmo cluster Arestas abaixo de um determinado threshold são omitidas Noção de kernel: se o corte de peso mínimo nele for positivo (probabilidade que contenha arestas somente entre mates excede a que contém somente não mates) Busca por kernels (diferem entre os dois algoritmos)

Algoritmo Click Vários parâmetros a decidir, depende muito dos dados. Vértices de grau baixo são removidos (heurística).

Click - Esquema

Avaliação do Clustering Solução Conhecida n11 – pertencem ao mesmo cluster de fato e na solução n01, n10 - discordâncias n00 – não pertencem ao mesmo cluster de fato e na solução Matching,jaccad: Coeficientes quanto mais próximos de 1 melhor Minkowsky : Coeficientes quanto mais próximos de 0 melhor

Avaliação do Clustering (2) Solução Não-Conhecida Quanto maior a homegeneidade melhor Quanto menor a separação melhor. Separação é entre clusters.

Saídas do Clustering

Métodos de Clustering - Cobertura Obter grupos que podem compartilhar elementos Abordagens Fuzzy, Probabilística

Artigos publicados Bioinformatics Journal: 337 hits Incremental generation of summarized clustering hierarchy for protein family analysis Nov 2004; 20: 2586 - 2596. Iterative cluster analysis of protein interaction data September 16, 2004 HMMGEP: clustering gene expression data using hidden Markov models Jul 2004; 20: 1799 – 1800 Incremental generation of summarized clustering hierarchy for protein family analysis Nov 2004; 20: 2586 – 2596 CLICK and EXPANDER: a system for clustering and visualizing gene expression data Sep 2003; 19: 1787 - 1799

Artigos publicados (2) Journal of Computational Biology Genome Biology CUBIC: identification of regulatory binding sites through data clustering.Olman V, Xu D, Xu Y. 2003 Apr;1(1):21-40 Genome Biology Consensus clustering and functional interpretation of gene-expression data 2004, 5(11):R94 Detection of evolutionarily stable fragments of cellular pathways by hierarchical clustering of phyletic patterns 2004, 5(5):R32 Exploring the conditional coregulation of yeast gene expression through fuzzy k-means clustering 2002, 3(11)

Artigos publicados (3) Nucleic Acids Research MSCAN: identification of functional clusters of transcription factor binding sites Jul,2004 Transcription factor binding element detection using functional clustering of mutant expression data, Apr 2004; 32: 2362 - 2371. PHYTOPROT: a database of clusters of plant proteins, Jan 2004; 32: 351 – 353. Interaction of DNA with clusters of amino acids in proteins, Aug 2004; 32: 4109 – 4118. Visualization and interpretation of protein networks in Mycobacterium tuberculosis based on hierarchical clustering of genome-wide functional linkage maps, Dec 2003; 31: 7099 - 7109

Referências Clustering and Trees. An Introduction to Bioinformatics Algorithms. Jones,NC & Pevzner,P.A. Chapter 10. MIT Press. Algorithmic Approaches to Clustering Gene Expression Data. Shamir,Ron & Sharan,Roded. Current Topics in Computational Biology, Chapter 11. Inferring Cellular Networks Using Probabilistic Graphical Models. Friedman,Nir. Science, Feb.6,303:2004. Métodos de Partição: Numéricos e Simbólicos. Souza,R, Carvalho,F.A.T. Notas de aula. Aprendizagem de Dados Simbólicos e Numéricos. Carvalho,F.A.T. Notas de Aula Clustering Gene Expression Data. Shamir,R. Lecture 4 and 6 in Analysis of Gene Expression Data. Lectures notes, May 2002.

Referências (2) Data Mining. Witten,I & Frank,E. 2000,Morgan Kaufmann. How to Solve It: Modern Heuristics. Michalewicz,Z & Fogel,D. 3ed,2000,Springer. Introduction to Pattern Analysis. Osuna-Gutierrez,R.Lectures notes.