UM 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: