Table Of ContentUM ALGORITMO HÍBRIDO PARA EXTRAÇÃO DE CONHECIMENTO EM
BIOINFORMÁTICA
Ricardo Linden
TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS
PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE
FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS
PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA
ELÉTRICA.
Aprovada por:
Prof. Amit Bhaya, Ph.D.
Prof. Alexandre Gonçalves Evsukoff, Dr.
Profa. Ana Lúcia Cetertich Bazzan, Dr. Ing.
Prof. André Carlos Ponce de Leon de Carvalho, Ph.D.
Prof. Nelson Francisco Favilla Ebecken, D. Sc.
RIO DE JANEIRO, RJ – BRASIL
ABRIL DE 2005
LINDEN, RICARDO
Um Algoritmo Híbrido Para Extração
de Conhecimento em Bioinformática
[Rio de Janeiro] 2005
IX, 204p, 29,7 cm (COPPE/UFRJ,
D.Sc., Engenharia Elétrica, 2005)
Tese – Universidade Federal do Rio
de Janeiro, COPPE
1. Bioinformática
2. Classificação
3. Programação Genética
4. Lógica Nebulosa
I. COPPE/UFRJ II. Título (série)
ii
Dedicatória
Gostaria de dedicar esta tese à minha esposa Claudia Wolff, que foi minha companheira em
todos os momentos da elaboração desta tese, tanto os bons e ruins, e sofreu todas as dores
do parto comigo.
Gostaria também de dedicar esta tese a meus pais, que sempre me incentivaram, e que me
impediram de tentar ser jogador de futebol profissional.
Não poderia me esquecer de dedicar esta tese também aos meus amigos da D-11. Paulo,
Fátima, Marcelo, Guilherme, Bianco e Plutarcho foram sempre companheiros nesta longa
jornada.
iii
Agradecimentos
A realização desta tese não seria possível sem a ajuda e compreensão de duas pessoas
muito especiais.
A primeira é o meu amigo e chefe no CEPEL, Victor Navarro Araújo Lemos da Silva, que
sempre ofereceu sua amizade quando mais necessitei durante todo este período,
compreendendo todas as dificuldades impostas por um doutorado e ajudando sempre que
necessário.
A segunda é a reitora da Faculdade Salesiana Maria Auxiliadora, onde leciono, a Irmã
Maria Léa Ramos. A Irmã Léa criou um ambiente agradável e amistoso, onde é ótimo
trabalhar e sempre incentivou a todos os professores, e a mim especialmente, a procurar
crescer como profissionais.
Além disto, gostaria de agradecer ao Dr. Marcos Antônio dos Santos, que gastou seu tempo
explicando conceitos de oncologia e analisando os conjuntos de dados de sua área, dando
maior validade à análise realizada nesta tese.
A todos, meu mais sincero obrigado.
iv
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a
obtenção do grau de Doutor em Ciências (D.Sc)
UM ALGORITMO HÍBRIDO PARA EXTRAÇÃO DE CONHECIMENTO EM
BIOINFORMÁTICA
Ricardo Linden
Abril/2005
Orientador: Amit Bhaya
Programa: Engenharia Elétrica
Nesta tese, lógica nebulosa, algoritmos evolucionários, e um algoritmo iterativo
para agrupamento de dados categóricos foram usados para propor um novo algoritmo para
analisar vários problemas para os quais existem dados insuficientes para a aplicação de
técnicas estatísticas tradicionais. Este algoritmo permite que sejam tratados
simultaneamente dados Booleanos, contínuos e categóricos ou não numéricos.
Este algoritmo foi utilizado em dois tipos de aplicações principais: engenharia
reversa de redes de regulação genética e classificação de dados numéricos e categóricos.
Os problemas de bioinformática analisados consistem em extração de
relacionamentos regulatórios a partir de uma quantidade insuficiente de dados para permitir
uma análise utilizando técnicas convencionais, como estatística. Neste contexto, obtêm-se
resultados que servem como guias de pesquisa, permitindo que se façam menos
experimentos laboratoriais, efetivamente direcionados para a obtenção de reguladores reais.
No caso de problemas de classificação, o algoritmo proposto foi aplicado em alguns
dos problemas mais utilizados como benchmark no meio de classificação e mostrou-se
capaz de obter resultados comparáveis aos melhores métodos existentes, porém com maior
consistência e interpretabilidade para o usuário final.
v
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements
for the degree of Doctor of Science (D.Sc)
A HYBRID ALGORITHM FOR KNOWLEDGE EXTRACTION IN BIOINFORMATICS
Ricardo Linden
April/2005
Advisor: Amit Bhaya
Department: Electrical Engineering
In this work fuzzy logic, evolutionary algorithms and an iterative algorithm to
cluster categorical data are used to develop a new algorithm to analyze several problems for
which there is insufficient data to allow the application of traditional statistical techniques.
This algorithm allows for simultaneous usage of Boolean, numerical and categorical data.
This algorithm was used in two main applications: reverse engineering of regulation
networks and categorical and numerical data clustering.
The bioinformatics problem studied in this thesis is the extraction of regulatory
relationships from a data set, which is too small for the application of conventional
techniques such as statistical analysis. In this scenario, using the proposed approach, it is
possible to obtain results that serve as research guidelines, allowing the realization of
biological lab experiments that are more effectively directed to the finding of the real
regulators.
For classification problems, the proposed algorithm was applied to several problems
that have traditionally been considered as benchmarks in the area. It has consistently
achieved results that are comparable to the best methods, but in a format that is more
comprehensible for the final user.
vi
Índice
CAPÍTULO 1 INTRODUÇÃO.......................................................................................................................1
1.1 OBJETIVOS DESTE TRABALHO....................................................................................................................1
1.2 REVISÃO BIBLIOGRÁFICA..........................................................................................................................2
1.3 CONTRIBUIÇÃO DESTA TESE.....................................................................................................................7
1.4 ORGANIZAÇÃO DESTE TRABALHO.............................................................................................................8
CAPÍTULO 2 CONCEITOS PRELIMINARES.........................................................................................10
2.1 LÓGICA FUZZY........................................................................................................................................10
2.2 ALGORITMOS EVOLUCIONÁRIOS..............................................................................................................23
2.3 REDES DE REGULAÇÃO GENÉTICA...........................................................................................................29
2.4 MICROARRAYS DE DNA.........................................................................................................................33
CAPÍTULO 3 – ALGORITMO BOOLEANO PROPOSTO......................................................................38
3.1 REDES BOOLEANAS.................................................................................................................................39
3.2 MODELANDO REDES DE REGULAÇÃO GENÉTICA COM REDES BOOLEANAS............................................40
3.3 O MODELO PROPOSTO.............................................................................................................................44
3.3.1 Estrutura do Cromossomo...............................................................................................................45
3.3.2 Operadores Genéticos.....................................................................................................................46
3.3.3 Função de Avaliação.......................................................................................................................49
3.3.4 Combinando soluções......................................................................................................................51
3.3.5 Critérios de terminação...................................................................................................................53
3.4 RESULTADOS...........................................................................................................................................54
3.5 CONCLUSÃO............................................................................................................................................68
CAPÍTULO 4 - ALGORITMO CONTÍNUO PROPOSTO.......................................................................69
4.1 INTRODUÇÃO...........................................................................................................................................69
4.2 ESTRUTURA DO CROMOSSOMO................................................................................................................73
4.2.1 Conceitos.........................................................................................................................................73
4.2.2 Implementação................................................................................................................................83
4.3 FUNÇÃO DE AVALIAÇÃO..........................................................................................................................85
4.3.1 Função utilizada..............................................................................................................................85
4.3.2 Avaliações separadas......................................................................................................................89
4.4 OPERADORES GENÉTICOS.......................................................................................................................91
4.4.1 Operador de crossover....................................................................................................................92
4.4.2 Operador de mutação......................................................................................................................95
4.4.3 Implementação dos operadores.......................................................................................................96
4.5 CRITÉRIOS DE PARADA............................................................................................................................98
4.6 DADOS CATEGÓRICOS.............................................................................................................................99
4.7 MODIFICAÇÕES NO CROMOSSOMO.........................................................................................................100
4.8 INICIALIZANDO OS CONJUNTOS DE VALORES CATEGÓRICOS..................................................................100
4.9 ALGORITMOS GENÉTICOS PARALELOS..................................................................................................114
4.9.1 Conceitos.......................................................................................................................................114
4.9.2 Implementação..............................................................................................................................116
4.10 COMPARANDO A REPRESENTAÇÃO PROPOSTA COM OUTRAS PRÉ-EXISTENTES.....................................118
CAPÍTULO 5 - APLICAÇÕES EM BIOINFORMÁTICA......................................................................120
5.1 PRÉ-PROCESSAMENTO DOS DADOS........................................................................................................121
5.2 SEPARANDO CANDIDATOS A REGULADOR.............................................................................................124
5.3 AGRUPAMENTO.....................................................................................................................................125
5.4 INCORPORANDO CONHECIMENTO EXISTENTE........................................................................................131
5.5 RESULTADOS.........................................................................................................................................132
vii
5.5.1 Resposta ao frio da Arabidopsis thaliana......................................................................................135
5.5.2 Sistema nervoso central de ratos...................................................................................................139
5.6 COMENTÁRIOS GERAIS SOBRE A APLICAÇÃO DE ENGENHARIA REVERSA...............................................143
CAPÍTULO 6 - CONCLUSÃO E TRABALHOS FUTUROS..................................................................147
6.1 ALGORITMO PROPOSTO.........................................................................................................................147
6.2 APLICAÇÕES EM BIOINFORMÁTICA.......................................................................................................149
6.3 TRABALHOS FUTUROS...........................................................................................................................151
6.3.1 Seleção de candidatos a reguladores...........................................................................................152
6.3.2 Integração com um laboratório de bioinformática.......................................................................153
BIBLIOGRAFIA..........................................................................................................................................155
APÊNDICE A– APLICAÇÕES EM CLASSIFICAÇÃO.........................................................................166
A.1 INTRODUÇÃO........................................................................................................................................166
A.2 MUDANÇAS NA FUNÇÃO DE AVALIAÇÃO..............................................................................................168
A.3 AVALIAÇÃO DO DESEMPENHO DE UM ALGORITMO DE CLASSIFICAÇÃO.................................................173
A.4 APLICAÇÕES NUMÉRICAS DO ALGORITMO PROPOSTO...........................................................................176
A.4.1 Íris.................................................................................................................................................176
A.4.2 Diabetes........................................................................................................................................180
A.5 APLICAÇÕES DO ALGORITMO PROPOSTO A DADOS CATEGÓRICOS.........................................................187
A.5.1 Análise de crédito..........................................................................................................................187
A.5.2 Câncer no seio..............................................................................................................................194
A.6 COMENTÁRIOS GERAIS SOBRE A APLICAÇÃO DE CLASSIFICAÇÃO.........................................................199
A.7 CONCLUSÃO.........................................................................................................................................201
viii
Tabela de Símbolos
b (t) valor assumido pelo k-ésimo gene regulador do gene i no instante t.
vik
EA Algoritmo Evolucionário
GA Algoritmo Genético
GP Programa Genético
H(Y|X) entropia da variável Y condicional à variável X
H(Y|X=u ) entropia condicional específica da variável Y quando X assume o valor dado
k
por u
k
k número de genes reguladores de um nó
K número de arestas saindo de um nó de uma rede Booleana com número fixo
de reguladores.
MAPE Mean Absolute Percent Error – média dos módulos dos erros percentuais
cometidos
n número de genes presentes nos dados
SVM Support Vector Machine
u valor da i-ésima coluna (variável) de uma tupla t
ti
v n-ésimo gene regulador do gene j, onde n=1,...,k.
jn
w peso associado ao valor u durante a execução do STIRR
u ti
ti
r correlação entre o padrão de expressão dos genes i e j.
ij
t uma tupla de um conjunto de dados.
u um dos n valores distintos assumidos por uma variável em um conjunto de
k
dados
W Limite assintótico mínimo da quantidade de tempo ou dados necessários
para um algoritmo.
ix
Capítulo 1 Introdução
Neste capítulo serão discutidas brevemente as motivações deste trabalho,
apresentando o que já foi feito anteriormente nesta área e as principais melhorias
alcançadas pelo trabalho desenvolvido. Todos os conceitos descritos neste capítulo serão
discutidos de forma mais detalhada nos capítulos a seguir.
1.1 Objetivos deste trabalho
O objetivo inicial deste trabalho foi desenvolver uma ferramenta capaz de analisar
dados escassos, provenientes de fontes de difícil acesso, tanto por questões de ordem
prática quanto financeira. Estas ferramentas se mostravam necessárias para analisar
conjuntos de dados cuja dimensionalidade não permitiria a aplicação de técnicas
tradicionais de análise estatística.
As técnicas tradicionais necessitam de conjuntos volumosos de dados, com
tamanhos “estatisticamente significativos”. Entretanto, existem várias considerações
experimentais que podem impedir a obtenção de tais conjuntos. Um exemplo claro ocorre
na área de análise de dados de microarrays, na qual cada experimento pode custar centenas,
ou mesmo milhares de dólares, o que limita sua reprodutibilidade em laboratórios que não
disponham de recursos financeiros deste porte. Isto não deveria impedir que estes dados
1
Description:descendentes são as sub-expressões que formam uma árvore enraizada no operador. Cada operador tem dois quanto indiretamente (no caso de um grande número de gestações, que normalmente implica em uma maior