29
Agrupamento de sequências biológicas Marcos Castro Grupo de Bioinformática ICT-Unifesp

Agrupamento de sequências biológicas

Embed Size (px)

Citation preview

Page 1: Agrupamento de sequências biológicas

Agrupamento de sequências biológicas

Marcos CastroGrupo de Bioinformática

ICT-Unifesp

Page 2: Agrupamento de sequências biológicas

2

Agrupamento de sequências biológicas• Agrupamento = clustering• Clustering é uma técnica de Data Mining (mineração de dados).• O objetivo é agrupar dados de forma automática conforme um grau

de semelhança.• O critério de semelhança faz parte da definição do problema.

Page 3: Agrupamento de sequências biológicas

3

Agrupamento de sequências biológicas

Page 4: Agrupamento de sequências biológicas

4

Agrupamento de sequências biológicas• Um agrupamento consiste em agrupar dados em clusters onde um

agrupamento em um determinado cluster seja uma coleção de objetos que são semelhantes um ao outro e diferentes de objetos que estão em outros grupos.• Exemplo: agrupar clientes de um banco para selecionar aqueles que

tem o menor risco de dar calote num empréstimo.• Um bom agrupamento assegura que a similaridade inter-cluster seja

baixa e a similaridade intra-cluster seja alta.

Page 5: Agrupamento de sequências biológicas

5

Agrupamento de sequências biológicas• Existem várias medidas de dissimilaridade ou de proximidade entre

cada par de objetos. Exemplos de distâncias:• Distância euclidiana• Distância Manhattan• Distância de Mahalanobis

Page 6: Agrupamento de sequências biológicas

6

K-Means• Apresentado por J.B. MacQueen em 1967.• K-Means é uma heurística de agrupamento não-hierárquico que

busca minimizar a distância dos elementos a um conjunto de K centros.• Métodos não-hierárquicos: dividem os N dados existentes em K

partições.• Métodos hierárquicos: os agrupamentos são representados em uma

estrutura, na forma de árvore, denominada dendograma.

Page 7: Agrupamento de sequências biológicas

7

K-Means• Agrupamento não-hierárquico e hierárquico.

Page 8: Agrupamento de sequências biológicas

8

K-Means• Passos do K-Means:• 1. Escolhe-se K distintos valores para centros dos grupos (esse passo pode ser

feito de forma aleatória ou utilizando algum método/heurística).• 2. Associar cada ponto ao centro mais próximo.• 3. Recalcular o centro de cada grupo.• 4. Repetir os passos 2-3 até nenhum elemento mudar de grupo ou atingir o

máximo de iterações.

Page 9: Agrupamento de sequências biológicas

9

K-Means• Algoritmo:

Page 10: Agrupamento de sequências biológicas

10

K-Means++• K-Means++ é uma tentativa de melhorar a acurácia do K-Means.• O K-Means escolhe os K centros randomicamente, isso é rápido e

simples de fazer, mas pode prejudicar no processo de agrupamento.• O K-Means++ é uma técnica baseada em sementes para inicialização

dos clusters.

Page 11: Agrupamento de sequências biológicas

11

K-Means++• Algoritmo K-Means++:

• O D(x) é a menor distância de um data point para um centro que já foi escolhido.• Referência: kmeans++ The Advantages of Careful Seeding.

Page 12: Agrupamento de sequências biológicas

12

Elbow method• O parâmetro K é a quantidade de clusters, isso é definido pelo

usuário, mas existem métodos que nos ajudam a escolher o melhor K.• Exemplo: Elbow.• O método Elbow calcula o SSE (sum of squared error) para alguns

valores de K (exemplo: 2, 4, 6, etc.).• O SSE é a soma da distância ao quadrado entre cada membro do

cluster e seu centroide. Matematicamente:

Page 13: Agrupamento de sequências biológicas

13

Elbow method• Algoritmo:

Page 14: Agrupamento de sequências biológicas

14

Elbow method• A ideia do elbow é escolher um K no qual o SSE cai abruptamente,

isso é chamado de “elbow effect” no gráfico:

Nesse caso foiescolhido k = 6

Page 15: Agrupamento de sequências biológicas

15

Elbow method• O método elbow é uma heurística, portanto, pode não trabalhar bem

em determinados casos.

Page 16: Agrupamento de sequências biológicas

16

Agrupamento híbrido• O K-Means recomputa os centros baseado em uma média simples.• A proposta aqui é utilizar duas técnicas para calcular a média.• De acordo com o artigo “A Hybrid Clustering Algorithm for Data

Mining”, a acurácia é melhor.• No artigo em questão, é proposto um algoritmo que hora recalcula os

centros usando a média harmônica e hora recalcula utilizando a média aritmética.

Page 17: Agrupamento de sequências biológicas

17

Agrupamento híbrido• Por que um híbrido?• O algoritmo do K-Means é baseado na média. A média é afetada fortemente

por outliers (valores extremos). Por isso é proposto um algoritmo que executa dois métodos para encontrar a média ao invés de um.• A média harmônica converge bem quando tem-se uma inicialização ruim.

Page 18: Agrupamento de sequências biológicas

18

Agrupamento híbrido• Algoritmo de agrupamento híbrido:

Page 19: Agrupamento de sequências biológicas

19

Agrupamento de sequências biológicas• E as sequências biológicas?• Precisamos comparar essas sequências, transformá-las em pontos.• Várias métricas de similaridade:• Needleman-Wunsch (alinhamento ótimo global)• Smith-Waterman (alinhamento ótimo local)• Longest common subsequence (mais longa subsequência comum)• White-Similarity/Dice’s coefficient (ranking de similaridades)• Hamming distance (strings de comprimentos iguais)• Edit distance

Page 20: Agrupamento de sequências biológicas

20

Clustering of Biological Sequences• Projeto open-source que visa agrupar sequências biológicas.• https://github.com/marcoscastro/clustering_bio_sequences

• Implementa:• K-Means• K-Means++• Agrupamento híbrido• Várias métricas de similaridade• Elbow method• ODIN (outlier detection based in-degree of the kNN graph)

• Implementação em C++

Page 21: Agrupamento de sequências biológicas

21

Clustering of Biological Sequences• Podem ser passados vários parâmetros, mas a princípio necessita

somente do número de clusters e de um arquivo com as sequências no formato FASTA.• Testes foram feitos com dataset “splice data”:• https://archive.ics.uci.edu/ml/datasets/Molecular+Biology+(Splice-junction+

Gene+Sequences) • Todos os exemplos retirados do Genbank.• 3 classes (EI, IE, N) e 3190 sequências.

Page 22: Agrupamento de sequências biológicas

22

Clustering of Biological Sequences• Foram feitos vários testes variando vários parâmetros, o dataset

“splice data” foi dividido em datasets menores.• O primeiro teste foi com 600 sequências (mesma quantidade para

cada classe) utilizando K-Means++ híbrido com K = 3 e distância Hamming.

EI IE N

Cluster 1 166 7 27

Cluster 2 14 191 26

Cluster 3 20 2 147

Page 23: Agrupamento de sequências biológicas

23

Clustering of Biological Sequences• O segundo teste foram com 600 sequências (mesma quantidade para

cada classe) utilizando K-Means++ com K = 3 e LCS.

EI IE N

Cluster 1 46 153 56

Cluster 2 38 39 87

Cluster 3 116 8 57

Page 24: Agrupamento de sequências biológicas

24

Clustering of Biological Sequences• O terceiro teste foram com as 3190 sequências (todas as sequências)

utilizando K-Means++ com K = 3 e distância Hamming.

EI IE N

Cluster 1 39 722 124

Cluster 2 656 31 181

Cluster 3 72 16 1349

Page 25: Agrupamento de sequências biológicas

25

Clustering of Biological Sequences• Se não souber o K (número de clusters), o método elbow pode lhe

ajudar. Precisa-se instalar a biblioteca koolplot.

Page 26: Agrupamento de sequências biológicas

26

Clustering of Biological Sequences• ODIN• Outlier detection using in-degree number.• Utiliza kNN graph.• ODIN é um método para detecção de outliers (valores extremos).• Por que detectar outliers?

• Para eliminá-los.• Utilizar qualquer método para o agrupamento.

• Caso o usuário utilize o método de detecção de outliers, a ferramenta gera um grupo só com os outliers e elimina eles do processo de agrupamento.

Page 27: Agrupamento de sequências biológicas

27

Clustering of Biological Sequences• ODIN algorithm

• Referência: http://cs.joensuu.fi/~villeh/35400978.pdf

Page 28: Agrupamento de sequências biológicas

28

Trabalhos futuros• Refinamento do agrupamento.• Algoritmos genéticos (AGs).• ACO (Ant colony optimization)

• Alinhamento de sequências utilizando AGs.