Prévia do material em texto
UNIVERSIDADE FEDERAL DO PARANÁ GUILHERME TABORDA RIBAS TACOS: AVALIAÇÃO DE ÁRVORES FILOGENÉTICAS CURITIBA 2021 GUILHERME TABORDA RIBAS TACOS: AVALIAÇÃO DE ÁRVORES FILOGENÉTICAS Dissertação apresentada como requisito parcial à ob- tenção do grau de Mestre em Bioinformática no Pro- grama de Pós-Graduação em Bioinformática, Setor de Educação Profissional e Tecnológica da Universidade Federal do Paraná. Orientador: Dieval Guizelini Coorientador: Roberto Tadeu Raittz CURITIBA 2021 DADOS INTERNACIONAIS DE CATALOGAÇÃO NA PUBLICAÇÃO (CIP) UNIVERSIDADE FEDERAL DO PARANÁ SISTEMA DE BIBLIOTECAS – BIBLIOTECA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA _______________________________________________________________ R482t Ribas, Guilherme Taborda TACos: avaliação de árvores filogenéticas / Guilherme Taborda Ribas. – dados eletrônicos. – Curitiba, 2021. 1 arquivo (97 f.) : PDF. Requisitos do Sistema: Adobe Acrobat Reader Modo de acesso: World Wide Web Orientador: Dieval Guizelini Coorientador: Roberto Tadeu Raitz Dissertação (mestrado) – Universidade Federal do Paraná, Setor de Educação Profissional e Tecnológica, Programa de Pós-graduação em Bioinformática. 1. Bioinformática. 2. Filogenia. 3. Sequenciamento de nucleotídeos. 4. Análise por conglomerados. 5. Software - Desenvolvimento. I. Guizelini, Dieval. II. Raitz, Roberto Tadeu. III. Universidade Federal do Paraná. Programa de Pós-Graduação em Bioinformática. IV. Título. CDD : 572.860285 ________________________________________________________________ Bibliotecária: Thays Luciana Barbosa de Farias CRB-9/1995 MINISTÉRIO DA EDUCAÇÃO SETOR DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA UNIVERSIDADE FEDERAL DO PARANÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO BIOINFORMÁTICA - 40001016066P4 TERMO DE APROVAÇÃO Os membros da Banca Examinadora designada pelo Colegiado do Programa de Pós-Graduação em BIOINFORMÁTICA da Universidade Federal do Paraná foram convocados para realizar a arguição da Dissertação de Mestrado de GUILHERME TABORDA RIBAS intitulada: "TACos: Avaliação de Árvores Filogenéticas", sob orientação do Prof. Dr. DIEVAL GUIZELINI, que após terem inquirido o aluno e realizada a avaliação do trabalho, são de parecer pela sua APROVAÇÃO no rito de defesa. A outorga do título de mestre está sujeita à homologação pelo colegiado, ao atendimento de todas as indicações e correções solicitadas pela banca e ao pleno atendimento das demandas regimentais do Programa de Pós-Graduação. CURITIBA, 30 de Agosto de 2021. Assinatura Eletrônica 30/08/2021 17:42:30.0 DIEVAL GUIZELINI Presidente da Banca Examinadora Assinatura Eletrônica 30/08/2021 17:38:35.0 RAZER ANTHOM NIZER ROJAS MONTAÑO Avaliador Externo (SETOR DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA - UNIVERSIDADE FEDERAL DO PARANÁ) Assinatura Eletrônica 30/08/2021 17:57:28.0 RICARDO ASSUNÇÃO VIALLE Avaliador Externo (ICAHN SCHOOL OF MEDICINE AT MOUNT SINAI - NEW YORK CITY) Rua Dr. Alcides Vieira Arcoverde, 1225 - CURITIBA - Paraná - Brasil CEP 81520-260 - Tel: (41) 3361-4906 - E-mail: bioinfo@ufpr.br Documento assinado eletronicamente de acordo com o disposto na legislação federal Decreto 8539 de 08 de outubro de 2015. Gerado e autenticado pelo SIGA-UFPR, com a seguinte identificação única: 108938 Para autenticar este documento/assinatura, acesse https://www.prppg.ufpr.br/siga/visitante/autenticacaoassinaturas.jsp e insira o codigo 108938 Este trabalho é dedicado à comunidade de código livre e aberto. AGRADECIMENTOS Agradeço a todas as pessoas a minha volta que me deram suporte, acolhimento e inspiração para que pudesse desenvolver este trabalho. Especialmente à minha esposa e a minha família por todo o apoio. Aos meus orientadores e amigos colaboradores que fizeram parte essencial desta etapa. Agradeço imensamente ao programa de pós-graduação em bioinformática e todo seu corpo docente e discente, à secretaria e aos demais profissionais que sempre atuaram de maneira primordial para me auxiliar e prover a matéria-prima para o desenvolvimento deste trabalho. Agradeço à CAPES pela bolsa de estudos a mim oferecida. RESUMO O estudo das relações entre sequências genéticas auxiliam diversas áreas biológicas. A filogenia pode ajudar a entender histórias e processos evolutivos, como estudo das migrações e dinâmica social. A filogenia pode acelerar a pesquisa sobre doenças virais como o HIV e o SARS-CoV-2, fornecendo insights e soluções para a criação de vacinas, por exemplo. As opções matemáticas para encontrar a melhor relação entre as sequências biológica são diversas e contam com diferentes propostas e abordagens. Essa larga variedade de métodos gera no pesquisador dúvidas quanto a qual método deve ser utilizado, principalmente quando grandes quantidades e extensas sequências são estudadas. Este trabalho propõem inferir os melhores métodos filogenéticos baseados em distância aplicados a sequências de nucleotídeos e a sequências de aminoácidos. Avaliou-se também os melhores métodos para abordagens dependente de alinhamento e livre de alinhamento. Além do processo de análise dos métodos, projetou-se um modelo baseado em machine learning capaz de classificar as árvores filogenéticas de acordo sua distância à árvore teórica ideal. Para isso, gerou-se mais de 5.000 árvores teóricas e mais de 600.000 árvores calculadas por diferentes métodos e métricas de clusterização. Palavras-chaves: Filogenia. Clusterização. Aprendizado de máquina. ABSTRACT The study of relationships between genetic sequences supports several biological areas. Phylogeny can help to understand evolutionary histories and processes, such as the study of migrations and social dynamics. Phylogeny can accelerate research into viral diseases such as HIV and SARS- CoV-2, providing insights and solutions for creating vaccines, for example. The mathematical options to find the best relationship between biological sequences are diverse and have different approaches. This wide variety of methods creates doubts about which method should be used, especially when large quantities and extensive sequences are studied. This work proposes to infer the best distance-based phylogenetic methods applied to nucleotide and amino acid sequences. The best methods for based-alignment and free-alignment approaches were also evaluated. In addition to the method analysis process, a model based on machine learning was designed, it is capable of classifying phylogenetic trees according to their distance from the ideal theoretical tree. For this, more than 5,000 theoretical trees were simulated and more than 600,000 trees were calculated by different clustering methods and metrics. Key-words: Phylogeny. Clustering. Machine learning. LISTA DE ILUSTRAÇÕES FIGURA 1 – ÁRVORE FILOGENÉTICA DE MAMÍFEROS . . . . . . . . . . . . . 18 FIGURA 2 – ÁRVORE ENRAIZADA E NÃO ENRAIZADA ESTÁ À DIREITA . . . 20 FIGURA 3 – ÁRVORE ULTRAMÉTRICA . . . . . . . . . . . . . . . . . . . . . . . 20 FIGURA 4 – REAMOSTRAGEM DO TIPO JACKKNIFE . . . . . . . . . . . . . . . 23 FIGURA 5 – REAMOSTRAGEM DO TIPO BOOTSTRAPPING . . . . . . . . . . . 24 FIGURA 6 – RELAÇÃO ENTRE DISTÂNCIA GENÉTICA E P-DISTANCE . . . . . 28 FIGURA 7 – TAXAS DE MUDANÇAS DE PARES DE NUCLEOTÍDEOS POR UNIDADE DE TEMPO PARA O MODELO JC69 . . . . . . . . . . . . 30 FIGURA 8 – TAXAS DE MUDANÇAS DE PARES DE NUCLEOTÍDEOS POR UNIDADE DE TEMPO PARA O MODELO K80 . . . . . . . . . . . . 31 FIGURA 9 – HIERARQUIA DOS MODELOS EVOLUTIVOS DE DNA . . . . . . . 33 FIGURA 10 – TIPOS DE CLUSTERIZAÇÃO . . . . . . . . . . . . . . . . . . . . . . 34 FIGURA 11 – TIPOS DE CLUSTERIZAÇÕES HIERÁRQUICAS . . . . . . . . . . . 35 FIGURA 12 – AGRUPAMENTO SINGLE LINKAGE . . . . . . . . . . . . . . . . . . 36 FIGURA 13 – AGRUPAMENTO COMPLETE LINKAGE . . . . . . . . . . . . . . . . 36 FIGURA 14 – AGRUPAMENTO GROUP AVERAGE LINKAGE . . . . . . . . . . . . 37 FIGURA 15 – CÁLCULO DE DISTÂNCIA SIMÉTRICA ENTRE AS DUAS ÁRVORES 41 FIGURA 16 – MAPA DE DECISÕES PARA ENCONTRAR O MELHOR TIPO DE MODELO DE MACHINE LERANING. . . . . . . . . . . . . . . . . . 43 FIGURA 17 – PAINEL ESQUEMÁTICO DO EXPERIMENTO . . . . . . . . . . . . 46 FIGURA 18 – PAINEL ESQUEMÁTICO DO EXPERIMENTO DEMONSTRANDO DADOS UTILIZADOS PARA O DESENVOLVIMENTO DO MODELO DE MACHINE LEARNING . . . . . . . . . . . . . . . . . . . . . . . . 50 FIGURA 19 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA NUCLE- OTÍDICA E DEPENDENTE DE ALINHAMENTO . . . . . . . . . . . 55 FIGURA 20 – BOXPLOTS DAS VARIAÇÕES DA DISTÂNCIA À ÁRVORE DE RE- FERÊNCIA NUCLEOTÍDICA E DEPENDENTE DE ALINHAMENTO 56 FIGURA 21 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE AMINOÁCIDOS E DEPENDENTE DE ALINHAMENTO . . . . . . . 58 FIGURA 22 – BOXPLOTS DAS VARIAÇÕES DA DISTÂNCIA À ÁRVORE DE RE- FERÊNCIA DE AMINOÁCIDOS E DEPENDENTE DE ALINHAMENTO 59 FIGURA 23 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA NUCLE- OTÍDICA E INDEPENDENTE DE ALINHAMENTO . . . . . . . . . . 60 FIGURA 24 – DISTÂNCIA MÉDIAS DAS ÁRVORES DE SEQUÊNCIAS NUCLEO- TÍDICAS E INDEPENDENTES DE ALINHAMENTO . . . . . . . . . 61 FIGURA 25 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS NUCLEOTÍDICAS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO . . . . . . 62 FIGURA 26 – HEATMAP DE SIGNIFICÂNCIA DA VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS NUCLEOTÍDICAS PARA MÉTODO INDEPENDEN- TES DE ALINHAMENTO . . . . . . . . . . . . . . . . . . . . . . . . 68 FIGURA 27 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDENTE DE ALINHAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 FIGURA 28 – DISTÂNCIA MÉDIAS DAS ÁRVORES GERADAS POR MÉTODOS E MÉTRICAS DIFERENTES EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO. . . . . . . 70 FIGURA 29 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO. . . . . . . 71 FIGURA 30 – HEATMAP DA SIGNIFICÂNCIA DA VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDEN- TES DE ALINHAMENTO. . . . . . . . . . . . . . . . . . . . . . . . . 72 FIGURA 31 – REPRESENTAÇÃO ESQUEMÁTICA DO PROCESSO DE MODELA- GEM DO MÉTODO RANDOM FOREST. . . . . . . . . . . . . . . . . 73 FIGURA 32 – RESULTADOS DE VALIDAÇÃO DO MODELO RANDOM FOREST. . 73 FIGURA 33 – CURVAS ROC RANDOM FOREST DO MODELO. . . . . . . . . . . . 74 FIGURA 34 – TACOS WEB SITE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 LISTA DE TABELAS TABELA 1 – SIMILARIDADE MEDIDA PARA DADOS BINÁRIOS . . . . . . . . 26 TABELA 2 – CONTAGEM DE RESULTADOS BINÁRIOS PARA DOIS INDIVÍDUOS 26 TABELA 3 – SIMILARIDADE MEDIDA PARA DADOS CONTÍNUIOS . . . . . . 29 TABELA 4 – MATRIZ DE CONFUSÃO . . . . . . . . . . . . . . . . . . . . . . . . 44 TABELA 5 – CARACTERÍSTICAS DA SIMULAÇÃO: QUANTIDADE, TAMANHO E TAXA DE MUTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . 47 TABELA 6 – RESUMO DE PROGRAMAS E PACOTES UTILIZADOS . . . . . . . 53 TABELA 7 – MELHORES MÉTRICAS OBTIDAS COM GRIDSEARCHCV . . . . 64 TABELA 8 – MELHORES HIPERPARÂMETROS OBTIDOS COM GRIDSEARCHCV 64 TABELA 9 – MATRIZ DE CONFUSÃO DE CADA CLASSE DO MODELO RAN- DOM FOREST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 TABELA 10 – MÉTRICAS MÉDIAS PARA VALIDAÇÃO DO MODELO RANDOM FOREST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 TABELA 11 – MÉTRICAS DETALHADAS POR CLASSE PARA VALIDAÇÃO DO MODELO RANDOM FOREST . . . . . . . . . . . . . . . . . . . . . . 66 LISTA DE ABREVIATURAS E DE SIGLAS AB Alignment-Based ACO Ant Colony Optimization AF Alignment-Free AUC Area Under The Curve BLOSUM Blocks Substitution Matrix DNA Ácido Desoxirribonucleico EMBOSS European Molecular Biology Open Software Suite F81 Felsenstein 1981 F84 Felsenstein 1984 GTR Generalised time-reversible model of Tavaré 1986 HIV Vírus da Imunodeficiência HKY85 Hasegawa, Kishino and Yano 1985 JC69 Jukes-Cantor K80 Kimura 2-parâmetros ML Máxima Verossimilhança ML Machine Learning NCBI National Center for Biotechnology Information PAM Point Accepted Mutation PCO Particle Swarm Optimization ROC Receiver Operating Characteristic SWeeP Spaced Words Projection TN93 Tamura and Nei 1993 UPGMA Unweighted Pair Group Method with Arithmetic Mean UPGMC Unweighted Pair Group Method Using the Centroid WPGMA Weighted Pair Group Method with Average Linkage WPGMC Weighted Pair Group Method with Centroid Linkage SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.1 Justificativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . . . 18 2.1 Árvores Filogenéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.1.1 Métodos Baseados em Distância . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.2 Métodos Baseados em Caracteres . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2 Estimativa e teste de hipóteses em filogenia . . . . . . . . . . . . . . . . . . . . 22 2.2.1 Jackknife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.3 Estimativa e teste de hipótese para método livre de alinhamento . . . . . . . . . 23 2.3 Processos independentes de alinhamento . . . . . . . . . . . . . . . . . . . . . 24 2.4 Clusterização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1 Medidas de proximidade entre indivíduos . . . . . . . . . . . . . . . . . . . . . 25 2.4.2 Correção Modelo Evolutivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.3 Tipos de Clusterização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4.4 Métodos aglomerativos: bottom-up . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.5 Métodos divisivos: top-down . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.5 Distância entre árvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.6 Processos evolutivos simulados . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.7 Aprendizado de máquina (Machine learning) . . . . . . . . . . . . . . . . . . . 42 3 MATERIAIS E MÉTODOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1 ETAPA 1: Simulação de árvores, sequências e alinhamentos . . . . . . . . . . . 46 3.2 ETAPA 2: Cálculo das matrizes de dissimilaridade . . . . . . . . . . . . . . . . 47 3.2.1 Cálculo de matrizes dependentes de alinhamentos - EMBOSS . . . . . . . . . . 47 3.2.2 Cálculo de matrizes independentes de alinhamentos - SWeeP . . . . . . . . . . 48 3.3 ETAPA 3: Clusterização das matrizes de dissimilaridade . . . . . . . . . . . . . 48 3.4 ETAPA 4: Cálculo de distância entre as árvores . . . . . . . . . . . . . . . . . . 49 3.5 ETAPAS 5,6 e 7: Construção do modelo de classificação de árvores filogenéticas 49 3.5.1 Definição das variáveis de entrada (features) . . . . . . . . . . . . . . . . . . . 50 3.5.2 Definição do modelo de aprendizado de máquina . . . . . . . . . . . . . . . . . 51 3.6 Delimitação do experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.7 Limitações do experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.8 Lista de pacotes e programas utilizados . . . . . . . . . . . . . . . . . . . . . . 52 4 RESULTADOS E DISCUSSÃO . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1 Resultados dependentes de alinhamento . . . . . . . . . . . . . . . . . . . . . . 54 4.1.1 Sequências de nucleotídeos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.1.2 Sequências de aminoácidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 14 4.2 Resultados independentesde alinhamento . . . . . . . . . . . . . . . . . . . . . 57 4.2.1 Sequências de nucleotídeos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.2 Sequências de aminoácidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3 Treino e validação do modelo classificador de árvores filogenéticas . . . . . . . 64 4.4 TACos: Pacote python e aplicação web . . . . . . . . . . . . . . . . . . . . . . 66 5 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 APÊNDICE 1 - Scripts para o desenvolvimento do experimento . . . . . . . 85 1.1 Obtenção dos dados de referência - árvores, sequências e alinhamentos . . . . . 86 1.2 Scripts para cálculo das matrizes de distância por método dependentes de alinhamento (AB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 1.3 Scripts para cálculo das matrizes de distância por método livre de alinhamento (AF) 89 1.4 Scripts para cálculo das árvores a partir das matrizes de distância e cálculo das distâncias entre as árvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 15 1 INTRODUÇÃO O estudo das relações evolutivas entre os seres vivos a partir de dados moleculares auxilia os cientistas a responderem diversas perguntas biológicas, entre elas respostas essenciais para a cura e tratamentos de doenças. Nas áreas de desenvolvimento de vacinas, a filogenia pode auxiliar no entendimento da proliferação de doenças, mutações genéticas de parasitas, interações proteicas e redes genéticas. (MAHAPATRO et al., 2012). A exemplo do Vírus da Imunodeficiência (HIV), a filogenia auxiliou a elucidar e a criar abordagens de tratamento a respeito desse vírus. Por exemplo, como a taxa de recombinação e substituição genética do HIV impacta nos tratamentos antivirais, como diferentes cepas do HIV evoluem dentro do indivíduo infectado, ou ainda, como a rota de transmissão pode influenciar no resultado da infecção (CASTRO-NALLAR et al., 2012). Recentemente a filogenia teve papel crucial nos estudos da SARS-CoV-2 com o entendimento da evolução do vírus e como algumas mutações surgiram e onde surgiram (LI et al., 2020), reforçando a importância do trabalho de monitoramento da variação e evolução do SARS-CoV-2 para o tratamento e controle da COVID-19 e de futuras pandemias. Outros estudos que envolvem filogenia, como a filogeografia também são essenciais para o entendimento da atual pandemia. É possível rastrear mutações virais e entender como o vírus se espalha e relacionar sua dispersão com dados de rotas viagens feitas entre países (LEMEY et al., 2020), podendo ajudar em estabelecer estratégias de mitigação de infecção com o fechamento de fronteiras, por exemplo. Outros temas importantes da biologia também encontram na filogenia uma base para a investigação, como na ecologia com estudos de migrações, dinâmica social, mudanças ambientais promovidas por espécies exóticas, assim como e processos de extinção de espécies (LEWITUS; MORLON, 2015). A proposição de árvores filogenéticas baseada em dados moleculares atravessa diversas etapas até ser inferida. Tem início no wet-lab com o sequenciamento de ou aminoácidos (VERLI, 2014) e passa por diversas etapas até ser graficamente representada. Dependendo da abordagem, as sequências são alinhadas para gerar uma matriz de valores que representem a similaridade entre os indivíduos. Ou ainda, a similaridade pode ser obtida sem a necessidade de alinhamentos com o uso de ferramentas livres de alinhamento. Com as distâncias entre as sequências, os indivíduos são hierarquicamente ordenados em árvores ou dendrogramas. Alguns processos de clusterização são comumente utilizados na obtenção dos dendro- gramas baseados em distância como UPGMA e Neighbor joining (LEMEY et al., 2009). Já para modelos probabilísticos, alguns outros métodos são aplicados como: método Bayesiano, máxima parsimônia e máxima verossimilhança (FELSENSTEIN, 1983). Como alternativa a 16 essas abordagens citadas, existem outros métodos estruturados em inteligência artificial como: Ant Colony Optimization (ACO) e Particle Swarm Optimization (PCO) (RIZZO; ROUCHKA, 2007), evidenciando a pluralidade dos métodos envolvidos ao tema. Outro importante processo envolvido é a determinação da confiança estatística das árvores obtidas. A validade estatística da árvore é, geralmente, analisada com o método bootstrapping, um esforço estatístico para avaliar uma árvore gerada quando não se conhece a distribuição da variável analisada (FELSENSTEIN, 1985). Dentre tantos processos distintos envolvidos na determinação das relações hierárquicas dos seres vivos, um mesmo conjunto de indivíduos pode gerar diferentes relações dependendo da abordagem adotada, em especial quando espécies distantes estão envolvidas (PUIGBÒ et al., 2019). Com isso surge o questionamento de qual é o melhor método a ser utilizado para determinado conjunto de dados. Dependendo das características do conjunto, quais são as diferenças entre resultados obtidos por diferentes técnicas? Limitando-se a abordagens de inferência filogenéticas baseados em distância, este projeto investiga como métodos e métricas de clusterização hierárquica respondem aos experimentos baseados em alinhamento e aos livres de alinhamento. O projeto também investiga como esses métodos e métricas respondem a diferentes tipos de conjuntos de sequências. Ou seja, conjunto de dados com diferentes quantidades de sequências, diferentes tamanhos de sequências, diferentes taxas de mutação e diferentes tipos de informação - sequências de nucleotídeos e aminoácidos. O projeto também investiga a possibilidade de se classificar uma árvore filogenética de acordo com sua proximidade da árvore teórica, ou árvore ideal. O método de classificação proposto é baseado em aprendizado de máquina e pode ser um complemento às técnicas de bootstraping e jackknife utilizadas para inferir a confiança dos ramos das árvores. Para controlar as variáveis durante o experimento, fez-se necessário trabalhar com sequências teóricas, que mesmo simuladas in silico geram percepções e direcionamentos para aplicação em problemas reais. Conhecer a acurácia dos métodos e como eles podem ser melhor aproveitados pode gerar rapidez e assertividade na resolução de importantes questões que dependem da filogenia para serem corretamente respondidas. Dada a importância da filogenia nas diversas áreas de investigação da ciência biológica, é imprescindível entender amplamente os métodos de inferência de árvores filogenéticas e, assim, propor o melhor método que possa inferir a melhor topologia dentre todo o conjunto de árvores possíveis de serem inferidas. Dessa maneira, também se faz importante a criação de novas ferramentas capazes de classificar a árvore de acordo com a sua capacidade de reproduzir as relações evolutivas reais. 17 1.1 JUSTIFICATIVAS 1. Com a diversidade de métodos e métricas existentes para inferir uma árvore filogenética, faz-se necessário definir a melhor opção para diferentes tipos de alinhamentos de entrada e diferentes metodologias de obtenção de árvores (dependente de alinhamento e livre de alinhamento). 2. Considerando as relações entre a árvore e a matriz de distância, pode-se usar o apren- dizado de máquina para classificar a dissimilaridade da árvore a sua árvore teórica. Complementando as avaliações de reamostragem. 1.2 OBJETIVOS GERAIS 1. Avaliar métodos clássicos de clusterização hierárquica na obtenção de árvores filogenéticas em abordagens dependentes de alinhamentos e baseadas em distância. 2. Desenvolver um modelo baseado em aprendizado de máquina para classificar árvores de acordo com suas características e suas relações com a matriz de distância. 1.3 OBJETIVOS ESPECÍFICOS 1. Investigar métodos e métricas de clusterização hierárquica. 2. Investigar métodos de comparação de árvores. 3. Avaliar como mudanças no tamanho das sequências, na quantidade das sequências e na taxa de mutaçãoalteram a árvore resultante. 4. Selecionar características que definem uma árvore (grafo). 5. Encontrar relações entre a árvore e a matriz de distância. 6. Criar um modelo baseado em aprendizado de máquina para classificar uma árvore de acordo com suas características. 7. Disponibilizar pacote em Python para facilitar investigações que precise comparar árvores e classificá-las. 8. Criar uma aplicação amigável em web para o mesmo do item 7. 18 2 FUNDAMENTAÇÃO TEÓRICA 2.1 ÁRVORES FILOGENÉTICAS A inferência da história evolutiva de um determinado grupo de espécies é conhecida como filogenia (FREEMAN; HERRON, 2009) e a relação entre os diferentes indivíduos é graficamente expressa em uma árvore filogenética, também chamada de árvore evolutiva. O dendrograma da FIGURA 1 representa de forma hierárquica as semelhanças, ou distâncias, entre os indivíduos analisados. Os indivíduos mais próximos são agrupados de acordo com as semelhanças entre as suas sequências genéticas escolhidas para a análise. As árvores possuem um padrão gráfico em que as espécies são representadas como uma folha, e a relação entre as espécies é representado com uma aresta ou ramo (RIZZO; ROUCHKA, 2007). FIGURA 1 – ÁRVORE FILOGENÉTICA DE MAMÍFEROS FONTE: FREEMAN; HERRON(2009) Originalmente, o propósito principal de se construir uma árvore filogenética era representar essa relação entre as espécies, porém, atualmente a aplicação desta técnica é usada também para explicar funções de genes ainda não estudadas experimentalmente, explicar mecanismos que levam a surtos microbianos auxiliando no entendimento da proliferação de doenças (HALL, 2013). Também auxilia no desenvolvimento de vacinas e medicamentos, permitindo prever mutações genéticas de parasitas, interações proteicas e redes genéticas (MAHAPATRO et al., 2012). Existem diversas etapas para a determinação de uma árvore filogenética, e em cada etapa várias decisões devem ser tomadas e podem mudar totalmente o resultado final. Entre essas escolhas estão os métodos de construção mais adequados ao problema. Ou seja, qual método terá como resultado uma árvore que possua um sentido biológico e que melhor represente o agrupamento das sequências estudadas e, ao mesmo tempo, seja viável de ser calculada 19 computacionalmente. Pode-se dividir estes métodos de obtenção de árvores filogenéticas em duas principais abordagens: a baseada em distância e a baseada em caracteres (RIZZO; ROUCHKA, 2007), também classificadas como abordagens quantitativas e qualitativas, respectivamente (VERLI, 2014). Também pode-se classificar os métodos em dependentes de alinhamento e independentes de alinhamento (alignment-free) (VINGA; ALMEIDA, 2003). Independe da aplicação, a inferência filogenética começa pela coleta de sequências moleculares, sejam sequências de aminoácidos ou nucleotídeos, tomando-se o cuidado de avaliar a coerência das sequências, como a quantidade de caracteres ambíguos e os tamanhos médios das sequências, para que o agrupamento não seja afetado. Após isso, alinham-se as sequências e gera-se uma primeira árvore para se ter uma primeira impressão das relações entre os indivíduos. Caso o alinhamento possua muitos indels consecutivos, ou seja, uma coluna extensa de gaps, avalia-se a possibilidade de se deletar partes das sequências para reduzir estes gaps e evitar um viés durante a construção das árvores. Após isso, constrói-se novas árvores para reavaliar a alteração no alinhamento, para então, com métodos mais robustos como Máxima Verossimilhança (ML) ou bayesiano, gerar a árvore final (JILL HARRISON; LANGDALE, 2006). Deve-se ainda definir o modelo evolutivo das substituições de pares de bases em cada sítio do alinhamento, uma vez que todos os métodos de inferência filogenética dependem do modelo escolhido (POSADA; CRANDALL, 1998). Para métodos independentes de alinhamento, a etapa de avaliação de alinhamento não é executada, aplicando-se diretamente o método livre de alinhamento às sequências, sequências essas também avaliadas quanto a coerência e aos seus tamanhos, podendo-se, dependendo do método, inferir modelos evolutivos de substituição (DE PIERRI et al., 2020). As árvores geradas são, geralmente, não enraizadas (unrooted), os métodos de inferência de árvores como máxima verossimilhança, neighbor joining, parcimônia e bayesiano são incapazes de determinar a raíz de uma árvore (HALL, 2013). Caso seja do interesse do pesquisador avaliar a direção evolutiva, deve-se enraizar a árvore (rooted) escolhendo o outgroup como a raíz da árvore ou calculando o ponto médio entre as duas folhas mais dissimilares (LEMEY et al., 2009). Ambos os tipos de árvores são exemplificadas na FIGURA 2. Para árvores filogenéticas enraizadas, qualquer distância medida (ou valor de dissimi- laridade) entre três membros deve ser preferencialmente ultramétrica. Essa condição garante que uma única topologia seja possível (EWENS; GRANT, 2006), e que, o tempo decorrido da mutação, conhecido como molecular clock, seja considerado. Para o mesmo autor, caso as distâncias originais não sejam ultramétricas, espera-se uma inferência incorreta da árvore em relação aos tamanhos dos ramos e às distâncias de similaridade (HAUBOLD; WIEHE, 2006). A distância ultramétrica obedece ao critério de três pontos. O qual afirma que, para quaisquer três táxons A, B, C, há dois pares equidistantes de táxons, sendo a distância entre o terceiro menor ou igual aos outros dois (HAUBOLD; WIEHE, 2006). Ou seja, para a topologia representada na 20 FIGURA 2 – ÁRVORE ENRAIZADA E NÃO ENRAIZADA ESTÁ À DIREITA FONTE: RIZZO; ROUCHKA(2007) NOTA: Árvore não enraizada está à esquerda e a enraizada está à direita. Note que o método de enraizamento desta árvore foi pelo cálculo do ponto médio entre os ramos distantes. Transformando a aresta central (AB-CD) em duas arestas denominadas e e f. FIGURA 3, tem-se a condição posta pela EQUAÇÃO 2.1. 3�� = 3�� ≥ 3�� (2.1) FIGURA 3 – ÁRVORE ULTRAMÉTRICA FONTE: HAUBOLD; WIEHE(2006) NOTA: Os ramos definidos pelas folhas AB e AC são equidistantes. E o ramo definido por BC é menor que os outros dois. 2.1.1 Métodos Baseados em Distância A primeira abordagem envolve algoritmos de clusterização aplicados às matrizes de distâncias entre as sequências analisadas. Estas matrizes são previamente calculadas o podem ser obtidas por diversos métodos, como distância euclidiana, cosseno, cityblock, sokalsneath entre outras métricas melhor descritas na TABELA 1 e TABELA 3. Uma vez calculadas as 21 matrizes, calcula-se os dendrogramas com métodos de clusterização hierárquica. Como exemplo pode-se citar o método UPGMA, ou simplesmente average linkage method muito utilizado entre os algoritmos de clusterização (HAUBOLD; WIEHE, 2006) assim como os métodos neighbor-joinning, distance wagner method e miminum evolution method, esses dois últimos menos utilizados. Os métodos filogenéticos baseados em distância compõem a maior família de métodos filogenéticos (FELSENSTEIN, 2004) e, atualmente, tiveram acrescida popularidade com a era do big data, em que se busca inferir árvores com centenas ou milhares de folhas (XIA, 2018) com algoritmos de baixa complexidade. Ainda segundo Felsenstein, os métodos de distância são fáceis de programar, são rápidos e consistentes quando as matrizes são corrigidas para modelos evolutivos, ou seja, que representem a quantidade de mutações por unidade de tempo do conjunto de sequências. Porém, há um grande problema quando se tem altas taxas de mutações distribuídas em diferentes posições ao longo das sequências alinhadas. Essa diferença de mutação entre posições do alinhamento é impossível de ser considerada pelo método de distância. Em contraponto, o método da verossimilhança (likelihood) pode usar a informação das mudanças de uma parte da árvore para corrigir as outras partes da árvore (FELSENSTEIN, 2004). 2.1.2 Métodos Baseados em Caracteres Contrastando com a inferência baseada em distância, os principais métodos baseados em caracteres utilizam o alinhamento originalpara a resolução das árvores. Ao invés de calcular distâncias par a par, otimiza-se a árvore resultante de acordo com a distribuição dos dados alinhados em relação a cada caractere específico (STRICKLER, 2014). Ou seja, para cada posição do alinhamento compara-se simultaneamente todas as sequências do alinhamento gerando-se novas árvores a cada comparação, sendo que a cada comparação os métodos geram uma pontuação da árvore (tree score) (YANG; RANNALA, 2012). Fazem parte dos grupos baseados em caracteres os métodos da máxima parcimônia, máxima verossimilhança e de inferência bayesiana. Cada método gera, respectivamente, os scores pela mínima quantidade de mudanças, valor de log-likelihood e probabilidade a posteriori. O método da máxima parcimônia segue a ideia da mínima quantidade de eventos evolutivos (CAVALLI-SFORZA; EDWARDS, 1963), ou seja, é sempre preferível a hipótese mais simples à mais complicada (HILLIS et al., 1996). Esta hipótese se justifica com as primeiras aplicações do método, que foi desenvolvido para inferência evolutiva a partir de características morfológicas. O cálculo de pontuação, portanto, é a soma das mudanças de estado necessárias para se construir a árvore, e a árvore com menor score, é a árvore escolhida (FELSENSTEIN, 2004). Caso queira-se construir uma árvore filogenética considerando a probabilidade de se encontrar uma mutação ao longo de um ramo da árvore filogenética, pode-se usar o método da máxima verossimilhança. A ideia principal deste método é determinar a topologia, tamanhos dos 22 ramos e parâmetros de modelos evolutivos, ou seja, os parâmetros da função de verossimilhança, que maximizem a probabilidade de se conseguir reproduzir o alinhamento das sequências (LEMEY et al., 2009). Semelhante ao método da máxima verossimilhança, o método bayesiano é também aplicado para inferência filogenética. O que o difere da ML é o uso da distribuição a priori da árvore a ser inferida. Isso permite interpretar os resultados como uma nova distribuição de dados de entrada (FELSENSTEIN, 2004). Ou seja, a cada nova análise tem-se um novo conjunto de dados - uma distribuição a posteriori. 2.2 ESTIMATIVA E TESTE DE HIPÓTESES EM FILOGENIA Quando uma variável não possui uma distribuição conhecida de probabilidade, recorre- se a métodos chamados computação intensiva para estimar um intervalo de confiança, inferindo novas amostragens a partir a amostra original (FELSENSTEIN, 1985). Porém, como enfatiza Ewens, há um erro terminológico ao utilizar intervalo de confiança para árvore filogenéticas, pois o termo intervalo de confiança é definido para um intervalo de números reais (EWENS; GRANT, 2006). Enquanto em agrupamentos monofiléticos (agrupamento de membros de uma mesma espécie), por exemplo, a medida de confiança busca determinar se o grupo é real ou não, e não um intervalo propriamente dito. Os principais métodos estatísticos adaptados e utilizados em filogenia são o jackknife e o bootstrapping. 2.2.1 Jackknife A reamostragem proposta por este método consiste em dividir as sequências ao meio e gerar novos agrupamentos. Ou seja, a cada reamostragem retira-se, aleatoriamente, metade dos nucleotídeos ou aminoácidos, e infere-se a árvore para as sequências adulteradas. Por essa razão, muitas vezes o método é também chamado de delete-half jackknifing (LEMEY et al., 2009). A FIGURA 4 ilustra o funcionamento do método. Quanto mais os agrupamentos se repetirem para diferentes amostras, maior a confiança do clado agrupado. Caso um clado esteja presente em todas as reamostragens, diz-se que o valor do jackknife é 100%. Quanto menos aparecer, menor o seu valor. 2.2.2 Bootstrapping Assim como jackknife, o bootstrapping é utilizado para reamostrar as sequências e verificar o quanto determinado clado se repete a cada reamostragem. Porém, diferentemente do jackknife, o método não altera o tamanho das sequências, mas sim o conteúdo. Após alinhar as sequências, substitui-se aleatoriamente colunas originais por colunas de outras posições. 23 FIGURA 4 – REAMOSTRAGEM DO TIPO JACKKNIFE FONTE: O Autor. NOTA: Reamostragem do tipo Jackknife. Na primeira linha da figura tem-se o alinhamento original. Na segunda linha tem-se em cinza claro as colunas excluídas do alinhamento. Na terceira linha tem-se a reamostragem, ou seja, variações do alinhamento original. Mantendo-se o alinhamento, porém com nucleotídeos diferentes. Então computa-se a quantidade de vezes que os clados se repetem, inferindo, assim, a probabilidade do clado estar correto. A figura 5 exemplifica o processo. A adaptação deste método para aplicação em inferência filogenética foi proposta por Joseph Felsenstein em 1985 (FELSENSTEIN, 1985). Um dos problemas deste método de reamostragem é que se a sequência tiver um viés, as estimativas do bootstrap também serão enviesadas. Por exemplo, sequências ricas em conteúdo GC tem grandes chances de substituir colunas ricas em bases GC por colunas ricas em nucleotídeos do mesmo tipo. Isso gera uma confiança artificial gerada pelo método, como expressa (LEMEY et al., 2009). 2.2.3 Estimativa e teste de hipótese para método livre de alinhamento Assim como os métodos bootstrapping e jackknife foram adaptados para estimar a confiabilidade de árvores filogenéticas, eles podem ser readaptados para inferir confiabilidade a árvores geradas sem que o alinhamento múltiplo seja feito. O programa AAF, sigla para Alignment and Assembly Free, aplica o método bootstrapping na estratégia livre de alinhamento para inferir a confiabilidade dos clados gerados (FAN et al., 2015). Infelizmente, os detalhes do método utilizado neste programa não contém códigos abertos. Porém, Zuo et al, propõem uma adaptação ao método bastante criativa e, segundo 24 FIGURA 5 – REAMOSTRAGEM DO TIPO BOOTSTRAPPING FONTE: O Autor. NOTA: Reamostragem do tipo Bootstrapping. Na primeira linha da figura tem-se o alinhamento original e destaque as colunas que serão repetidas para a reamostragem. Na segunda linha tem-se a reamostragem com três variações do alinhamento original. Na primeira variação substituí-se aleatoriamente colunas do alinhamento original pelas colunas em azul. Na segunda variação substituí-se aleatoriamente colunas do alinhamento original pelas colunas amarelas. Por fim, no terceiro exemplo de variação substituí-se aleatoriamente colunas do alinhamento original pelas colunas verdes. seu artigo, com bons resultados. A estratégia pode ser aplicada tanto para jackknife quanto para bootstrapping. Ao invés de excluir ou substituir colunas do alinhamento múltiplo original, cataloga-se todas as proteínas existentes comuns a todas as sequências envolvidas na análise, para então excluí-las aleatoriamente de todas as sequências (jackknife), ou então substituir e repetir aleatoriamente as proteínas ao longo das sequências (bootstrapping), podendo algumas proteínas serem repetidas ou excluídas (ZUO et al., 2010). 2.3 PROCESSOS INDEPENDENTES DE ALINHAMENTO Tradicionalmente, a inferência de árvores filogenéticas conta com a etapa de alinhamento múltiplo das sequências. Porém, as ferramentas de alinhamento múltiplo largamente usadas não são capazes de alinhar sequências longas de DNA - da ordem de milhões de nucleotídeos - ou de aminoácidos (ZIELEZINSKI et al., 2019). Na era dos sequenciadores de próxima-geração, o sequenciamento de genomas inteiros é realizado de maneira rápida (se comparada às tecnologias anteriores) para crescentes números de distintos organismos (FAN et al., 2015), por isso há grande necessidade de metodologias alternativas aos métodos baseados em alinhamento - Alignment-Based (AB) - como os métodos livres de alinhamento ou Alignment-Free (AF). Nos últimos anos, um grande número de métodos rápidos livres de alinhamento foram propostos para a reconstrução de árvores filogenéticas (DENCKER et al., 2020). Resultando numa diversidade de propostas e combinações de métodos e métricas para a inferência filogenética. Um dos principais problemas apontados é que as inferências das árvores nãosão baseadas em modelos evolutivos específicos, principalmente na comparação de similaridade entre sequências 25 (FAN et al., 2015). Isso pode levar a crer que os métodos livres de alinhamentos não geram árvores confiáveis com sentido biológico, porém, em recente trabalho publicado, a ferramenta livre de alinhamento Spaced Words Projection (SWeeP) se mostrou capaz de inferir filogenias convergentes às estabelecidas na literatura. Os experimentos feitos com o genoma mitocondrial e proteoma bacterial de todos os organismos listados no National Center for Biotechnology Information (NCBI) mostrou-se inclusive superior aos métodos baseados em alinhamento (DE PIERRI et al., 2020). O desenvolvimento de métodos alignment-free podem suprir algumas deficiências dos métodos baseado em alinhamentos, como a imprecisão dos métodos AB em cenários de baixa identidade entre as sequências e a incapacidade de serem aplicados diretamente a sequências rearranjadas, sejam os rearranjos provenientes de recombinação de domínios proteicos, por duplicação de genes ou por transferências horizontais (ZIELEZINSKI et al., 2019). 2.4 CLUSTERIZAÇÃO O agrupamento de dados, a partir de características comuns, é parte do processo de conhecimento humano nas mais diversas áreas de investigação. Um dos agrupamentos mais conhecidos, e talvez o mais revolucionário das ciências exatas, foi o pensado por Dimitri Mendeleiev 1869: a tabela periódica, que levou 80 anos para ser proposta como a conhecemos desde a primeira organização em 1798 por Lavoisier (STRATHERN, 2001). Atualmente conta-se com a ciência da computação para, em segundos, agrupar dados de uma população em subgrupos relacionados. O método de clusterização é justamente esse: o particionamento de um conjunto de objetos em subconjuntos de acordo com algum critério desejado, a fim de encontrar padrões entre grupos de um determinado conjunto de dados (BLUM et al., 2016). Geralmente, os critérios utilizados são a similaridade ou dissimilaridade para compara- ções entre conjuntos de variáveis categóricas e a distância aritmética entre os elementos quando estes são contínuos. Pode-se dizer que dois elementos são próximos quando suas similaridades são altas, e distantes quando suas similaridades são baixas. Em termos geométricos, clusterizar é um processo para identificar regiões densas, as quais são separadas por regiões esparsas, no conjunto de dados a serem agrupados (MA; CHOW, 2004). 2.4.1 Medidas de proximidade entre indivíduos Antes de se falar em agrupamento de indivíduos semelhantes, é necessário medir essa similaridade ou dissimilaridade entre os indivíduos da população analisada. Esses indivíduos podem ser representados por valores categóricos ou contínuos. Os valores contínuos podem ser calculados segundo a TABELA 1, em que os valores de entrada são obtidos através da TABELA 2 de classificação cruzada de correspondência e não correspondência (match e mismatch) entre dois indivíduos. 26 TABELA 1 – SIMILARIDADE MEDIDA PARA DADOS BINÁRIOS Medidas Fórmula S1: Matching coefficient B8 9 = 0+30+1+2+3 S2: Jaccard coefficient B8 9 = 00+1+2 S3: Rogers e Tanimoto B8 9 = 0+30+2(1+2)+3 S4: Sneath e Sokal B8 9 = 00+2(1+2) S5: Gower e Legendre B8 9 = 0+30+ 12 (1+2)+3 S6: Gower e Legendre B8 9 = 00+ 12 (1+2) FONTE: Everitt et al. (2011) TABELA 2 – CONTAGEM DE RESULTADOS BINÁRIOS PARA DOIS INDIVÍDUOS indivíduo i Outcome 1 0 Total Indivíduo j 1 0 1 0 + 1 0 2 3 2 + 3 Total 0 + 2 1 + 3 ? = 0 + 1 + 2 + 3 FONTE: Everitt et al. (2011) A escolha do melhor método para o cálculo da distância depende da análise que se está fazendo. Se para análise a ausência de determinada característica em ambos os indivíduos for irrelevante, como o que ocorre em d (co-ausência), utiliza-se S2, S4 e S6, uma vez que a variável d é ignorada nas equações. Caso a informação de co-ausência seja importante para a análise, utiliza-se as outras fórmulas. Outro fator considerado nas equações é o peso dos valores c e b, em que há ocorrência da característica em um indivíduo e ausência em outro. Nas equações S3 e S4 o peso é duas vezes para b e c. Já nas equações S5 e S6, o peso dado para b e c é de 0,5. Os valores dos pesos podem ser diferentes dos mostrados nas equações, refletindo o melhor julgamento do investigador sobre o conjunto estudado, ou, ajustando algum aspecto da matriz de dados (EVERITT et al., 2011). Caso a mensuração de similaridade tenha mais de um nível - como tipo sanguíneo, cor dos olhos, partido político ou mesmo bases das sequências de DNA recomenda-se calcular um score B8 9 : que varie de zero a um para cada variável k, dependendo dos indivíduos do grupo i e j terem o mesmo valor para a variável k. Uma vez definido os valores de score, calcula-se então a média dos scores obtidos, como demonstra a EQUAÇÃO 2.2, para obter o coeficiente de similaridade (EVERITT et al., 2011). B8 9 = 1 ? ∞∑ :=1 B8 9 : (2.2) Porém, na prática, para comparação de similaridade entre sequências moleculares alinhadas, considera-se match como score 1 e mismatch como score 0, como é o caso da função 27 distmat do programa European Molecular Biology Open Software Suite (EMBOSS) (RICE et al., 2000). É comum também levar em consideração a quantidade de inserções ou deleções e definir o score para cada um dos gaps das sequências. O cálculo de similaridade entre duas sequências com a função distmat é definida pela EQUAÇÃO 2.3. Em que < é a soma dos matches, =?>B é quantidade de posições incluindo os matches, 60?B é a quantidade de gaps nas sequências, e 60??4=0;CH é o score de penalidade a cada posição de gap. ( = < =?>B + (60?B × 60??4=0;CH) (2.3) Com o valor de similaridade calcula-se pela EQUAÇÃO 2.4 a distância observada. Essa distância é mais conhecida como p-distance (LEMEY et al., 2009). ? − 38BC0=24 = 1 − ( (2.4) É possível ainda atribuir scores de match e mismatch a partir de matrizes de substituições difundidas na literatura ou matrizes personalizadas. A função DistanceCalculator do pacote Biopython (COCK et al., 2009), por exemplo, permite calcular matrizes de distâncias com scores de matches e mismatches usados na ferramenta Blast para nucleotídeos e aminoácidos, como PAM , BLOSUM , BENNER e outras. É interessante notar que, apesar de bastante intuitiva, a medida p-distance pode não representar a distância genética entre as sequências, principalmente quando há alto grau de divergência entre elas. A distância de dissimilaridade é incapaz de contabilizar mais de uma mutação entre os sítios comparados. Por exemplo, tomando-se a substituição do nucleotídeo A por C e, posteriormente, por G, a função p-distance contabiliza apenas a mudança observada, ou seja, de A para G. Caso, posterior mudança de A para C seja para A, nenhuma mutação será detectada ao calcular a dissimilaridade. Pode-se dizer que p-distance subestima a verdadeira distância genética, pois conforme o tempo evolutivo avança, as diferenças entre as sequências podem se tornar aleatórias ou saturadas (LEMEY et al., 2009). A figura 6 ilustra a relação entre p-distance (p) e distância genética (d). Próximo ao valor 0,7 de p-distance, o valor de d pode aumentar infinitamente que o valor de p não se altera devido ao efeito de saturação. A forma desta curva pode ser alterada caso leve-se em consideração a probabilidade de mudanças entre pares de bases ou aminoácidos. O que pode ser feito com o uso de modelos evolutivos para corrigir a distância de dissimilaridade, esses modelos são detalhados na seção 2.4.2. As considerações abordadas até aqui referem-se à mensuração de distâncias entre dados categóricos. Já para dados contínuos, temos as equações da TABELA 3. Note que as distâncias 28 FIGURA 6 – RELAÇÃO ENTRE DISTÂNCIA GENÉTICA E P-DISTANCE FONTE: LEMEY et al.(2009) NOTA: Relação entre distância genética (eixo da abscissas) e p-distance (eixo das ordenadas). Note que para este modelo, para valores de d maiores que 3, os valores de p se mantém constantes, ou seja, não contabilizam as mudanças genéticas ocorridas. são divididasem medidas de distâncias e tipos de correlações. A primeira equação da tabela é interpretada como a distância física entre dois pontos no espaço euclidiano, ou seja, distâncias fixadas em coordenadas ortogonais (BOULOS; CAMARGO, 1987). Já a segunda distância cityblock, também conhecida como manhattan, é a distância em uma configuração retilínea entre dois pontos. Ambas as distâncias, euclidiana e cityblock, são derivadas da equação de distância de minkowski. Note que para a cityblock o valor de r na equação de minkowski é 1. Já para a euclidiana, r tem valor 2. A distância calculada pelos métodos de Pearson correlation e Angular separation são dependentes do coeficiente q8 9 . Este valor reflete a correlação entre os valores, sendo que valores iguais a +1 indica forte relação positiva. Já valores iguais a -1 indica forte relação negativa entre os elementos. 29 TABELA 3 – SIMILARIDADE MEDIDA PARA DADOS CONTÍNUIOS Medidas Fórmula D1: Distância Euclidiana 38 9 = [ ∑? :=1 F 2 : (G8: − G 9: )2 ] 1/2 D2: Distância City Block 38 9 = ∑? :=1 F: |G8: − G 9: | D3: Distância Minkowski 38 9 = ( ∑? :=1 F A : |G8: − G 9: |A ) 1/A (A ≥ 1) D4: Distância Canberra 38 9 = { 0 para G8: = G 9: = 0∑? :=1 F: |G8: − G 9: |/( |G8: + G 9: |) para G8: ≠ G 9: ≠ 0 D5: Correlação de Pearson X8 9 = (1 − q8 9 )/2 com q8 9 = ∑? :=1 F: (G8: − G8∗ ) (G 9: − G 9∗ ) / ... ... [ ∑? :=1 F: (G8: − G8∗ ) 2 ∑? :=1 F: (G 9: − G 9∗ ) 2 ] 1/2 em que G8∗ = ∑? :=1 F:G8: / ∑? :=1 F: D6: Separação Angular X8 9 = (1 − q8 9 )/2 com q8 9 = ∑? :=1 F:G8:G 9: / ( ∑? :=1 F:G 2 8: ∑? :=1 F:G 2 9: ) 1/2 FONTE: Everitt et al. (2011) 2.4.2 Correção Modelo Evolutivo Uma árvore baseada na distância não possui uma relação linear com o tempo decorrido desde o último ancestral comum. Uma proposta para corrigir a distância calculada é levar em consideração as taxas e probabilidades de substituições que podem ocorrer a cada intervalo infinitesimal de tempo (3C). Existem diversos modelos que corrigem a diferença entre as sequências levando-se em conta as probabilidades de trocas de nucelotídeos, o modelo Jukes-Cantor (JC69) é o modelo evolutivo mais simples de correção para sequências de DNA (FELSENSTEIN, 2004). Neste modelo, a taxa de mutação é a mesma independente da troca, ou seja, considera-se a mesma taxa para transições (purina para purina, ou pirimidina para pirimidina) e para transversões (purina para pirimidina e vice-versa). A figura 7 ilustra a taxa de mudanças entre todos os pares de nucleotídeos por unidade de tempo. 30 FIGURA 7 – TAXAS DE MUDANÇAS DE PARES DE NUCLEOTÍDEOS POR UNIDADE DE TEMPO PARA O MODELO JC69 FONTE: EGAN; CRANDALL(2006) NOTA: Taxas de mudanças de pares de nucleotídeos por unidade de tempo para o modelo JC69. Todas as taxas tem o mesmo valor para qualquer tipo de substituição. A partir desse modelo pode-se inferir que a mudança de uma base aleatória para qualquer uma das quatro bases possui uma taxa de 43D. Utilizando a distribuição de Poisson chega-se à probabilidade de nenhum evento acontecer igual a EQUAÇÃO 2.5: 4 4 3DC (2.5) Sendo, portanto, a probabilidade de pelo menos um evento de mudança de base ocorrer igual a EQUAÇÃO 2.6. 1 − 4 43DC (2.6) Desenvolvendo a expressão para a probabilidade de qualquer evento resultar em uma mudança para um nucleotídeo específico e determinado, pode-se chegar à função de correção de distâncias de Jukes-Cantor ( EQUAÇÃO 2.7), ou melhor, o modelo evolutivo de Jukes-Cantor 31 (FELSENSTEIN, 2004). Esta expressão nada mais é do que a estimativa de verossimilhança da distância genética (LEMEY et al., 2009). � = D̂C = −3 4 ;= ( 1 − 4 3 �( ) (2.7) Uma das principais limitações práticas deste modelo é a descontinuidade da função para o conjunto dos números reais para valores de distância entre sequências (�() maiores que 3 4 . Além disso, pode-se questionar os valores iguais para as taxas de mutações de nucleotídeos independentemente se é uma transição ou transversão. Vários outros modelos foram desenvolvidos para lidar com esses problemas, entre eles o modelo Kimura 2-parâmetros (K80), em que as taxas de mudanças são distintas para transições e transversões. O modelo é representado na figura 8. FIGURA 8 – TAXAS DE MUDANÇAS DE PARES DE NUCLEOTÍDEOS POR UNIDADE DE TEMPO PARA O MODELO K80 FONTE: EGAN; CRANDALL(2006) NOTA: Taxas de mudanças de pares de nucleotídeos por unidade de tempo para o modelo K80. Taxas de transições (a) são diferentes das taxas de transversões (b). 32 As taxas de mudanças de nucleotídeos podem ser generalizadas pelo processo de Markov, o qual utiliza a matriz Q para especificar cada troca de nucleotídeos. Essa matriz esta representada pela EQUAÇÃO 2.8. Q = A C G T©« ª®®®®®¬ −`� `�� `�� `�) A `�� −`� `�� `�) C `�� `�� −`� `�) G `)� `)� `)� −`) T (2.8) Ou seja, o modelo evolutivo JC69, com a mesma taxa de mutação para cada nucleotídeo, tem a matriz Q representada pela EQUAÇÃO 2.9 (LEMEY et al., 2009). Q = A C G T©« ª®®®®®¬ −34` 1 4` 1 4` 1 4` A 1 4` − 3 4` 1 4` 1 4` C 1 4` 1 4` − 3 4` 1 4` G 1 4` 1 4` 1 4` − 3 4` T (2.9) Os modelos evolutivos Jukes-Cantor (JC69), Kimura 2-parâmetros (K80), Felsenstein 1981 (F81), Felsenstein 1984 (F84), Hasegawa, Kishino and Yano 1985 (HKY85), Tamura and Nei 1993 (TN93) e Generalised time-reversible model of Tavaré 1986 (GTR) podem ter o valores de taxas de mudanças representados pela matriz Q generalista representada na EQUAÇÃO 2.10, em que ` é média instantânea da taxa de substituição; 0, 1, 2, 3, 4, 5 , 9 , ℎ, 8, 9 , :, ; são parâmetros que descrevem a taxa de substituição de cada nucleotídeo por outro; c�, c� , c) , c� são valores que representam a frequência dos respectivos nucleotídeos(LEMEY et al., 2009). A C G T©« ª®®®®®¬ −`(0c�+1c� + 2c) ) 0`c� 1`c� 2`c) 6`c� −`(6c�+3c�+4c) ) 3`c� 4`c) ℎ`c� 8`c� −`(ℎc�+ 9c�+ 5 c) ) 5 `c) 9 `c� :`c� ;`c� −`(6c�+3c�+4c) ) (2.10) A partir desta matriz Q pode-se obter a matriz de qualquer modelo evolutivo citado. A figura 9 ilustra a relação entre os modelos e como deve-se substituir cada parâmetro da matriz da EQUAÇÃO 2.10. 33 FIGURA 9 – HIERARQUIA DOS MODELOS EVOLUTIVOS DE DNA FONTE: LEMEY et al.(2009) Além dos modelos evolutivos citados, existem diversos outros modelos já desenvolvidos. O software para a construção de árvores filogenéticas IQ-TREE (NGUYEN et al., 2015), por exemplo, lista em sua descrição para nucleotídeos 22 modelos comuns, 29 modelos de Lie-Markov, 18 para códons e 23 modelos evolutivos para aminoácidos, entre eles Blosum62, Dayhoff, JTT, LG e WAG. Estima-se que mais de 200 modelos estejam disponíveis para o uso nesta ferramenta (MINH et al., 2020). Há também softwares que comparam os modelos, encontrando o método que melhor se ajusta aos problemas filogenéticos, entre eles o jModelTest (DARRIBA et al., 34 2012). 2.4.3 Tipos de Clusterização Os métodos de clusterização tem sido muito utilizados na ciência de mineração de dados, reconhecimento de padrões e bioinformática. Pode-se dividir a técnica em duas abordagens, a hierárquica e a não-hierárquica. A abordagem hierárquica envolve fusões ou divisões de dados de maneira progressiva, gerando grupos (clusters) que podem ser relacionados hierarquicamente em um dendrograma. Já na abordagem não-hierárquica, a relação entre os dados particionados é indeterminada, não criando relação de hierarquia. Além disso, os grupos são criados a partir de uma única partição (KAUFMAN; ROUSSEEUW, 2009), e não em partições consecutivas, como nos modelos hierárquicos. Essas abordagens são categorizadas conforme a figura 10. FIGURA 10 – TIPOS DE CLUSTERIZAÇÃO FONTE: adaptado de MA; CHOW(2004) A construção de dendrogramas evolutivos dependem das técnicas de agrupamentos de tipo hierárquico, uma vez que o objetivo é comparar grupos biológicos distribuídos entre seus ascendentes e descendentes. Ou seja, a construção de árvores filogenéticas, a qual precisa da relação hierárquica bem determinada (ROHLF, 1970). As fusões e divisões de dados subdividema metodologia hierárquica em aglomerativo e divisivo. Esses dois métodos são também referenciados como bottom-up e top-down, res- pectivamente. No primeiro, a partir de n elementos, constrói-se a árvore agrupando-os em um único cluster. Já no divisivo, ao contrário do aglomerativo, divide-se todo o conjunto de dados agrupados em grupos mais homogêneos que o agrupamento originário. Em ambos os casos, os clusters são representados por um dendrograma. A figura 11 exemplifica essa representação. É importante ressaltar a principal desvantagem dos métodos hierárquicos: os dados uma vez divididos ou aglomerados em novos grupos, não podem retornar ao agrupamento anterior. Ou seja, o cluster resultante não pode retornar ao estado anterior à divisão ou fusão. Essa característica é também a chave de sucesso do método, pois exige menor tempo de computação (KAUFMAN; ROUSSEEUW, 2009). Porém, essa característica não impede que se compare 35 FIGURA 11 – TIPOS DE CLUSTERIZAÇÕES HIERÁRQUICAS FONTE: adaptado de EVERITT et al.(2011) a matriz de distância com o vetor cofenético que representa o dendrograma. Sokal e Rohlf propuseram a avaliação dos dendrogramas pela relação entre a matriz e o vetor-dendrograma, chamada de correlação cofenética (SOKAL; ROHLF, 1962). Porém, não é usual para comparações entre árvores, os principais estudos para a distância entre árvores são discutidos na seção 2.5. 2.4.4 Métodos aglomerativos: bottom-up Os principais métodos aglomerativos são: Single linkage, complete linkage e average linkage (UPGMA), weighted average linkage (WPGMA) , centroid linkage (UPGMC) , median linkage (WPGMC) e Ward (GORDON, 1987). Para o primeiro deles, single linkage, a distância entre dois conjuntos (A e B) é determinada a partir dos indivíduos mais similares entre A e B, ou seja, a menor distância entre dois pontos de cada cluster, conforme ilustra a figura 12. Esse método, também conhecido como nearest neighbour, considera a área que separa os dois clusters. Entre todos os pares de objetos de diferentes clusters, seleciona-se o par com maior similaridade (MANNING et al., 1999). Essa similaridade entre objetos de diferentes conjuntos, determina a similaridade entre os clusters. Portanto, quanto menor a distância entre os 36 FIGURA 12 – AGRUPAMENTO SINGLE LINKAGE FONTE: adaptado de SCHÜTZE et al.(2008) pares, mais similares são os conjuntos entre si. ! (�, �) = <8=[3 (G�8,G�8 )] (2.11) O single linkage é geralmente relacionado à árvore de expansão mínima, minimum spanning tree (CIESLIK, 2006), a qual conecta todos os objetos com arestas de maior similaridade. O método single linkage é localmente coerente, pois algomera os dados mais próximos, o que graficamente pode gerar conjuntos estreitos e desbalanceados (EVERITT et al., 2011). Ele pode ser aplicado de forma divisiva a partir de uma árvore de expansão mínima, removendo os pontos mais distantes entre os grupos, criando assim, novos subgrupos. Já o complete linkage, também conhecido por furthest neighbour, ao contrário do anterior, avalia a similaridade entre dois conjuntos a partir dos elementos mais dissimilares pertencentes a diferentes conjuntos, como ilustra a FIGURA 13. Ou seja, entre todos os pares de objetos de diferentes clusters, seleciona-se o par com maior dissimilaridade, evitando conjuntos alongados graficamente, pois avalia a similaridade de maneira global, resultando em conjuntos mais compactos. FIGURA 13 – AGRUPAMENTO COMPLETE LINKAGE FONTE: adaptado de SCHÜTZE et al.(2008) Esse tipo de agrupamento, segundo Everitt (EVERITT et al., 2011), tende a formar 37 clusters com diâmetros semelhantes. Sendo o diâmetro a maior diferença entre elementos de um mesmo conjunto. Sua fórmula é a seguinte: ! (�, �) = <0G [3 (G�8,G�8 )] (2.12) A principal desvantagem deste tipo clusterização é a complexidade do tempo (time complexity). Enquanto a estratégia single linkage tem complexidade $ (=2), o método complete linkage possui $ (=3), exigindo maior quantidade de comparação entre os elementos (MANNING et al., 1999). Muitas vezes as estratégias que consideram os elementos mais similares e menos similares entre si não são as mais adequadas para o problema, surgindo, assim, uma terceira forma de avaliar as distâncias entre os elementos de cada grupo, medindo-se a similaridade média. Toma-se a distância entre os clusters como a média simples das distâncias entre cada elemento de um cluster e cada elemento do outro cluster. A essa abordagem dá-se o nome de group average linkage clustering. FIGURA 14 – AGRUPAMENTO GROUP AVERAGE LINKAGE FONTE: adaptado de SCHÜTZE et al.(2008) Esta estratégia, assim como a single linkage, possui uma complexidade da ordem $ (=2) no tempo, porém, sem a característica do single linkage de criar clusters alongados (MANNING et al., 1999), portanto, sendo uma alternativa mais eficiente ao método complete linkage. Sua fórmula é descrita segundo a EQUAÇÃO 2.13 ! (�, �) = 1|=� | |=� | ∑ 8n � ∑ 9n � � [8, 9] (2.13) A abordagem aglomerativa baseada na média das distâncias pode ser UPGMA ou WPGMA, siglas de unweighted pair-group method average e weighted pair-group method average, respectivamente. No primeiro método, as distâncias contribuem igualmente para obtenção da similaridade. Já no segundo, um maior peso é dado a pequenos clusters. Ambas 38 as estratégias agrupam elementos em clusters com baixa variância e possuem relativa robustez (EVERITT et al., 2011). Outra abordagem existente é o método de clusterização baseado nas distâncias entre os centros geométricos (centroides) dos clusters, conhecido como centroid clustering. Se o mesmo peso for dado para as distâncias euclidianas entre os clusters, o método é dito unweighted pair-group method using the centroid approach (UPGMC) (EVERITT et al., 2011). Ainda, segundo o mesmo autor, o método UPGMC funde os clusters com vetores médios mais similares a partir de dados não tratados da matriz, ou seja, aos dados originais e não da matriz de proximidade. O modelo weighted pair-group method using centroid approach (WPGMC) é similar ao UPGMC, porém, todos os clusters são ponderados antes de se fundir os centroides semelhantes e gerar um novo cluster. Isto é feito para evitar que dois grupos com tamanhos bem diferentes, ao serem fundidos, gerem um novo cluster com um centroide muito parecido com o cluster com maior centroide (HE, 1999). Assim, o novo cluster terá um centroide de valor intermediário entre os cluster que deram origem. Ressalta-se que as fórmulas de centroid e median podem produzir inversões no dendrograma a cada novo passo (MÜLLNER, 2011). Em 1963, Ward introduziu um novo método de agrupamento de grupos, o método em que a fusão é baseada no tamanho do erro do critério da soma dos quadrados (EVERITT et al., 2011). O objetivo é, a cada novo estágio, minimizar o aumento da soma total dos quadrados dentro do cluster. O método tende a gerar grupos esféricos de tamanhos semelhantes. Porém, ele é muito sensível aos outliers. Os passos tomados para cada algoritmo iniciam-se com as matrizes de distância entre os elementos do conjunto a ser clusterizado. Encontrado o par (8, 9) que satisfaz a abordagem de clusterização escolhida, agrupa-se o par num táxon c. Remove-se o par (8, 9) e adiciona-se o táxon 2. Então calcula-se a distância de todos os elementos ao nó 2, com a EQUAÇÃO 2.14: 3 (2, :) = 3 (8, :) + 3 ( 9 , :) 2 (2.14) É importante ressaltar que caso o espaço seja ultramétrico, essa distância será sempre a mesma (HAUBOLD; WIEHE, 2006). Entre os algoritmos de clusterização hierárquica mais utilizados estão UPGMA, já citado, e o neighbor-joining. Este último desenvolvido por Sitou e Nei para a reconstrução de árvores filogenéticas (SAITOU; NEI, 1987). Sua ampla difusão se dá pelo fato de o algoritmo combinar eficiência computacional com razoável acurácia (CRANDALL; LAGERGREN, 2008). Resumidamente, o método tem como entrada uma matriz de distância calculada a partir de alguma métrica abordada no capítulo 2.4.1, e uma matriz chamada de matiz-Qé calculada através 39 da EQUAÇÃO 2.15. &(8, 9) = 3 (8, 9) − 1 = − 2 ( =∑ :≠8 3 (8, :) + =∑ :≠ 9 3 ( 9 , :) ) (2.15) Em que, = é o número de espécies. 3 (8, 9) é a distância entre os elementos 8 e 9 . O par com menor valor de &(8, 9), em que 8 ≠ 9 , são unidos gerando um novo nó, ou táxon c. Definido o novo nó, calcula-se a distância de cada elemento ao novo nó com a fórmula 2.19. 3 (:, 2) = 1 2 [3 (8, :) + 3 ( 9 , :) − 3 (8, 9)], : ≠ 8, 9 (2.16) Calcula-se e computa-se a distância do novo ramo aos táxons i e j. 3 (8, 2) = 1 2(= − 2) [ (= − 2)3 (8, 9) + ( =∑ :≠8 3 (8, :) − =∑ :≠ 9 3 ( 9 , :) ) ] , : ≠ 8, 9 (2.17) 3 ( 9 , 2) = 1 2(= − 2) [ (= − 2)3 (8, 9) + ( =∑ :≠8 3 ( 9 , :) − =∑ :≠ 9 3 (8, :) ) ] , : ≠ 8, 9 (2.18) A cada novo nó constituído, substitui-se os táxons i e j por c, e reduz-se o tamanho do conjunto de espécies em n-1. Caso o tamanho seja igual a um, gera-se o último ramo, logo, o último passo é: &(8, 9) = 3 (8, 9) (2.19) 2.4.5 Métodos divisivos: top-down Com uma direção oposta ao método aglomerativo, esse método parte de um grupo denso que contém todos os elementos, que, iterativamente, é dividido em dois agrupamentos menores. Qualquer algoritmo de comparação pode ser utilizado no processo divisivo, incluindo os anteriormente analisados no processo aglomerativo e algoritmos não-hierárquicos, o principal problema dos algoritmos divisivos é o peso computacional de processamento (MANNING et al., 1999). Enquanto algoritmos aglomerativos possuem possíveis combinações igual a �2= = =(=−1) 2 , o método divisivo possui 2(=−1) − 1, ou seja, considera todas as possíveis divisões do grupo, crescendo exponencialmente com a quantidade de elementos a serem clusterizados, por este fato ele não é tão citado na literatura e é pouco utilizado (KAUFMAN; ROUSSEEUW, 2009). O método divisivo pode ser monético ou politético. A abordagem monética utiliza uma única variável para, a cada iteração, comparar e reagrupar os elementos. Por exemplo, agrupar pessoas de acordo com a presença ou ausência de automóvel próprio. Isso gera uma matriz binária a cada divisão, determinando a presença ou não de determinada característica em cada 40 grupo (EVERITT et al., 2011). Ainda, segundo o mesmo autor, a escolha da variável depende de uma otimização de um critério que reflita a homogeneidade do grupo ou a associação com outras variáveis, minimizando assim a quantidade de divisões. Já na abordagem politética, várias características são analisadas no mesmo estágio de divisão dos grupos. Como ela pode trabalhar com a matriz de proximidade, o método politético é muito semelhante aos métodos aglomerativos de clusterização (EVERITT et al., 2011). Dentro do cluster que reúne todos os elementos, escolhe-se o menos semelhante para iniciar um novo grupo, assim, outros elementos mais semelhantes a este novo grupo começam a povoar este novo cluster, e o processo se repete. 2.5 DISTÂNCIA ENTRE ÁRVORES Medir a distância entre árvores filogenéticas é necessário, por exemplo, para estudar como diferentes composições de sequências ou genes geram diferentes árvores, ou ainda, como diferentes métodos de construção de árvores geram resultados diferentes. Diversas métricas de medidas de dissimilaridade entre árvores foram desenvolvidas, entre elas os métodos que consideram apenas a ordem das folhas da árvore, como: a distância Robinson-Foulds - também conhecida como diferença simétrica ou unweighted-Robinson-Foulds, distância entre quartetos e distância de alternância entre vizinhos mais próximos (JOMBART et al., 2017). Para computar a diferença simétrica entre duas árvores A e B, divide-se cada uma em bipartições (FELSENSTEIN, 2004). Então soma-se a quantidade de partições contidas em A que não estão contidas em B à quantidade de partições contidas em B que não estão contidas em A (ROBINSON; FOULDS, 1979). A FIGURA 15 ilustra o processo. Note que todas as possíveis bipartições estão representadas abaixo de sua respectiva árvore. As partições em negrito são as que respeitam a definição do método, o que resulta em uma distância igual a 3 entre as árvores. Há um grupo de métodos que consideram também o tamanho dos ramos para computar a distância entre as árvores, são eles: a distância ponderada de Robinson-Foulds (weighted- Robinson-Foulds), distância euclidiana, distância de branch score e distância geodésica, a qual requer álgebra não euclidiana para a construção do espaço de árvores (tree space) (BILLERA et al., 2001). Com exceção desta última, as anteriores são variações da diferença simétrica, porém, inserindo os tamanhos dos ramos como pesos a cada diferença entre as árvores. A distância geodésica, desenvolvida por Billera-Holmes-Vogtmann (BILLERA et al., 2001), não considera um espaço euclidiano, mas sim um espaço curvado não-positivamente, conhecido como espaço de Hadamard. Na realidade o tree space (ou BHV space, em homenagem aos pesquisadores que definiram este espaço) é uma instância do espaço de Handamard (BACÁK, 2014). Neste espaço dois pontos estão conectados por um único e menor caminho em todo o 41 FIGURA 15 – CÁLCULO DE DISTÂNCIA SIMÉTRICA ENTRE AS DUAS ÁRVORES FONTE: FELSENSTEIN(2004) NOTA: Cálculo de distância simétrica entre as duas árvores. As arestas em negrito são arestas que definem as bipartições. Os conjuntos abaixo de cada árvore representam as partições possíveis e em negrito as que não pertencem ao grupo de comparação. espaço, caminho esse chamado de geodésico (BILLERA et al., 2001). Assim, a distância entre duas árvores é definida como a distância geodésica que conecta a árvore A à árvore B. Há uma fundamentação algébrica bastante densa e formal para a definição do tree space e para o cálculo desta distância. Esta definição foi desenvolvida algoritmicamente em 2008 (KUPCZOK et al., 2008) e está disponível em diversos pacotes em R e Python. O cálculos de distância entre árvores estão disponíveis nos pacotes PHANGORN (SCHLIEP, 2011), APE (PARADIS et al., 2004), DISTORY (CHAKERIAN; HOLMES, 2013), TREESPACE (JOMBART et al., 2017) e ADEPHYLO (JOMBART; DRAY, 2010) em R. Em Python nos pacotes ETE3 Toolkit (HUERTA-CEPAS et al., 2016), Dendropy (SUKUMARAN; HOLDER, 2010), Tree_compare (GORI et al., 2016). 2.6 PROCESSOS EVOLUTIVOS SIMULADOS Um dos grandes desafios da biologia evolutiva computacional é a verificação dos resultados e a possibilidade de se estabelecer avaliações comparativas entre diferentes métodos, modelos, tipo e quantidade de dados disponíveis para o estudo. Essa dificuldade decorre do fato de que a história evolutiva da entidades biológica são, geralmente, desconhecidas (DALQUEN 42 et al., 2012). Por isso, é de extrema importância a simulação de eventos evolutivos in silico. Esta estratégia promove um ambiente de variáveis controladas que facilita os teste de robustez e acurácia dos métodos de inferência filogenética (FLETCHER; YANG, 2009). Por exemplo, pode-se avaliar como um método de inferência pode gerar diferentes respostas para diferentes tipos de sequências (nucleotídeos ou aminoácidos), diferentes quantidades, tamanhos, taxa evolutivas, escalas de tempo, modelos evolutivos entre outras características. A simulação pode auxiliar no entendimento de filogenias reais, como a inferência de enraizamentos de árvores de procariotos, a posição de determinadas linhagens sem uma origem clara, teste de inferências de relógios moleculares (molecular clock) (DAVIN et al., 2020) entre diversas outras aplicações. Vale ressaltar que o termo "filogenias reais"refere-se às inferências calculadas pelo cientista, ou seja, filogenias não simuladas. As possíveis aplicações dependem da cada programa de simulação. O programa ZOMBI (DAVIN et al., 2020), por exemplo, permite inserir uma árvore filogenética real como entrada e, sobre esta árvore, aplicar diferentes simulações de escala e taxas de mutações, permitindo assim que se calibre a escala da árvore real com a escala obtida através da simulação. O programa ALF permite a simulação de genomas inteiros, assimcomo simulação de fusões, fissões e perda de genes (DALQUEN et al., 2012). O programa ALF e diversos outros como INDELible (FLETCHER; YANG, 2009) permitem a simulação de inserções e deleções de caracteres nas sequências (indels) e se diferenciam pelo modelo de distribuição e cálculo do tamanho das inserções e deleções. Dentre os programas citados, todos usam o algoritmo de Gillespie para simular o processo evolucionário, ou alguma parte do processo. Este algoritmo é o padrão nas simulações evolutivas, ele simula processos de Markov de tempo contínuo arbitrariamente complexos (DAVIN et al., 2020) para um dado sistema químico. O algoritmo fornece cenários realistas com simulações paralelas de eventos no nível da sequência e do genoma (DALQUEN et al., 2012). Gillespie desenvolveu o algoritmo como alternativa a dois métodos formais de descrição do comportamento do tempo de um sistema químico espacialmente homogêneo: a) abordagem determinística que tenta resolver as equações diferenciais de taxas de reações; b) abordagem estocástica que trata a evolução do tempo como um processo random-walk governado por uma única equação diferencial denominada de master equation (GILLESPIE, 1977). 2.7 APRENDIZADO DE MÁQUINA (MACHINE LEARNING) Os dados biológicos geralmente são difíceis de serem interpretados. Devido a sua complexidade e grandes volumes, muitas vezes recorre-se à ciência de dados, em especial Machine Learning (ML), para dar luz ao que os dados podem responder. Desde predição de reposta a tratamentos contra o câncer (BAGAEV et al., 2021) a proposições de árvores filogenéticas (BHATTACHARJEE; BAYZID, 2020) ou melhoras no processo de construção 43 dessas árvores (AZOURI et al., 2021). Os modelos de ML podem ser classificados de acordo com algumas características gerais, como: surpevisionado, não-supervisionado e de reforço. O modelo escolhido depende do tipo de problema e do objetivo de se criar um modelo ML. No modelo supervisionado, o sistema produz suas saídas baseado nos dados de entrada. É preciso fornecer, nos dados de treinamento, tanto variáveis de entrada (input), quando os valores de saída (output) para que o sistema "aprenda"as relações entre a entrada e saída. A classificação de imagens em classes de animais é um exemplo de modelo supervisionado. Já o sistema não-supervisionado tenta, a partir de dados não rotulados, reorganizar e criar classes que respeitem alguma relação entre os dados (DAS, 2016). Neste caso, os métodos de construção de árvores filogenéticas, tratados na seção 2.4, seriam exemplos de modelos não-supervisionados. Já as diferenças entre regressão e classificação se dá pelo tipo de dado que o modelo deve predizer. Quando o modelo deve processar os dados de input e entregar uma classe, ou seja, uma escolha entre várias possibilidades, diz-se que o modelo é de classificação (SKIENA, 2020). Porém, se o modelo deve entregar um valor contínuo, como a renda média anual de determinada pessoa, ou o valor futuro de determinado ativo na bolsa de valores, define-se o modelo como de regressão (MÜLLER; GUIDO, 2016). A FIGURA 16 ilustra as diferentes aplicações de cada tipo de modelo de acordo com o problema e o objetivo do cientista. FIGURA 16 – MAPA DE DECISÕES PARA ENCONTRAR O MELHOR TIPO DE MODELO DE MACHINE LERANING FONTE: PEDREGOSA et al.(2011) A escolha do modelo certamente passa pela avaliação do qual melhor se adapta ao seu 44 problema, mas também pelas medidas de qualidade que cada modelo oferece para cada tipo de dados ou relações entre eles. As métricas mais difundidas e mais usuais para a validação do modelo de clasificação são a taxa de acurácia, F1-score e (AMANCIO et al., 2014). A medida de acurácia é, geralmente, a mais utilizada e considerada uma boa medida para dados balanceados, ou seja, dados que possuam quantidades próximas de dados em cada classe (STPOR, 2017). Caso os dados sejam desbalanceados, ou seja, exista significativa diferença entre as quantidades de dados para cada classe, a medida F1-score é melhor, segundo Stapor. Esta última depende tanto da taxa de acerto (true positive rate ou recall) e da taxa de falso negativo (false negative rate ou precision). Ambas são calculadas a partir dos dados da matriz de confusão na TABELA 4. Nesta tabela, as siglas são referentes aos termos em inglês, T é referente a true, F a false, P a positive e N a negative. TABELA 4 – MATRIZ DE CONFUSÃO Predição Positiva Predição Negativa Condição Positiva verdadeiro positivo (TP) falso negativo (FN) Condição Negativa falso positivo (FP) verdadeiro negativo (TN) FONTE: O Autor As equações a seguir representam respectivamente o cálculo da acurácia (2.20), precision (2.21), recall (2.22) e F1-score (2.23). 022 = )% + )# )% + �# + )# + �% (2.20) ?A428B8>= = )% )% + �% (2.21) A420;; = )% )% + �# (2.22) �1 − B2>A4 = 2 × ?A428B8>= × A420;; ?A428B8>= + A420;; (2.23) Outra forma de mesurar a qualidade de um modelo de machine learning é traçar a curva de recall vs 1-specificity (a EQUAÇÃO 2.24 refere-se ao cálculo da specificity), conhecida como curva Receiver Operating Characteristic (ROC). Com a curva, calcula-se a área sob ela (AUC: Area Under the Curve). Esta métrica é utilizada para contornar distorções na distribuição das classes (STPOR, 2017). A área sob a curva ROC é calculada através do cálculo da integral definida da curva. B?428 5 828CH = 1 − �% )# + �% (2.24) 45 3 MATERIAIS E MÉTODOS Para uma análise sobre o impacto na árvore filogenética ao variar-se a quantidade de sequências, o tamanho de sequências e a taxa de mutação, é necessário que exista um conjunto de árvores com valores controlados para cada uma das variáveis. Isso é impraticável com árvores reais, o controle destas características só pode ser feito, de forma ampla, com a simulação de sequências e árvores filogenéticas teóricas ou ideais, chamadas aqui de árvores de referência. Com as sequências simuladas, geram-se outras árvores calculadas por diferente métodos para então avaliar as distância entre estas árvores e as de referência. A proposição de modelos classificadores baseados em machine learning necessita de um conjunto de dados grande e robusto. Infelizmente não há como projetar um modelo apenas com as árvores presentes na literatura, o primeiro motivo é pela baixa quantidade de árvores curadas e que sejam um consenso na comunidade científica. Um segundo motivo, é que o treinamento seguiria apenas as relações criadas pelo métodos filogenéticos utilizados pelos cientistas, e não de distintos métodos que possam convergir para uma mesma árvore. Por isso, o processo de simulação das árvores também é essencial para o desenvolvimento do projeto. Para melhor entender o experimento pode-se separá-lo em 7 etapas descritas a seguir e ilustradas na figura FIGURA 17: 1. Simulação das árvores, sequências e alinhamentos tanto para sequências de aminoácidos (AA) quanto para sequências nucleotídicas (NT); 2. Cálculo das matrizes de dissimilaridade (pairwise); • Método dependente de alinhamento; • Métodos independente de alinhamento; 3. Clusterização das matrizes de dissimilaridade; 4. Cálculo de distância (Robinson-Foulds) entre as árvores de referência geradas no item 1 e as geradas no item 3. 5. Criação de classes de proximidade de distância baseados no valores relativos de Robinson- Foulds. 6. Escolha da variáveis de entrada (features) do modelo de machine learning. 7. Escolha, treinamento e validação do modelo. 46 FIGURA 17 – PAINEL ESQUEMÁTICO DO EXPERIMENTO FONTE: O Autor. NOTA: A base do experimento é divida em quatro principais etapas: (1) Simulação das árvores, sequências e alinhamentos; (2) Cálculo das matrizes de dissimilaridade pelo método SWeeP (livre de alinhamento) e pelo EMBOSS (baseado em alinhamento); (3) Clusterização das matrizes de dissimilaridade; (4) Cálculo das distâncias entre as árvores de Referência e as calculadas. 3.1 ETAPA 1: SIMULAÇÃO DE ÁRVORES, SEQUÊNCIAS E ALINHAMENTOS Para a geração in silico das árvores utilizou-se o programa INDELible(FLETCHER; YANG, 2009). Este programa gera árvores ideais respeitando a teoria e os processos evolutivos conhecidos. Isso permite gerar dendrogramas evolutivos com características definidas, como quantidade de sequências, tamanho das sequências, taxa de mutação, escala da árvore, tipos de modelos evolutivos, tipos de sequências (AA, NT ou códon), se a árvore é enraizada entre outras variáveis. Além das árvores ideais (referência), o INDELible gera as sequências e alinhamentos que podem dar origem às árvores simuladas. Neste experimento gerou-se árvores combinando-se as características de acordo com a TABELA 5. Os resultados foram obtidos tanto para sequências simuladas de nucleotídeos (NT) quanto para aminoácidos (AA), sendo que o modelo evolutivo para NT foi escolhido o F84, e para AA o Dayhoff, obtendo-se, portanto, 2508 árvores de referência com sequências nucleotídicas e a mesma quantidade para árvores de aminoácidos. Como o experimento é simulado, a escolha dos modelos evolutivos foi determinada pelos modelos disponíveis tanto na ferramenta INDELibe quanto no EMBOSS (RICE et al., 47 TABELA 5 – CARACTERÍSTICAS DA SIMULAÇÃO: QUANTIDADE, TAMANHO E TAXA DE MUTAÇÃO Características Valores Quantidades de Sequências {10, 20, 30, ..., 110} Tamanhos das Sequências {50, 75, 100 ..., 1450} Taxas de Mutação {0.01, 0.1 , 0.5 , 1.0} Modelos Evolutivos F84 (NT) e Dayhoff (AA) Tipo Ultramétrica e Não Enraizada (unrooted) FONTE: O Autor. 2000). Além disso, escolheu-se modelos que pudessem gerar menos erros possíveis durante a obtenção das matrizes de distância. Como a função matemática do modelo F84 não possui descontinuidade ou valores não pertencentes ao conjunto dos números reais, optou-se por este modelo. Os experimentos com os modelos Jukes-Cantor e Kimura-2 parâmetros foram abandonados, pois nestes modelos as transformações são dependentes de funções que geraram, em várias simulações, valores não pertencentes ao conjunto dos números reais, impossibilitando a criação de árvores a partir delas. Uma vez geradas todas as árvores de referência, sequências e alinhamentos, dá-se continuidade à etapa 2 com o cálculo das matrizes de distância das sequências e alinhamentos. 3.2 ETAPA 2: CÁLCULO DAS MATRIZES DE DISSIMILARIDADE Com o intuito de também avaliar a proximidade das árvores de referência às árvores geradas por métodos dependentes e independentes de alinhamento, dividiu-se esta etapa em duas subetapas. A primeira calculando-se as matrizes de dissimilaridade a partir dos alinhamentos com a ferramenta EMBOSS. Já a segunda etapa com a ferramenta SWEEP (DE PIERRI et al., 2020) a partir das sequências não alinhadas, uma vez que esta ferramenta calcula a dissimilaridade sem a necessidade de alinhamento. 3.2.1 Cálculo de matrizes dependentes de alinhamentos - EMBOSS Com a ferramenta EMBOSS, cada alinhamento deu origem a uma única matriz de dissimilaridade, ou seja, 2508 matrizes NT e outras 2508 matrizes AA. Para o cálculo das matrizes de sequências nucleotídicas utilizou-se a função fdnadist e o modelo evolutivo F84. Já para os alinhamentos de sequência de aminoácidos, a função utilizada foi a fprotdist e o modelo evolutivo Dayhoff. Calculadas as matrizes para cada alinhamento, segue-se para a obtenção das árvores clusterizadas pelos métodos de distância na etapa 3. 48 3.2.2 Cálculo de matrizes independentes de alinhamentos - SWeeP Se o EMBOSS gera uma única matriz corrigida para cada alinhamento, o SWeeP gera um vetor representando cada conjunto de sequências. Para prosseguir com a clusterização, a distância par a par (pairwise) entre cada elemento do vetor deve ser calculada. No experimento com o SWeeP, os seguintes métodos de distância par a par foram avaliados: euclidean, kulsinski, chebyshev, yule, russellrao, correlation, rogerstanimoto, sqeuclidean, canberra, dice, cityblock, sokalsneath, cosine, braycurtis, sokalmichener, hamming, jaccard. As matrizes de distâncias par a par foram calculadas através pacote Scipy (VIRTANEN et al., 2020). Com o método SWeep, para cada conjunto de sequências de referência, pode-se gerar até 17 matrizes de distâncias, ou seja, nesta etapa são calculadas 2508G17 matrizes de distâncias. Para os cálculos dos vetores, manteve-se os argumentos padrões da função sweep tanto para NT, quanto para AA. As matrizes de transformação ortonormais, necessárias para o cálculo, es- tão as disponíveis em https://sourceforge.net/projects/spacedwordsprojection/. 3.3 ETAPA 3: CLUSTERIZAÇÃO DAS MATRIZES DE DISSIMILARIDADE Com as matrizes de distância calculadas, segue-se para o agrupamento das sequências e geração das árvores. Neste trabalho, foram geradas árvores com modelos clássicos de clusterização pelo método da distância. Os métodos abordados são: single, complete, average, weighted, median, centroid, ward e neighbor joining. A clusterização pelo método neighbor joining foi obtida através do pacote Scikit-bio (TEAM, 2020), as demais pelo Scipy (VIRTANEN et al., 2020). Para manter a padronização do experimento, todas as árvores calculadas foram ultramé- tricas e não enraizadas. Como o método neighbor joining pode gerar árvores não ultramétricas, usou-se o pacote ETE3 Toolkit (HUERTA-CEPAS et al., 2016) para forçar a transformação em ultramétrica. Este processo é repetido para cada árvore simulada. Por exemplo, o experimento para uma árvore de referência gerada a partir de um conjunto de 10 sequências, com tamanho de 50 caracteres e taxa de mutação igual a 0.1, será comparada com as árvores geradas pelo EMBOSS e pelo SWeeP. O processo que envolve o EMBOSS gerará apenas uma matriz de distância que será clusterizada pelos métodos clássicos citados, ou seja, uma árvore simulada será comparada com outras 8 geradas por distintos métodos. Já com o SWeeP, como exige o cálculo da matriz de dissimilaridade durante o processo, calcula-se 17 diferentes métricas de dissimilaridade (citadas anteriormente), e cada matriz resultante de cada métrica é clusterizada pelos 8 métodos distintos de clusterização. Ou seja, no processo do SWeeP, cada árvore de referência será comparada a outras 136 árvores. Isso é feito para verificar qual métrica e método mais se aproxima da árvore de referência, e como cada variação na característica das sequências afetam a acurácia dos métodos e métricas de clusterização. https://sourceforge.net/projects/spacedwordsprojection/ 49 3.4 ETAPA 4: CÁLCULO DE DISTÂNCIA ENTRE AS ÁRVORES Uma vez geradas todas as árvores a partir do alinhamento ou das sequências, calculou- se as distâncias entre cada árvore obtida por diferentes métodos à sua referência (simulada). Os métodos de distâncias calculados entre as árvores foram: Robinson-Foulds (S), Weighted- Robinson-Foulds (W), Euclidean (E) e Geodesic Distance (G). A Geodesic Distance foi calculada com o pacote TreeCL (GORI et al., 2016), as demais distâncias foram calculadas pelo pacote Dendropy (SUKUMARAN; HOLDER, 2010). Apesar de todas as distâncias serem calculadas, nem todas foram analisadas. As distâncias de Robinson-Foulds são usadas para medida de similaridade da ordem dos clados, as demais também consideram o tamanho das arestas nos cálculos de distâncias entre árvores que foram avaliadas. Porém, como as distâncias de Robinson- Folds mantiveram-se altas, abandonou-se as análises com as distâncias W, S e G, pois as árvores dissimilares, mas com alguns ramos similares e longos podem gerar falsos valores de proximidade. Uma vez calculadas e normalizadas as distâncias entre árvores, fez-se a análise dos dados obtidos a fim de saber quais métodos geraram os melhores resultados para as diferentes configurações de árvores e sequências. 3.5 ETAPAS 5,6 E 7: CONSTRUÇÃO DO MODELO DE CLASSIFICAÇÃO DE ÁRVORES FILOGENÉTICAS Os resultados do experimento simulado na seção 3.1 foram utilizados para estruturação e desenvolvimento de um modelo de classificação supervisionado de árvores filogenéticas. A FIGURA 18 ilustra os dados utilizados nesta etapa. O objetivo é criar um modelo baseado em machine learning queclassifique a qualidade da árvore a partir dos dados de distância das árvores calculadas às árvores de referência. Para isso, seguiu-se os seguintes passos: 1. Definição das classes (labels): Definiu-se quatro classes a partir dos dados de dissimi- laridade normalizada de Robinson-Foulds (D), são elas: � ≤ 0.25, 0.25 < � ≤ 0.50, 0.50 < � < 0.75 e � ≥ 0.75. 2. Definição das variáveis de entrada (features): Como features do modelo, utilizou-se grandezas características das árvores, como raio e eficiência global, assim como relações entre a matriz que identifica a árvore (matriz cofenética) e a matriz de distância que dá origem à respectiva árvore. 3. Definição do modelo de aprendizado de máquina: Para a escolha do modelo, fez-se diversos testes com diferentes modelos supervisionados de machine learning. Definiu-se o modelo com base nas métricas de qualidade de cada modelo. 50 FIGURA 18 – PAINEL ESQUEMÁTICO DO EXPERIMENTO DEMONSTRANDO DADOS UTILI- ZADOS PARA O DESENVOLVIMENTO DO MODELO DE MACHINE LEARNING FONTE: O Autor. NOTA: Os dados utilizados são as classes obtidas a partir dos dados de dissimilaridade entre as árvores calculadas e as árvores de referência, assim como as características das árvores cacluladas, como raio, eficiência global e coeficiente cofenético. 3.5.1 Definição das variáveis de entrada (features) Primeiramente, considerou-se apenas características intrínsecas das árvores, como seu raio e sua eficiência global. Porém, além dos valores de acurácia do modelo serem baixos (no máximo 0.60), criou-se um modelo enviesado, pois apenas árvores com menores quantidades de linhagens eram classificadas com distância de Robinson-Foulds normalizada menores ou igual a 0,25. Para corrigir este viés, inseriu-se variáveis que representassem a qualidade da árvore construída relação à matriz de distância que lhe deu origem. A maneira mais comum de se mensurar essa relação é o cálculo do coeficiente cofenético, que é o valor da correlação de pearson entre a matriz cofenética (matriz que representa a árvore) e a matriz de distância sobre a qual a árvore é calculada. Entre essas duas matrizes calculou-se também a correlação de spearman, permitindo atingir valores de acurácia de até 0.80 ao inserir esta correlação ao modelo. As mesmas correlações (pearson e spearman) foram calculadas entre os autovalores da matriz cofenética e os autovalores da matriz de distância, ignorando-se as coordenadas imaginárias das relações. Para o cálculo das relações entre matrizes cofenética e matrizes de distância, utilizou-se o pacote scipy (VIRTANEN et al., 2020), já para os cálculos referentes ao raio e eficiência global das árvores, utilizou-se o 51 pacote networkx (HAGBERG et al., 2008). 3.5.2 Definição do modelo de aprendizado de máquina Antes de treinar e validar o modelo, optou-se por normalizar os dados de entrada pela método dos máximos e mínimos. Então separou-se 70% dos dados para treinamento do modelo, e 30% para a validação. Após pré-processamento dos dados, testou-se diversas técnicas de machine learning, como Random Forest, Support Vector Machine (SVM), K-Nearest Neighbors (KNN) e Multi-layer Perceptron (MLP). Para o desenvolvimento dos modelos, utilizou-se o pacote scikit-learn (PEDREGOSA et al., 2011). 3.6 DELIMITAÇÃO DO EXPERIMENTO O experimento proposto gera dados que podem responder a questões e problemas que estejam de acordo com as delimitações e características abordadas neste projeto, que são: • Sequências de nucleotídeos (NT) e aminoácidos (AA); • Quantidades de sequências contidas no conjunto Q = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110}; • Tamanhos de sequências contidas no conjunto T = {50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600, 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875, 900, 925, 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175, 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400, 1425, 1450}; • Taxas de mutações contidas no conjunto M = {0.01, 0.1 , 0.5 , 1.} • Modelos evolutivos F84 para nucleotídeos e Dayhoff para aminoácidos. • O tipos das árvores são não enraizadas e ultramétricas; • As matrizes de distâncias consideradas são as matrizes de dissimilaridade; • Para a etapa independente de alinhamento, as matrizes de distâncias são calculadas pelas métricas euclidean, kulsinski, chebyshev, yule, russellrao, correlation, rogerstanimoto, sqeuclidean, canberra, dice, cityblock, sokalsneath, cosine, braycurtis, sokalmichener, hamming, jaccard; • Os métodos de clusterização hierárquica abordados são single, complete, average, weighted, median, centroid, ward e neighbor joining; • As distâncias analisadas são as obtidas pelo método Robinson-Foulds normalizado; • A classificação das árvores é limitada a quatro classes: � ≤ 0.25, 0.25 < � ≤ 0.50, 0.50 < � < 0.75 e � ≥ 0.75; 52 • As variáveis de entrada para classificar uma árvore filogenética são: raio, eficiência global, correlação de pearson e spearman entre matriz cofenética e matriz de distância, correlação de pearson e spearman entre autovalores da matriz cofenética e autovalores matriz de distância. 3.7 LIMITAÇÕES DO EXPERIMENTO Devido a grande quantidade de dados gerados e avaliados, as conclusões do experimento não levam em consideração a comparação visual das árvores em relação à árvore de referência. Ademais, o experimento não leva em consideração o nível de confiança dos clados de cada árvore, ou seja, não efetuou-se processos como bootstrap e jacknife. O experimento independente de alinhamento não teve suas matrizes corrigidas pelo modelo evolutivo F84 para nucleotídeos e Dayhoff para aminoácidos, uma vez que não há metodologia de aplicação destes modelos evolutivos a abordagens livres de alinhamento. Outra importante limitação é a sujeição do experimento ao viés do programa INDELible (FLETCHER; YANG, 2009). Não se pode afirmar categoricamente que os resultados aqui obtidos sejam reproduzidos para árvores reais ou para árvores geradas por outros programas desenvolvidos para a simulação evolutiva. 3.8 LISTA DE PACOTES E PROGRAMAS UTILIZADOS Na TABELA 6 a seguir estão descritos programas e pacotes utilizados para o desenvol- vimento do experimento. 53 TABELA 6 – RESUMO DE PROGRAMAS E PACOTES UTILIZADOS Pacote /Programa Funções Usadas Objetivo INDELible indelible Gerar árvores, sequências e alinhamentosde referência. EMBOSS fdnadist, fprotdist Calcular a distância entre as sequências dereferência alinhadas. SWeeP sweep() Gerar vetores a partir das sequências dereferência. Scipy scipy.spatial.distance(), scipy.spa- tial.squareform(), scipy.cluster.hi- erarchy(), scipy.stats.spearmanr(), scipy.stats.pearsonr() Cálculo das matrizes de distâncias, transfor- mação das matrizes na forma condensada, clusterização e cálculo de correlações de spearman e pearson. Scikit-learn sklearn.preprocessing(), sklearn.mo- del_selection(), sklearn.ensemble(), sklearn.naive_bayes(), sklearn.neighbors(), sklearn.neural_network(), skle- arn.metrics() Normalização, seleção de dados de treino e teste, treinamento de modelos, qualidade de modelos. Scikit-bio skbio.DistanceMatrix(),skbio.tree.nj() Clusterização das matrizes pelo método neighbor joining. ETE Toolkit convert_to_ultrametric() Forçar as árvores de referência e as calcula- das por neighbor joining a serem ultramé- trica. Dendropy get().as_string(), symmetric_difference(), euclidean_distance(), weighted_robinson_foulds_ distance() Leitura dos arquivos tipos newick e cálculos das distâncias Robinson-Foulds, Weighted- Robinson-Foulds, Euclidean tree_distance getGeodesicDistance() Cálculos de Geodesic Distance entre asárvores. Networkx networkx.radius(), networkx.glo- bal_efficiency(), networkx.resis- tance_distance() Cálculode raio, eficiência global e resistên- cia das árvores Bioconda Criação de ambiente virtual para instalaçãodos pacotes e programas. FONTE: O Autor. 54 4 RESULTADOS E DISCUSSÃO Este capítulo dedica-se a apresentar os resultadosobtidos e avaliar relações entre as mais de um milhão e oitocentas distâncias calculadas (1.827.077). Os resultados apresentados neste capítulo estão divididos em três principais partes. A primeira dedicada a avaliar os resultados para o processo dependente de alinhamento. A segunda avalia os resultados para o processo independente de alinhamento. Ressalta-se que as análises são separadas entre os tipos de sequências - aminoácidos e nucleotídeos. E por fim, a terceira parte dedica-se à criação de um modelo baseado em aprendizado de máquina para classificar árvores filogenéticas baseando-se na sua relação a árvore de referência, ou seja, a árvore teórica. 4.1 RESULTADOS DEPENDENTES DE ALINHAMENTO 4.1.1 Sequências de nucleotídeos Na figura FIGURA 19 (A), nota-se que o método neighbor joining (nj) apresenta uma distribuição de dados mais próxima das árvores de referência. Os testes p-valor (Mann-Whitney- Wilcoxon) da figura FIGURA 19 (B) confirmam a diferença estatística relevante dos demais métodos, demonstrando que, para sequências nucleotídicas alinhadas, este é o melhor método de clusterização dentre os abordados neste trabalho. Esse comportamento se confirma nos gráficos C, D e E da figura FIGURA 19. As árvores obtidas, para cada característica de sequência, que mais se aproximam da árvore referência são as árvores obtidas por nj. Os gráficos C, D e E representam a média das distâncias para cada agrupamento no eixo x. Por exemplo, para compor o gráfico C, calculou-se os valores médios de distâncias para cada valor de quantidade de sequências (eixo x). O mesmo foi feito para o gráficos D e E. Como apenas o método neighbor joining apresentou valores próximos às árvores de referência, apenas as suas curvas serão analisadas. É interessante notar que, conforme aumenta-se a quantidade de sequências, mais distante da referência as árvores ficam. Uma direção parecida acontece em relação à taxa de mutação, porém, com a diferença inicial da curva. Para uma mutação de 0,01, a menor taxa experimentada, tem-se a maior distância da árvore de referência. A partir da taxa de mutação igual a 0,1, a curva passa a ser acendente. Já a curva do tamanho da sequência tem uma comportamento inverso, quanto menor o tamanho das sequências, maior a distância em relação à árvore de referência. Conforme aumenta-se o tamanho da sequência, os valores se estabilizam, ou seja, as diferenças possuem pouca variação. Nos gráficos da FIGURA 20 é possível verificar se há diferenças estatísticas relevantes 55 FIGURA 19 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA NUCLEOTÍDICA E DEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Variação da distância à árvore de referência ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de nucleotídeos para método dependente de alinhamento. entre os pontos da curva do método nj, ou seja, se as árvores com sequências de tamanhos diferentes são mais distantes das árvores de referência. Para a quantidade de sequências, tem-se apenas a amostra de 10 sequências se dife- renciando de todas as demais. Até 40 sequências há diferenças relevantes entre as amostras, podendo-se dizer que há relativo aumento das distâncias quando varia-se de 10 a 40. Já para quantidade acima de 40, pode-se dizer que a amostras não são diferentes entre si, ou seja, pode-se aumentar a quantidade de sequências que a média da distância à referência não se altera de forma relevante. A variação da taxa de mutação também possui diferenças estatísticas significativas entre si. Apenas a taxa de mutação igual a 0,1 não se diferencia da taxa de 0,5. Ao analisar o boxplot e o histograma para variação dos tamanhos de sequência, é possível notar que até um tamanho 56 FIGURA 20 – BOXPLOTS DAS VARIAÇÕES DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA NUCLEOTÍDICA E DEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Boxplots das variações das distâncias à árvore de referência ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de nucleotídeos. Heatmaps com p-valores da comparação entre cada conjunto. Para método dependente de alinhamento. de sequência de 975 nucleotídeos, há diferença entre as amostras, ou seja, pode-se dizer que conforme aumenta-se o tamanho, mais o resultado se aproxima da árvore de referência. Porém, ao analisar os pontos a partir de 975 do gráfico F da FIGURA 20, a maioria dos pontos maiores ou iguais a 975 não se diferenciam entre si. Pode-se dizer, de forma generalizada, que a partir de 975 nucleotídeos, não há impacto relevante na diferenciação das árvores, isso ocorre devido ao efeito de saturação abordado na seção 2.4.1. 4.1.2 Sequências de aminoácidos Para sequências de aminoácidos (aa) é possível avaliar comportamento semelhante ao já analisado para as sequências nucleotídicas. Na FIGURA 21 é possível verificar curvas das médias com direções semelhantes às curvas de nucleotídeos para o método de neighbor joining. Os boxplots e os heatmaps dos p-valores também são semelhantes, ou seja, diferença entre o 57 início e fim das curvas. Na FIGURA 22 é possível verificar que o que se altera da análise de nucleotídeos para aminoácidos é o limite da diferenciação, por exemplo, para a quantidade de sequências de aminoácidos, a partir 30 sequências não há diferença estatística entre as amostras. Ou seja, a partir 30 não se pode afirmar que a distância continuou aumentando, para nt esse limite era de 40. Para a taxa de mutação só não há diferença entre as amostras de 0,1 e 1,0, demonstrando que para uma taxa de 0,01, a árvores geradas realmente se distanciam da referência mais do que as demais. Para o tamanho das sequências, semelhante à análise de nucleotídeos, pode-se dizer que apenas o início da curva se diferencia das amostras ao final da curva. Percebe-se que de 50 a 800 aminoácidos, há uma diminuição da distância às árvores, já a partir de 800 aminoácidos não há diferença estatística entre a maioria das amostras (com exceção do sample de 1375 aminoácidos). Ou seja, a partir de 800 aminoácidos, ao aumentar o tamanho das sequências, não se pode afirmar que a distância à árvore de referência diminui. 4.2 RESULTADOS INDEPENDENTES DE ALINHAMENTO O método SWeeP, analisado nesta seção, gerou resultados diferentes do método depen- dente de alinhamento. Antes de prosseguir é importante ressaltar que neste experimento não há correção do modelo evolutivo. Por isso, a direção da curva é mais importante do que o valor de distância à árvore, pelo menos até que algum método de correção evolutiva seja desenvolvido para o método independente de alinhamento. 4.2.1 Sequências de nucleotídeos Para este experimento pode-se notar na FIGURA 23 dois principais resultados diferentes do experimento dependente de alinhamento: maiores curvas médias e, ao menos, 4 métodos de clusterização geraram bons resultados em relação aos demais (nj, median, centroid e ward). Não se pode afirmar o motivo de valores médios maiores, mas pode-se especular ao menos dois. A falta de correção para o modelo evolutivo F84, ou, o método independente em questão pode ser melhor aproveitado em outras combinações de características das sequências, conforme já demonstrado em artigo sobre a ferramenta (DE PIERRI et al., 2020). Por este motivo, a análise dos resultados é feita sem comparar a eficiência dos métodos dependentes com os independentes de alinhamento. Este mesmo critério é adotado para a análise das sequências de aminoácidos. Além dos métodos nj, median, centroid e ward gerarem resultados melhores que os 58 FIGURA 21 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE AMINOÁCIDOS E DEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Variação da distância à árvore de referência ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de aminoácidos para método dependente de alinhamento. demais, é possível notar que a variação da taxa de mutação aumenta as distâncias médias das árvores de referência de maneira significativa,ou seja, com considerável variação de 50,0 pontos entre as taxas de mutação de 0,1 a 1,0 para os métodos median, centroid e ward. Além da taxa crescente para a mutação, para a quantidade de sequências, também há aumento da distância com o aumento da quantidade. E já com o aumento do tamanho das sequências, há um decréscimo inicial da distância e uma estabilização também proveniente do efeito de saturação da medida de distância entre sequências. Para avaliar os 4 métodos com distâncias mais próximas da referência, verificou-se se há relevância estatística entre as médias apresentadas na FIGURA 23 (B). Para melhor entender o comportamento destes métodos, deve-se avaliar como cada métrica utilizada na obtenção das matrizes de distância interferem na árvores final. A FIGURA 24 ilustra os valores das médias para cada combinação de método-métrica. É possível visualizar que para nj, as melhores métricas são euclidean, correlation, chebyshev e cosine, nesta ordem. O método weighted com a métrica 59 FIGURA 22 – BOXPLOTS DAS VARIAÇÕES DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE AMINOÁCIDOS E DEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Boxplots das variações das distâncias à árvore de referência ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de aminoácidos. Heatmaps com p-valores da comparação entre cada conjunto. Para método dependente de alinhamento. sokalsneath também gerou um bom resultado. Os métodos centroid, median e ward, com a métrica euclidiana, geraram resultados próximos aos obtidos por nj. Esses três métodos de clusterização, por definição, só podem ser aplicados a matrizes calculadas pela métrica euclidiana, por isso, para estes métodos, preencheu-se as outras métricas com valores médios máximos (100% de diferença) para a construção da figura FIGURA 24. Com os pares métricas-métodos com menores valores médios de distância, analisou-se como as características de taxa de mutação, tamanho e quantidade de sequências afetam a árvore final. Com os resultados da FIGURA 25 (A), pode-se notar que o método nj com a métrica cosine apresenta os maiores valores de distâncias, seguido pelo método nj com a métrica chebyshev. Estatisticamente a diferença desses dois pares aos demais é relevante, na FIGURA 25 (B) é possível verificar os p-valores sinalizando tal diferença. Nesta mesma figura é possível verificar que entre 60 FIGURA 23 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA NUCLEOTÍDICA E INDEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Variação da distância à árvore de referência ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de nucleotídeos para método independentes de alinhamento. os pares weighted-sokalsneath, ward-euclidean, nj-euclidean, median-euclidean, nj-correlation e centroid- euclidean não há diferença estatisticamente relevante, o que permite especular que as árvores obtidas por um destes 6 pares método-métrica não geram resultados diferentes entre si, pelo menos em termos de distância de Robinson-Foulds. Esta comportamento fica mais evidente ao visualizar a semelhança entre as curvas de distâncias médias pela quantidade de sequências, taxas de mutação e tamanho das sequências, FIGURA 25 (C, D e E), respectivamente. É importante também verificar como os valores de distância método-métrica se diferen- ciam para cada uma das características das sequências, a FIGURA 26 ilustra esse comportamento. Para facilitar a visualização e explicação, apenas os heatmaps são mostrados. Porém, todas as curvas seguem as mesmas direções das figuras anteriores. Com poucas diferenças entre os pares métodos-métrica, é possível verificar que há aumento das distâncias com o aumento das 61 FIGURA 24 – DISTÂNCIA MÉDIAS DAS ÁRVORES DE SEQUÊNCIAS NUCLEOTÍDICAS E INDEPENDENTES DE ALINHAMENTO FONTE: O Autor. NOTA: Distância médias das árvores geradas por métodos e métricas diferentes em sequências de nucleotídeos para método independentes de alinhamento. quantidades de sequência, a partir de 30 sequências para weighted-sokalsneath, nj-correlation e centroid- euclidean pode-se dizer que não há diferença entre as amostras, ou seja, há aumento da distância entre as amostras de 10 e 30 e após isso há uma certa estabilidade. Já para os pares ward-euclidean, nj-euclidean e median-euclidean, o limite de diferenciação é de 20 sequências, ou seja, há aumento da distância entre o intervalo 10 e 20, e então segue-se uma estabilidade de distância entre as árvores calculadas e a referência. Já o efeito da variação da taxa de mutação contatou-se diferença significativa para todos os pares método-métrica para cada taxa. Ou seja, há uma queda da distância entre a taxa de 0,01 e 0,1, e após isso uma constante alta, podendo-se afirmar que, estatisticamente, a partir de 0,1 há aumento da distância conforme aumenta-se a taxa de mutação. Ao aumentar o tamanho da sequência obtém-se uma curva descendente de médias de distâncias. Estes valores convergem para uma estabilidade próximo a um tamanho de sequências a 250 nucleotídeos. Ou seja, a partir de 250 nucleotídeos, com poucas exceções, não há diferença 62 FIGURA 25 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO- MÉTRICA EM SEQUÊNCIAS NUCLEOTÍDICAS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO FONTE: O Autor. NOTA: Variação da distância à árvore de referência de pares método-métrica relevantes ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de nucleotídeos para método independentes de alinhamento. estatística relevante entre os valores médios das amostras. Pode-se especular que devido ao efeito da saturação da dissimilaridade entre as sequências, os métodos de clusterização geram clusters muito parecidos entre si. 4.2.2 Sequências de aminoácidos Na FIGURA 27, para as sequências de aminoácidos, obteve-se direções parecidas das curvas obtidas com nucleotídeos, porém, é interessante verificar que o patamar das curvas são mais próximos da referência para as sequências de aminoácidos. É possível afirmar esta diferença apenas para os métodos median, centroid e ward, uma vez que o método nj manteve-se distante da árvore de referência em um patamar próximo ao calculado para nucleotídeos. 63 Para melhor entender o comportamento dos 4 principais métodos dessa análise, median, centroid, ward e nj, calculou-se a média de distâncias da árvore de referência para cada par método-métrica, as melhores médias podem ser vistas na figura FIGURA 28. Existem alguma diferenças entre os resultados demonstrados nesta figura e os resultados para nucleotídeos da FIGURA 24, porém, para a menores médias, o comportamento manteve-se o mesmo. Ou seja, bons resultados da métrica euclidean para os métodos median, centroid e ward. Para nj com as métricas euclidean, correlation, chebyshev e cosine, assim como para o método weighted combinado com a métrica sokalsneath. Com os melhores resultados de pares método-métrica para aminoácidos, é interessante avaliar cada par e verificar o comportamento das curvas ao variar as características das sequências. Esse comportamento pode ser visualizado na FIGURA 29 (A). Igualmente ao demonstrado para sequências nucleotídicas, os pares nj-cosine e nj-chebyshev apresentaram as maiores distâncias. Os pares métodos-métricas weighted-sokalsneath, ward-euclidean, nj-euclidean, median-euclidean, nj-correlation e centroid-euclidean apresentaram menores valores médios e, com exceção da comparação entre weighted-sokalsneath e median-euclidean, não possuem diferenças estatísticas relevantes entre si, conforme FIGURA 29 (B). Pelo critérios de distância de Robinson-Foulds, pode-se especular também que esses métodos geram árvores muito parecidas entre si, a FIGURA 29 (C, D e E) também permitem chegar a esta conclusão, visto que as curvas médias para cada característica são semelhantes. Para entender melhor as curvas da FIGURA 29, avalia-se o quão diferente as amostras são entre si e, principalmente, qual o pontode convergência das distâncias, ou seja, a partir de qual valor a curva se estabiliza. Analisando os p-valores da FIGURA 30 é possível determinar estes pontos. Com esta figura é possível especular que entre 10 e 30 sequências há um aumento da distância de entre as árvores calculadas para os métodos em questão e as árvores de referência. E a partir de 30 sequências, não há mais aumento estatisticamente relativo da distância ao aumentar a quantidade das sequências, ou seja, pode-se dizer que a partir de 30 sequências, os resultados convergem para um patamar de distância. A taxa de mutação mantém o comportamento de queda da distância entre os valores 0,01 e 0,1, e a partir de 0,1 passa a se comportar, visualmente, como um reta ascendente, ou seja, conforme aumenta-se a taxa de mutação, aumenta-se a distância. É interessante verificar na FIGURA 29 (D) que o valor médio da distância em 0,01 é muito próximo ao valor da distância para uma taxa de 0,5. Isso é confirmado pela FIGURA 30 (E, H e K), em que demonstra-se que não há relevante diferença estatística entre estas duas amostras de taxas de mutação. É possível também verificar nos heatmaps para taxa de mutação, que todos os valores de médias podem ser 64 considerados não-iguais, ou seja, pode-se dizer que há aumento da distância com o aumento da taxa de mutação para os valores 0,1, 0,5 e 1,0. Para as comparações dos valores de tamanho de sequência nota-se um aumento do limite de convergência. É possível notar diferença entre as amostras até um valor de 450 de tamanho de sequência de aminoácidos, em contraponto aos 250 para sequências nucleotídicas. Esse aumento é esperado uma vez que se reduz o efeito da saturação com mais caracteres para se comparar. Para diferenciar sequências de nucleotídeos tem-se até 4 caracteres diferentes para calcular a dissimilaridade, já para sequências de aminoácidos tem-se até 20 caracteres. 4.3 TREINO E VALIDAÇÃO DO MODELO CLASSIFICADOR DE ÁRVORES FILOGENÉ- TICAS Com as árvores calculadas e com as distâncias entre árvores de referência, pode-se projetar um modelo de classificação baseado em machine learning para predizer a qualidade de cada árvore gerada de acordo com sua distância à árvore de referência. A função GridSearchCV() do pacote scikit-learnig retornou as métricas de qualidade dos melhores hiperparâmetros para os métodos KNN, MLP, Random Forest e SVM. O método que gerou melhores métricas de qualidade foi o Random Forest, conforme TABELA 7 e TABELA 8. A FIGURA 31 ilustra o processo de treinamento, com as etapas de seleção das features, normalização da matriz de entrada, treinamento e teste do modelo e, por fim, a predição das classes previamente definidas. TABELA 7 – MELHORES MÉTRICAS OBTIDAS COM GRIDSEARCHCV Método Accuracy mean Precision mean Recall mean F1 mean Média Random Forest 0, 786 0, 788 0, 786 0, 787 0, 787 KNN 0, 735 0, 738 0, 735 0, 736 0, 736 MLP 0, 717 0, 717 0, 717 0, 715 0, 717 SVM 0, 674 0, 673 0, 674 0, 660 0, 670 FONTE: O Autor. TABELA 8 – MELHORES HIPERPARÂMETROS OBTIDOS COM GRIDSEARCHCV Método Hyperparâmetros Random Forest ’criterion’: ’gini’, ’n_estimators’: 150 KNN ’algorithm’: ’auto’, ’n_neighbors’: 20, ’weights’: ’distance’ MLP ’activation’: ’relu’, ’learning_rate’: ’constant’, ’solver’: ’adam’ SVM ’C’: 5, ’degree’: 3, ’kernel’: ’rbf’ FONTE: O Autor. 65 A quantidade de elementos em cada classe foi balanceada, contendo 12745 elementos em cada grupo. As classes e as features estão listadas a seguir. • Classes: Distâncias de Robinson-Foulds (D). – � ≤ 0, 25; – 0, 25 < � ≤ 0, 50; – 0, 50 < � < 0, 75; – � ≥ 0, 75; • Features: – Raio da árvore; – Eficiência Global da árvore; – Relações entre matriz cofenética e matriz de distância; ∗ Coeficiente cofenético (pearson); ∗ Correlação de spearman; – Relações entre os autovalores da matriz cofenética e da matriz de distância; ∗ Correlação de pearson; ∗ Correlação de spearman; O método Random Forest gerou uma matriz de confusão com valores da diagonal principal menos variáveis, conforme tabela TABELA 9. Ou seja, os valores de verdadeiros positivos e verdadeiros negativos são bem mais elevados que os falsos positivos e falsos negativos. É importante verificar que as classes � ≤ 0, 25 e � ≥ 0, 75 possuem os melhores valores de acertos quando comparados às classes 0, 25 < � ≤ 0, 50 e 0, 50 < � < 0, 75. Permitindo concluir que os valores intermediários podem predizer dados menos acurados que as duas primeiras. TABELA 9 – MATRIZ DE CONFUSÃO DE CADA CLASSE DO MODELO RANDOM FOREST D <= 0,25 D >= 0,75 0,25 < D <= 0,50 0,50 < D < 0,75 D <= 0,25 3216(83%) 1(0%) 605(16,5%) 46(1,2%) D >= 0,75 0(0%) 3268(86%) 14(0,04%) 514(13,5%) 0,25 < D <= 0,50 715(18,5%) 1(0%) 2687(69,5%) 465(12%) 0,50 < D < 0,75 73(1,9%) 318(8,5%) 495(13,5%) 2876(76,4%) FONTE: O Autor. 66 Além disso, outras métricas também indicaram que o modelo pode classificar as árvores com boa qualidade. Na tabela TABELA 10 encontra-se os valores médios de outras métricas. TABELA 10 – MÉTRICAS MÉDIAS PARA VALIDAÇÃO DO MODELO RANDOM FOREST Médias das Métricas Valores Accuracy score 0, 79 Precision score 0, 79 Recall score 0, 79 F1 score 0, 79 FONTE: O Autor. Na TABELA 11 tem-se as métricas do modelo detalhadas para cada classe. É possível verificar que os melhores valores correspondem às classes � ≤ 0, 25 e � ≥ 0, 75. TABELA 11 – MÉTRICAS DETALHADAS POR CLASSE PARA VALIDAÇÃO DO MODELO RAN- DOM FOREST Classes Precision Recall F1 score � ≤ 0, 25 0, 80 0, 83 0, 81 � ≥ 0, 75 0, 91 0, 86 0, 88 0, 25 < � ≤ 0, 50 0, 71 0, 70 0, 70 0, 50 < � < 0, 75 0, 74 0, 76 0, 75 Accuracy 0, 79 0, 79 0, 79 Média Ponderada 0, 79 0, 79 0, 79 FONTE: O Autor. Ao aplicar a técnica Cross Validation para gerar diferentes valores de acurácia para diferentes dados de treino, os valores se concentraram entre 0,75 e 0,80, conforme FIGURA 32. Demonstrando boa consistência nos resultados de acurácia. A métrica de área sobre a curva ROC (auc) também possui valores satisfatórios para este modelo. Todas as classes tem área acima de 0, 50 e se aproximam de 1, 00. As classes com valores extremos de proximidade, � ≤ 0, 25 e � ≥ 0, 75, possuem as melhores métricas com valores de área sob a curva ROC de 0.96 e 0.98, respectivamente. As classes 0, 25 < � ≤ 0, 50 e 0, 50 > � ≥ 0, 75 também possuem valores satisfatórios acima de 0, 90, 0, 91 e 0, 93 respectivamente. 4.4 TACOS: PACOTE PYTHON E APLICAÇÃO WEB Os códigos criados para o desenvolvimento do projeto foram compilados em um pacote em python para usuários avançados e, em um site amigável (FIGURA 34), aos usuário menos 67 familiarizados com linhas de códigos python. O pacote e o site permitem, facilmente, que o usuário gere árvores pelos diferentes métodos calculados nesta dissertação. Calcule distâncias entre as árvores filogenéticas abordadas neste trabalho. Classifique as árvores de acordo com o modelo baseado em machine learning desenvolvido nesta dissertação. Os códigos, o pacote e o manual podem ser acessados no repositório https://github. com/guilhermetabordaribas/tacos. Até a finalização deste trabalho, o web site ainda não possui um endereço eletrônico registrado, por isso deixaremos no repositório o endereço do site assim que adquirirmos. https://github.com/guilhermetabordaribas/tacos https://github.com/guilhermetabordaribas/tacos 68 FIGURA 26 – HEATMAP DE SIGNIFICÂNCIA DA VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE RE- FERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS NUCLEOTÍDICAS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO FONTE: O Autor. NOTA: Heatmap da significância da variação da distância à árvore de referência de pares método-métrica ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de nucleotídeos para método independentes de alinhamento. 69 FIGURA 27 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDENTE DE ALINHAMENTO FONTE: O Autor. NOTA: Variação da distância à árvore de referência ao variar a quantidade de sequência, taxade mutação e o tamanho das sequências para sequências de aminoácidos para método independentes de alinhamento. 70 FIGURA 28 – DISTÂNCIA MÉDIAS DAS ÁRVORES GERADAS POR MÉTODOS E MÉTRICAS DIFERENTES EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPEN- DENTES DE ALINHAMENTO. FONTE: O Autor. 71 FIGURA 29 – VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE REFERÊNCIA DE PARES MÉTODO- MÉTRICA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDEN- TES DE ALINHAMENTO. FONTE: O Autor. NOTA: Variação da distância à árvore de referência de pares método-métrica relevantes ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de aminoácidos para método independentes de alinhamento. 72 FIGURA 30 – HEATMAP DA SIGNIFICÂNCIA DA VARIAÇÃO DA DISTÂNCIA À ÁRVORE DE RE- FERÊNCIA DE PARES MÉTODO-MÉTRICA EM SEQUÊNCIAS DE AMINOÁCIDOS PARA MÉTODO INDEPENDENTES DE ALINHAMENTO. FONTE: O Autor. NOTA: Heatmap da significância da variação da distância à árvore de referência de pares método-métrica relevantes ao variar a quantidade de sequência, taxa de mutação e o tamanho das sequências para sequências de aminoácidos para método independentes de alinhamento. 73 FIGURA 31 – REPRESENTAÇÃO ESQUEMÁTICA DO PROCESSO DE MODELAGEM DO MÉ- TODO RANDOM FOREST. FONTE: O Autor. NOTA: Representação esquemática do processo de modelagem do método Random Forest. Após calculadas a variáveis de entrada (features), normaliza-se os dados pelo método dos máximos e mínimos, treina-se o modelo informando com as classes especificadas. FIGURA 32 – RESULTADOS DE VALIDAÇÃO DO MODELO RANDOM FOREST. FONTE: O Autor. NOTA: Resultados de validação do modelo Random Forest treinado. Os resultados de acurácia foram obtidos através da técnica cross validation. 74 FIGURA 33 – CURVAS ROC RANDOM FOREST DO MODELO. FONTE: O Autor. NOTA: Curvas ROC Random Forest do modelo. Todas as classes possuem valores de área sob a curva acima de 0, 50 e próximos a 1, 00. São valores satisfatórios para o modelo. FIGURA 34 – TACOS WEB SITE. FONTE: O Autor. NOTA: Página inicial do web site TACos: Trees Analyzer and Classifier (an open source tool). 75 5 CONCLUSÃO Para o experimento baseado em alinhamento, fica evidente que o método neighbor joining gera resultados muito melhores que os demais métodos de clusterização. Tanto para sequência de aminoácidos quanto para sequências nucleotídicas. É interessante ressaltar que os valores médios, para quaisquer variações de sequências, geraram melhores árvores do que o método average, comumente utilizado para inferências filogenéticas. Isso pode impactar também em métodos baseados em caracteres, que necessitam de uma árvore inicial como ponto de partida. Fornecer uma árvore com maior acurácia, pode reduzir o tempo computacional destas ferramentas. Os experimentos com o SWeeP que geraram melhores resultados foram os pares método- métrica weighted-sokalsneath, ward-euclidean, nj-euclidean, median-euclidean, nj-correlation e centroid-euclidean. Tanto para sequência de nucleotídeos quanto para sequências de aminoácidos. As curvas médias para cada características ficaram muito semelhantes, os primeiros cinco métodos citados tiveram praticamente a mesma curva de comportamento para cada característica, não sendo possível dizer se há um melhor método entre eles para as delimitações deste experimento. Quanto às características das sequência, é interessante notar que em todos experimentos há aumento da distância conforme aumenta-se a quantidade de sequências. Pode-se especular que quanto maior número de elementos maior a dificuldade de agrupá-los em clusters bem definidos e distintos entre si. Outra característica que segue a mesma direção de correlação é a taxa de mutação. Porém, a justificativa para o aumento da distância com o aumento da taxa de mutação é mais evidente, facilmente explicada pelo efeito da saturação, ou seja, quanto maior a taxa de mutação, menos a função p-distance reproduz a distância genética. Já a direção do tamanho das sequências segue uma direção contrária, pelo menos até a estabilização da curva de distância. Um proposta de explicação deste efeito é a nitidez dos dados. Quando as sequências são muito curtas existem poucos caracteres, o que dificulta a diferenciação entre eles pela simples somatória de matches e mismatches. Conforme aumenta-se a quantidade, aumentando-se a nitidez das sequências, pode-se criar coleções mais distintas entre si gerando valores mais variados de distância par a par entre as sequências. Porém, há um limite de diferenciação pelos caracteres das sequências, conforme a sequências aumentam, as chances de sequências diferentes gerarem resultados semelhantes de matches e mismatches também aumentam. Apesar dos resultados independentes de alinhamento apresentarem valores médios superiores aos dados baseados em alinhamento, a comparação entre eles seria rasa, pois enquanto o experimento com alinhamento foi corrigido para os mesmos modelos evolutivos usados na 76 geração das árvores teóricas, isso não pode ser feito com método de alignment-free. Pelo menos enquanto um modelo de evolução não for desenvolvido. O desenvolvimento de funções e distribuições de correção evolutiva é uma das pers- pectivas futuras para o desenvolvimento das ferramentas livres de alinhamento. O que tornará os resultados mais robustos para gerar respostas aos problemas que envolvam filogenia. Outra proposta futura também importante é o desenvolvimento de testes de hipóteses e confiança para métodos independentes de alinhamento, como bootstrapping e jackkniffe. Quanto a classificação de árvores filogenéticas, o modelo Random Forest desenvolvido mostrou-se satisfatório para a classificação das classes de dissimilaridade, ou seja, para predição das classes � ≤ 0, 25, 0, 25 < � ≤ 0, 50, 0, 50 < � < 0, 75 e � ≥ 0, 75. Possuindo taxas de acerto e correta rejeição acima de 80% para as classes extremas de similaridade e dissimilaridade (� ≤ 0, 25 e � ≥ 0, 75) e próximo a 70% para as classes intermediárias (0, 25 < � ≤ 0, 50 e 0, 50 < � < 0, 75). A acurácia, precisão, recall e F1-score médios próximos a 80% demonstram boa acertividade geral do modelo, fornecendo ao pesquisador resultados de classificação bem melhores que a escolha aleatória de classes. Isso indica que o modelo pode auxiliar nos estudos filogenéticos juntamente com outras ferramentas. Com a metodologia de simulação evolutiva desenvolvida para o treinamento de modelos classificadores, pode-se atingir valores ainda maiores dos indicadores de qualidade modelo. A simulação de um número ainda maior de árvores, geradas por diferentes softwares, pode ajudar a melhorar o modelo. As features utilizadas no projeto foram suficientes para a classificação correta da maioria das árvores, porém, explorar outras variáveis que não relacionem a matriz de distância ampliará a aplicação do modelo. Explorar outras variáveis que caraterizam apenas o grafo, por exemplo, permitirá aplicar o modelo para classificar árvores geradas por métodos baseados em caracteres, como método de bayes e verossimilhança. 77 REFERÊNCIAS AMANCIO, D. R.; COMIN, C. H.; CASANOVA, D.; TRAVIESO, G.; BRUNO, O. M.; RODRIGUES, F. A.; FONTOURA COSTA, L. da. A systematic comparison of supervised classifiers. PloS one, Public Library of Science San Francisco, USA, v. 9, n. 4, e94137, 2014. Citado 1 vez na página 44. AZOURI, D.; ABADI, S.; MANSOUR, Y.; MAYROSE, I.; PUPKO, T. Harnessing machine learning to guide phylogenetic-tree search algorithms. Nature communications, Nature Publishing Group, v. 12, n. 1, p. 1–9, 2021. Citado 1 vez na página 43. BACÁK, M. Convex analysis and optimization in Hadamard spaces. [S.l.]: Walter de Gruyter GmbH & Co KG, 2014. v. 22. Citado 1 vez na página 40. BAGAEV, A.; KOTLOV, N.; NOMIE, K.; SVEKOLKIN, V.; GAFUROV, A.; ISAEVA, O.; OSOKIN, N.; KOZLOV, I.; FRENKEL, F.; GANCHAROVA, O. et al. Conserved pan-cancer microenvironment subtypes predict response to immunotherapy. Cancer Cell, Elsevier, v. 39, n. 6, p. 845–865, 2021.Citado 1 vez na página 42. BHATTACHARJEE, A.; BAYZID, M. S. Machine learning based imputation techniques for estimating phylogenetic trees from incomplete distance matrices. BMC genomics, Springer, v. 21, n. 1, p. 1–14, 2020. Citado 1 vez na página 42. BILLERA, L. J.; HOLMES, S. P.; VOGTMANN, K. Geometry of the space of phylogenetic trees. Advances in Applied Mathematics, Elsevier, v. 27, n. 4, p. 733–767, 2001. Citado 3 vezes nas páginas 40, 41. BLUM, A.; HOPCROFT, J.; KANNAN, R. Foundations of data science. Vorabversion eines Lehrbuchs, p. 208, 2016. Citado 1 vez na página 25. BOULOS, P.; CAMARGO, I. de. Geometria analtica: um Tratamento Vetorial. São Paulo: McGraw-Hill, 1987. Citado 1 vez na página 28. CASTRO-NALLAR, E.; PÉREZ-LOSADA, M.; BURTON, G. F.; CRANDALL, K. A. The evolution of HIV: inferences using phylogenetics. Molecular phylogenetics and evolution, Elsevier, v. 62, n. 2, p. 777–792, 2012. Citado 1 vez na página 15. 78 CAVALLI-SFORZA, L.; EDWARDS, A. The reconstruction of evolution. Ann. Hum. Genet, v. 27, p. 105–106, 1963. Citado 1 vez na página 21. CHAKERIAN, J.; HOLMES, S. distory: Distance Between Phylogenetic Histories. URL http://CRAN. R-project. org/package= distory. R package version, v. 1, n. 1, 2013. Citado 1 vez na página 41. CIESLIK, D. Shortest connectivity: an introduction with applications in phylogeny. [S.l.]: Springer Science & Business Media, 2006. v. 17. Citado 1 vez na página 36. COCK, P. J.; ANTAO, T.; CHANG, J. T.; CHAPMAN, B. A.; COX, C. J.; DALKE, A.; FRIEDBERG, I.; HAMELRYCK, T.; KAUFF, F.; WILCZYNSKI, B. et al. Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics, Oxford University Press, v. 25, n. 11, p. 1422–1423, 2009. Citado 1 vez na página 27. CRANDALL, K.; LAGERGREN, J. Algorithms in Bioinformatics: 8th International Workshop, WABI 2008, Karlsruhe, Germany, September 15-19, 2008, Proceedings. [S.l.]: Springer, 2008. v. 5251. Citado 1 vez na página 38. DALQUEN, D. A.; ANISIMOVA, M.; GONNET, G. H.; DESSIMOZ, C. ALFa simulation framework for genome evolution. Molecular biology and evolution, Oxford University Press, v. 29, n. 4, p. 1115–1123, 2012. Citado 3 vezes nas páginas 41, 42. DARRIBA, D.; TABOADA, G. L.; DOALLO, R.; POSADA, D. jModelTest 2: more models, new heuristics and parallel computing. Nature methods, Nature Publishing Group, v. 9, n. 8, p. 772–772, 2012. Citado 1 vez na página 33. DAS, S. R. Data science: theories, models, algorithms, and analytics. [S.l.], 2016. Citado 1 vez na página 43. DAVIN, A. A.; TRICOU, T.; TANNIER, E.; VIENNE, D. M. de; SZÖLLSI, G. J. Zombi: a phylogenetic simulator of trees, genomes and sequences that accounts for dead linages. Bioinformatics, Oxford University Press, v. 36, n. 4, p. 1286–1288, 2020. Citado 3 vez na página 42. DE PIERRI, C. R.; VOYCEIK, R.; MATTOS, L. G. C. S. de; KULIK, M. G.; CAMARGO, J. O.; OLIVEIRA, A. M. R. de; LIMA NICHIO, B. T. de; MARCHAUKOSKI, J. N.; SILVA FILHO, A. C. da; GUIZELINI, D. et al. SWeeP: representing large biological sequences 79 datasets in compact vectors. Scientific reports, Nature Publishing Group, v. 10, n. 1, p. 1–10, 2020. Citado 4 vezes nas páginas 19, 25, 47, 57. DENCKER, T.; LEIMEISTER, C.-A.; GERTH, M.; BLEIDORN, C.; SNIR, S.; MORGENSTERN, B. Multi-SpaM: a maximum-likelihood approach to phylogeny reconstruction using multiple spaced-word matches and quartet trees. NAR Genomics and Bioinformatics, Oxford University Press, v. 2, n. 1, lqz013, 2020. Citado 1 vez na página 24. EGAN, A. N.; CRANDALL, K. A. Theory of phylogenetic estimation. Evolutionary Genetics: Concepts and Case Studies, Oxford University Press London, v. 1, p. 426–436, 2006. Citado 0 vezes nas páginas 30, 31. EVERITT, B. S.; LANDAU, S.; LEESE, M.; STAHL, D. Cluster analysis 5th ed. [S.l.]: John Wiley, 2011. Citado 9 vezes nas páginas 26, 29, 35, 36, 38, 40. EWENS, W. J.; GRANT, G. R. Statistical methods in bioinformatics: an introduction. [S.l.]: Springer Science & Business Media, 2006. P. 501, 510, 523. Citado 2 vezes nas páginas 19, 22. FAN, H.; IVES, A. R.; SURGET-GROBA, Y.; CANNON, C. H. An assembly and alignment-free method of phylogeny reconstruction from next-generation sequencing data. BMC genomics, BioMed Central, v. 16, n. 1, p. 1–18, 2015. Citado 3 vezes nas páginas 23–25. FELSENSTEIN, J. Confidence limits on phylogenies: an approach using the bootstrap. Evolution, Wiley Online Library, v. 39, n. 4, p. 783–791, 1985. Citado 3 vezes nas páginas 16, 22, 23. . Inferring phylogenies. [S.l.]: Sinauer associates Sunderland, MA, 2004. Citado 7 vezes nas páginas 21, 22, 29, 31, 40, 41. . Statistical inference of phylogenies. Journal of the Royal Statistical Society: Series A (General), Wiley Online Library, v. 146, n. 3, p. 246–262, 1983. Citado 1 vez na página 15. FLETCHER, W.; YANG, Z. INDELible: a flexible simulator of biological sequence evolution. Molecular biology and evolution, Oxford University Press, v. 26, n. 8, p. 1879–1888, 2009. Citado 4 vezes nas páginas 42, 46, 52. FREEMAN, S.; HERRON, J. C. Análise evolutiva. [S.l.]: Artmed Editora, 2009. P. 111, 128. Citado 1 vez na página 18. 80 GILLESPIE, D. T. Exact stochastic simulation of coupled chemical reactions. The journal of physical chemistry, ACS Publications, v. 81, n. 25, p. 2340–2361, 1977. Citado 1 vez na página 42. GORDON, A. D. A review of hierarchical classification. Journal of the Royal Statistical Society: Series A (General), Wiley Online Library, v. 150, n. 2, p. 119–137, 1987. Citado 1 vez na página 35. GORI, K.; SUCHAN, T.; ALVAREZ, N.; GOLDMAN, N.; DESSIMOZ, C. Clustering genes of common evolutionary history. Molecular biology and evolution, Oxford University Press, v. 33, n. 6, p. 1590–1605, 2016. Citado 2 vezes nas páginas 41, 49. HAGBERG, A.; SWART, P.; S CHULT, D. Exploring network structure, dynamics, and function using NetworkX. [S.l.], 2008. Citado 1 vez na página 51. HALL, B. G. Building phylogenetic trees from molecular data with MEGA. Molecular biology and evolution, Society for Molecular Biology e Evolution, v. 30, n. 5, p. 1229–1235, 2013. Citado 2 vezes nas páginas 18, 19. HAUBOLD, B.; WIEHE, T. Introduction to computational biology: an evolutionary approach. [S.l.]: Springer Science & Business Media, 2006. P. 152, 151. Citado 4 vezes nas páginas 19–21, 38. HE, Q. A review of clustering algorithms as applied in IR. Graduate School of Library and nformation Science University of llinois at Urbana-Compaign, v. 6, p. 1–33, 1999. Citado 1 vez na página 38. HILLIS, D. M.; MORITZ, C.; MABLE, B. K.; OLMSTEAD, R. G. Molecular systematics. [S.l.]: Sinauer Associates Sunderland, MA, 1996. v. 23. Citado 1 vez na página 21. HUERTA-CEPAS, J.; SERRA, F.; BORK, P. ETE 3: reconstruction, analysis, and visualization of phylogenomic data. Molecular biology and evolution, Society for Molecular Biology e Evolution, v. 33, n. 6, p. 1635–1638, 2016. Citado 2 vezes nas páginas 41, 48. JILL HARRISON, C.; LANGDALE, J. A. A step by step guide to phylogeny reconstruction. The Plant Journal, Wiley Online Library, v. 45, n. 4, p. 561–572, 2006. Citado 1 vez na página 19. 81 JOMBART, T.; DRAY, S. adephylo: exploratory analyses for the phylogenetic comparative method. Bioinformatics, v. 26, p. 1907–1909, 2010. Disponível em: 10.1093/bioinformatics/btq292. Citado 1 vez na página 41. JOMBART, T.; KENDALL, M.; ALMAGRO-GARCIA, J.; COLIJN, C. treespace: Statistical exploration of landscapes of phylogenetic trees. Molecular ecology resources, Wiley Online Library, v. 17, n. 6, p. 1385–1392, 2017. Citado 2 vezes nas páginas 40, 41. KAUFMAN, L.; ROUSSEEUW, P. J. Finding groups in data: an introduction to cluster analysis. [S.l.]: John Wiley & Sons, 2009. v. 344, p. 253. Citado 3 vezes nas páginas 34, 39. KUPCZOK, A.; HAESELER, A. V.; KLAERE, S. An exact algorithm for the geodesic distance between phylogenetic trees. Journal of Computational Biology, Mary Ann Liebert, Inc. 2 Madison Avenue Larchmont, NY 10538 USA, v. 15, n. 6, p. 577–591,2008. Citado 1 vez na página 41. LEMEY, P.; HONG, S. L.; HILL, V.; BAELE, G.; POLETTO, C.; COLIZZA, V.; OTOOLE, Á.; MCCRONE, J. T.; ANDERSEN, K. G.; WOROBEY, M. et al. Accommodating individual travel history and unsampled diversity in Bayesian phylogeographic inference of SARS-CoV-2. Nature communications, Nature Publishing Group, v. 11, n. 1, p. 1–14, 2020. Citado 1 vez na página 15. LEMEY, P.; SALEMI, M.; VANDAMME, A.-M. The phylogenetic handbook: a practical approach to phylogenetic analysis and hypothesis testing. [S.l.]: Cambridge University Press, 2009. P. 26, 16, 157. Citado 10 vezes nas páginas 15, 19, 22, 23, 27, 28, 31–33. LEWITUS, E.; MORLON, H. Characterizing and comparing phylogenies from their Laplacian spectrum. Systematic biology, Oxford University Press, v. 65, n. 3, p. 495–507, 2015. Citado 1 vez na página 15. LI, T.; LIU, D.; YANG, Y.; GUO, J.; FENG, Y.; ZHANG, X.; CHENG, S.; FENG, J. Phylogenetic supertree reveals detailed evolution of SARS-CoV-2. Scientific reports, Nature Publishing Group, v. 10, n. 1, p. 1–9, 2020. Citado 1 vez na página 15. MA, E. W.; CHOW, T. W. A new shifting grid clustering algorithm. Pattern recognition, Elsevier, v. 37, n. 3, p. 503–514, 2004. Citado 1 vezes nas páginas 25, 34. 82 MAHAPATRO, G.; MISHRA, D.; SHAW, K.; MISHRA, S.; JENA, T. Phylogenetic tree construction for DNA sequences using clustering methods. Procedia engineering, Elsevier, v. 38, p. 1362–1366, 2012. Citado 2 vezes nas páginas 15, 18. MANNING, C. D.; MANNING, C. D.; SCHÜTZE, H. Foundations of statistical natural language processing. [S.l.]: MIT press, 1999. P. 503, 506, 507, 513. Citado 4 vezes nas páginas 35, 37, 39. MINH, B. Q.; SCHMIDT, H. A.; CHERNOMOR, O.; SCHREMPF, D.; WOODHAMS, M. D.; VON HAESELER, A.; LANFEAR, R. IQ-TREE 2: New models and efficient methods for phylogenetic inference in the genomic era. Molecular biology and evolution, Oxford University Press, v. 37, n. 5, p. 1530–1534, 2020. Citado 1 vez na página 33. MÜLLER, A. C.; GUIDO, S. Introduction to machine learning with Python: a guide for data scientists. [S.l.]: "O’Reilly Media, Inc.", 2016. Citado 1 vez na página 43. MÜLLNER, D. Modern hierarchical, agglomerative clustering algorithms. arXiv preprint arXiv:1109.2378, 2011. Citado 1 vez na página 38. NGUYEN, L.-T.; SCHMIDT, H. A.; VON HAESELER, A.; MINH, B. Q. IQ-TREE: a fast and effective stochastic algorithm for estimating maximum-likelihood phylogenies. Molecular biology and evolution, Oxford University Press, v. 32, n. 1, p. 268–274, 2015. Citado 1 vez na página 33. PARADIS, E.; CLAUDE, J.; STRIMMER, K. APE: analyses of phylogenetics and evolution in R language. Bioinformatics, Oxford University Press, v. 20, n. 2, p. 289–290, 2004. Citado 1 vez na página 41. PEDREGOSA, F.; VAROQUAUX, G.; GRAMFORT, A.; MICHEL, V.; THIRION, B.; GRISEL, O.; BLONDEL, M.; PRETTENHOFER, P.; WEISS, R.; DUBOURG, V.; VANDERPLAS, J.; PASSOS, A.; COURNAPEAU, D.; BRUCHER, M.; PERROT, M.; DUCHESNAY, E. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, v. 12, p. 2825–2830, 2011. Citado 1 vezes nas páginas 43, 51. POSADA, D.; CRANDALL, K. A. Modeltest: testing the model of DNA substitution. Bioinformatics (Oxford, England), v. 14, n. 9, p. 817–818, 1998. Citado 1 vez na página 19. 83 PUIGBÒ, P.; WOLF, Y. I.; KOONIN, E. V. Genome-Wide Comparative Analysis of Phylogenetic Trees: The Prokaryotic Forest of Life. In: EVOLUTIONARY Genomics. [S.l.]: Springer, 2019. P. 241–269. Citado 1 vez na página 16. RICE, P.; LONGDEN, I.; BLEASBY, A. EMBOSS: the European molecular biology open software suite. Trends in genetics, Elsevier current trends, v. 16, n. 6, p. 276–277, 2000. Citado 2 vezes nas páginas 27, 46. RIZZO, J.; ROUCHKA, E. C. Review of phylogenetic tree construction. University of Louisville Bioinformatics Laboratory Technical Report Series, p. 2–7, 2007. Citado 3 vezes nas páginas 16, 18–20. ROBINSON, D. F.; FOULDS, L. R. Comparison of weighted labelled trees. In: COMBINATORIAL mathematics VI. [S.l.]: Springer, 1979. P. 119–126. Citado 1 vez na página 40. ROHLF, F. J. Adaptive hierarchical clustering schemes. Systematic Biology, Society of Systematic Zoology, v. 19, n. 1, p. 58–82, 1970. Citado 1 vez na página 34. SAITOU, N.; NEI, M. The neighbor-joining method: a new method for reconstructing phylogenetic trees. Molecular biology and evolution, v. 4, n. 4, p. 406–425, 1987. Citado 1 vez na página 38. SCHLIEP, K. P. phangorn: phylogenetic analysis in R. Bioinformatics, Oxford University Press, v. 27, n. 4, p. 592–593, 2011. Citado 1 vez na página 41. SCHÜTZE, H.; MANNING, C. D.; RAGHAVAN, P. Introduction to information retrieval. [S.l.]: Cambridge University Press Cambridge, 2008. v. 39. Citado 0 vezes nas páginas 36, 37. SKIENA, S. S. The algorithm design manual. [S.l.]: Springer International Publishing, 2020. Citado 1 vez na página 43. SOKAL, R. R.; ROHLF, F. J. The comparison of dendrograms by objective methods. Taxon, Wiley Online Library, v. 11, n. 2, p. 33–40, 1962. Citado 1 vez na página 35. STPOR, K. Evaluating and comparing classifiers: Review, some recommendations and limitations. In: SPRINGER. INTERNATIONAL Conference on Computer Recognition Systems. [S.l.: s.n.], 2017. P. 12–21. Citado 2 vez na página 44. 84 STRATHERN, P. Mendeleyev’s dream: the quest for the elements. [S.l.]: Macmillan, 2001. Citado 1 vez na página 25. STRICKLER, P. A brief review of the common tree-building methods used in phylogenetic inference. [S.l.: s.n.], 2014. Citado 1 vez na página 21. SUKUMARAN, J.; HOLDER, M. T. DendroPy: a Python library for phylogenetic computing. Bioinformatics, Oxford University Press, v. 26, n. 12, p. 1569–1571, 2010. Citado 2 vezes nas páginas 41, 49. TEAM, T. scikit-bio development. scikit-bio: A Bioinformatics Library for Data Scientists, Students, and Developers. [S.l.], 2020. Disponível em: http://scikit-bio.org. Citado 1 vez na página 48. VERLI, H. Bioinformática: da biologia à flexibilidade molecular. Sociedade Brasileira de Bioqumica e Biologia Molecular, 2014. Citado 2 vezes nas páginas 15, 19. VINGA, S.; ALMEIDA, J. Alignment-free sequence comparisona review. Bioinformatics, Oxford University Press, v. 19, n. 4, p. 513–523, 2003. Citado 1 vez na página 19. VIRTANEN, P.; GOMMERS, R.; OLIPHANT, T. E.; HABERLAND, M.; REDDY, T.; COURNAPEAU, D.; BUROVSKI, E.; PETERSON, P.; WECKESSER, W.; BRIGHT, J.; VAN DER WALT, S. J.; BRETT, M.; WILSON, J.; MILLMAN, K. J.; MAYOROV, N.; NELSON, A. R. J.; JONES, E.; KERN, R.; LARSON, E.; CAREY, C. J.; POLAT, .; FENG, Y.; MOORE, E. W.; VANDERPLAS, J.; LAXALDE, D.; PERKTOLD, J.; CIMRMAN, R.; HENRIKSEN, I.; QUINTERO, E. A.; HARRIS, C. R.; ARCHIBALD, A. M.; RIBEIRO, A. H.; PEDREGOSA, F.; VAN MULBREGT, P.; SCIPY 1.0 CONTRIBUTORS. SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, v. 17, p. 261–272, 2020. DOI: 10.1038/s41592-019-0686-2. Citado 3 vezes nas páginas 48, 50. XIA, X. Distance-based phylogenetic methods. In: BIOINFORMATICS and the Cell. [S.l.]: Springer, 2018. P. 343–379. Citado 1 vez na página 21. YANG, Z.; RANNALA, B. Molecular phylogenetics: principles and practice. Nature reviews genetics, Nature Publishing Group, v. 13, n. 5, p. 303–314, 2012. Citado 1 vez na página 21. ZIELEZINSKI, A.; GIRGIS, H. Z.; BERNARD, G.; LEIMEISTER, C.-A.; TANG, K.; DENCKER, T.; LAU, A. K.; RÖHLING, S.; CHOI, J. J.; WATERMAN, M. S. et al. https://doi.org/10.1038/s41592-019-0686-2 85 Benchmarking of alignment-free sequence comparison methods. Genome biology, BioMed Central, v. 20, n. 1, p. 1–18, 2019. Citado 2 vezes nas páginas 24, 25. ZUO, G.; XU, Z.; YU, H.; HAO, B. Jackknife and bootstrap tests of the composition vector trees. Genomics, proteomics & bioinformatics, Elsevier, v. 8, n. 4, p. 262–267, 2010. Citado 1 vez na página 24. 86 APÊNDICE 1 - SCRIPTS PARA O DESENVOLVIMENTO DO EXPERIMENTO 1.1 OBTENÇÃO DOS DADOS DE REFERÊNCIA - ÁRVORES, SEQUÊNCIAS E ALINHA- MENTOS Os códigos 1.1 e 1.2 são arquivos de configuração do INDELible. Aslinhas 13 e 16 contém as letras i, j e k, que são as variáveis de quantidade sequências, taxa de mutação e tamanho da sequências, respectivamente. Para a edição dessas variáveis o código 1.3 em bash é executado para se calcular automaticamente todas combinações para as diferentes variáveis. Além disso, um script 1.4 em Python, chamando pelo código 1.3, serve para alterar as variáveis i,j e k dos arquivos de controle (Control.txt). Listing 1.1 – Arquivo Control.txt de entrada do INDELible para geração dados de nucleotídeos 1 [TYPE] NUCLEOTIDE 1 2 3 [SETTINGS] 4 [output] FASTA 5 6 [MODEL] modelname 7 [submodel] F84 1.5 8 [indelmodel] LAV 1.7 541 9 [indelrate] 0.002 10 [statefreq] 0.25 0.25 0.25 0.25 11 12 [TREE] treename 13 [unrooted] i 2.4 1.1 0.2566 j 14 15 [PARTITIONS] partitionname 16 [treename modelname k] 17 18 [EVOLVE] partitionname 1 outputnameRandomTree Listing 1.2 – Arquivo Control.txt de entrada do INDELible para geração dados de aminoácidos 1 [TYPE] AMINOACID 1 2 3 [SETTINGS] 4 [output] FASTA 5 6 [MODEL] modelname 7 [submodel] Dayhoff 8 [indelmodel] LAV 1.7 541 9 [indelrate] 0.002 10 11 87 12 [TREE] treename 13 [unrooted] i 2.4 1.1 0.2566 j 14 15 [PARTITIONS] partitionname 16 [treename modelname k] 17 18 [EVOLVE] partitionname 1 outputnameRandomTree Listing 1.3 – Arquivo bash para alteração automática dos valores de i j e k 1 pathProj=’/pasta_output/indelibleFiles/aa’ 2 3 pathIndelible=’/pasta_programa_indelible/INDELibleV1.03/src’ 4 5 for i in ‘seq 10 10 110‘; do # QUANTIDADE DE SEQUÊNCIA 6 for j in "0.01" "0.1" "0.5" "1.0"; do # TAXAS DE MUTAÇÃO 7 # Chamada do script python para alteração dos valores 8 # de quantidade de sequências e taxa de mutação 9 python3 alterSeqSizeIndelible.py "[unrooted] $i 2.4 1.1 0.2566 $j" 10 for k in ‘seq 50 25 1450‘; do # TAMANHO DAS SEQUÊNCIAS 11 # Chamada so script python para alteração dos valores 12 # de tamanho das sequências 13 python3 alterSeqSizeIndelible.py "[treename modelname $k]" 14 15 # Execução do programa INDELible 16 ./pathIndelible/indelible 17 18 # Move os arquivos gerados para as pastas de destino - árvores, 19 # sequências e alinhamentos 20 mv trees.txt ${pathProj}/trees/${i}_${j}_${k}_tree_aa.txt 21 mv outputnameRandomTree.fas ${pathProj}/seqs/${i}_${j}_${k}_aa.fas 22 mv outputnameRandomTree_TRUE.fas ... 23 ... ${pathProj}/aligns/${i}_${j}_${k}_TRUE_aa.fas 24 done 25 done 26 done Listing 1.4 – Arquivo python para alteração do arquivo de controle 1 import sys 2 import re 3 4 pathProj=’/pasta_programa_indelible/INDELibleV1.03/src’ 5 6 if "[unrooted" in sys.argv[1]: 7 print(sys.argv[1]) 8 # Altera quantidade de sequências e Taxa de mutação 9 with open(pathProj+’control.txt’, ’r’) as f: 88 10 new = re.sub("(\[unrooted.*)", sys.argv[1], f.read()) 11 with open(pathProj+’control.txt’, ’w’) as f: 12 if new: 13 f.write(new) 14 f.close() 15 elif "[treename modelname" in sys.argv[1]: 16 # Altera tamanho das sequências 17 with open(pathProj+’control.txt’, ’r’) as f: 18 new = re.sub("(\[treename modelname.*)", sys.argv[1], f.read()) 19 with open(pathProj+’control.txt’, ’w’) as f: 20 if new: 21 f.write(new) 22 f.close() 23 24 else: 25 print(’Argumento inválido!’) 1.2 SCRIPTS PARA CÁLCULO DAS MATRIZES DE DISTÂNCIA POR MÉTODO DE- PENDENTES DE ALINHAMENTO (AB) Nesta etapa calcula-se as matrizes de distâncias com o programa EMBOSS através do script em bash 1.5 para sequências nucleotídicas e 1.6 para sequências de aminoácidos. Listing 1.5 – Arquivo bash para cálculo da matriz de distância de todos os alinhamentos gerados com sequências de nucleotídeo 1 pathIn=’/pasta_input_alinhamentos/indelibleFiles/nt/aligns/’ 2 pathOut=’/pasta_ouput_matrizes/indelibleFiles/nt/matrix/’ 3 4 arr=(${pathIn}*.fas) 5 for filename in ${arr[@]##*/}; do 6 fdnadist -sequence ${pathIn}${filename} -method f -outfile 7 ${pathOut}${filename}.fdnadist 8 done Listing 1.6 – Arquivo bash para cálculo da matriz de distância de todos os alinhamentos gerados com sequências de aminoácidos 1 pathIn=’/pasta_input_alinhamentos/indelibleFiles/aa/aligns/’ 2 pathOut=’/pasta_ouput_matrizes/indelibleFiles/aa/matrix/’ 3 4 arr=(${pathIn}*.fas) 5 for filename in ${arr[@]##*/}; do 6 fprotdist -sequence ${pathIn}${filename} -method f -outfile 7 ${pathOut}${filename}.fprotdist 8 done 89 1.3 SCRIPTS PARA CÁLCULO DAS MATRIZES DE DISTÂNCIA POR MÉTODO LIVRE DE ALINHAMENTO (AF) Listing 1.7 – Arquivo para geração de vetor de dissimilaridade entre as sequências de nucleotídeo com o SWeeP 1 setGlobalDev(0); 2 global DEV_MODE 3 4 fastasList = dir(’/pasta_sequencias/nt/output/seqs/*fas’); 5 path = ’/pasta_sequencias/nt/output/seqs/’; 6 7 for f = 1:size(fastasList,1) 8 disp(fastasList(f).name) 9 sweep(strcat(path,fastasList(f).name), ’SeqType’,’NT’) 10 end Listing 1.8 – Arquivo para geração de vetor de dissimilaridade entre as sequências de aminoácidos com o SWeeP 1 setGlobalDev(0); 2 global DEV_MODE 3 4 fastasList = dir(’/pasta_sequencias/aa/output/seqs/*fas’); 5 path = ’/pasta_sequencias/aa/output/seqs/’; 6 7 for f = 1:size(fastasList,1) 8 disp(fastasList(f).name) 9 sweep(strcat(path,fastasList(f).name)) 10 end 1.4 SCRIPTS PARA CÁLCULO DAS ÁRVORES A PARTIR DAS MATRIZES DE DISTÂN- CIA E CÁLCULO DAS DISTÂNCIAS ENTRE AS ÁRVORES Listing 1.9 – Classes criadas para cálculo de árvores e distâncias entre árvores para métodos AB 1 from math import sqrt 2 from re import search 3 4 from os import listdir 5 from os.path import isfile, join 6 7 from pickle import dump 8 9 import numpy as np 10 11 from dendropy import TreeList 12 from dendropy.calculate import treecompare 90 13 14 from ete3 import Tree 15 16 import scipy.cluster.hierarchy as hac 17 from scipy.spatial.distance import squareform 18 19 from skbio import DistanceMatrix 20 from skbio.tree import nj 21 22 import tree_distance 23 24 # Importa matriz de distância para gerar árvores métodos diferentes 25 class GenerateTrees(): 26 def __init__(self, distFileName, refTreeFileName=’’, 27 refTreeFileType=’newick’): 28 29 # Arquivo de distância gerado pelo EMBOSS 30 self.distFileName = distFileName 31 self.refTreeFileName = refTreeFileName 32 self.refTreeFileType = refTreeFileType 33 34 self.trees = TreeList() 35 36 def getDistFile(self): 37 # Para a matriz gerada com fprotdist e fdnadist do EMBOSS, 38 # faz-se o seguinte para ler os dados do arquivo. 39 # Ao final a matriz deve ser transformada para forma condensada 40 mDist = [] 41 ids = [] 42 43 with open(self.distFileName) as f: 44 matrix = f.read().replace(’\n’,’ ’).split() 45 i = int(matrix[0]) 46 matrix.pop(0) 47 a = 0 48 for j in range(len(matrix)): 49 if j == a: 50 ids.append(int(matrix[j])) 51 a += i+1 52 else: 53 mDist.append(float(matrix[j])) 54 f.close() 55 56 # Transforma a lista em matriz quadrada e depois a condensada 57 mDist = squareform(np.array(mDist).reshape(i, i)).tolist() 58 59 return mDist, ids 91 60 61 def getNewick(self, node, newick, parentdist, leaf_names): 62 # Função transforma objeto tree em sequência newick 63 if node.is_leaf(): 64 return "%s:%.2f%s" % (leaf_names[node.id], 65 parentdist - node.dist, newick) 66 else: 67 if len(newick) > 0: 68 newick = "):%.2f%s" % (parentdist - node.dist, newick) 69 else: 70 newick = ");" 71 newick = self.getNewick(node.get_left(), 72 newick, node.dist, leaf_names) 73 newick = self.getNewick(node.get_right(), 74 ",%s" % (newick), node.dist, leaf_names) 75 newick = "(%s" % (newick) 76 return newick 77 78 def getRefTree(self): 79 ## Função importa árvore de referência 80 ## arqName éo nome do arquivo com o caminho 81 ## arqtype éo tipo do arquivo, newick, phylip 82 83 with open(self.refTreeFileName) as f: 84 return self.trees.get(data=(f.read().split()[-1]), 85 schema=self.refTreeFileType, 86 ).as_string(schema=self.refTreeFileType) 87 88 def generateCluster(self, metodo, metrica): 89 dist, ids = self.getDistFile() 90 if metodo== ’nj’: 91 dmNJ = DistanceMatrix(dist, ids) 92 # Transforma a árvore nj em ultramétrica 93 tEte3 = Tree( nj(dmNJ, result_constructor=str) ) 94 tEte3.convert_to_ultrametric() 95 return tEte3.write(format=5), np.nan 96 else: 97 # A partir da matriz de distância, clusteriza-se e transforma 98 # o objeto dendrograma em newick 99 # Calcula o cluster por método e métrica específicos 100 # A função np.clip() limita os valores a no mínimo 0. 101 # A métrica cosine pode gerar valores negativos 102 cluster = np.clip(hac.linkage(dist, method=metodo), 103 a_min=0, a_max=None) 104 105 # Calcula coeficiente cofenético 106 cophCorr = hac.cophenet(cluster, dist) 92 107 108 # Convert a linkage matrix into an easy-to-use tree object. 109 treeZ = hac.to_tree(cluster, False) 110 111 # Ordena a ordem do indivíduos do alinhamento 112 # com a ordem da clusterização 113 IDS = np.array(ids)[np.array(treeZ.pre_order())] 114 115 # Transforma o objeto árvore no formato newick 116 return self.getNewick(treeZ, "", treeZ.dist, IDS), cophCorr[0] 117 118 def generateListTrees(self, metodos, metricas): 119 listNewicks = [] 120 listMetodosCluster = [] 121 listCophCorr = [] 122 123 for metodo in metodos: 124 listNewicks.append(self.generateCluster(metodo, ’’)) 125 listMetodosCluster.append((metodo, ’’)) 126 127 # O retorno da função "generateCluster" éuma tupla, 128 # aqui separa-se a tupla, uma para newicks e 129 # outra para correlação cofenética 130 listNewicks, listCophCorr = list(zip(*listNewicks)) 131 listNewicks = list(listNewicks) 132 listCophCorr = list(listCophCorr) 133 if self.refTreeFileName != ’’: 134 # Transforma a árvore referência em ultramétrica 135 tEte3 = Tree( self.getRefTree(), format=1 ) 136 tEte3.convert_to_ultrametric() 137 138 listNewicks.insert(0, tEte3.write(format=5)) 139 listMetodosCluster.insert(0, (’ref’,’’))#(metodo, metrica)) 140 listCophCorr.insert(0, np.nan) 141 142 stringNewicks=’’.join(listNewicks) 143 144 return self.trees.get(data=stringNewicks, schema="newick"), 145 listMetodosCluster, listCophCorr 146 147 def createTreeFiles(self, metodos, metricas, path): 148 treesList, methsList, cophCorrList = self.generateListTrees(metodos, 149 metricas) 150 151 pickle_out = open(path+’ListaCophCorr.pickle’, ’wb’) 152 dump(list(zip(methsList,cophCorrList)), pickle_out) 153 pickle_out.close() 93 154 155 i = 0 156 for t,m in zip(treesList, methsList): 157 name = m[0] + ’_’ + m[1] + ’.nw’ 158 t.write(path=path+name, schema=’newick’) 159 i+=1 160 161 162 # Importa todas as árvores para calcular distâncias entre elas 163 class CalcPlotDistTrees(): 164 def __init__(self, pathArq, method, treeFileType, fileFilter): 165 166 self.method = method 167 self.treeFileType = treeFileType 168 self.trees = TreeList() 169 self.fileFilter = fileFilter 170 171 pathArq = pathArq[:pathArq.rfind(’/’)+1] 172 173 self.listaArqs = [f for f in listdir(pathArq) if (isfile(join(pathArq, 174 f)) and search(’^’+self.fileFilter, f) and (’.pickle’ not in f) ) ] 175 176 self.treeList = [] 177 for file in self.listaArqs: 178 with open(pathArq+file, ’r’) as f: 179 s = f.read() 180 self.treeList.append(s) 181 182 stringNewicks=’’.join(self.treeList).replace(’\n’,’’) 183 print(stringNewicks) 184 # Deve ser UNROOTED de acordo com p. 529 Felsentein 2004 185 self.matrixTrees = self.trees.get(data=stringNewicks, 186 schema="newick", 187 rooting=’force-unrooted’) 188 189 def distPairwiseTrees(self): 190 # Retorna a diferença par a par entre todas as árvores 191 distsTree = [] 192 teste = [] 193 for tree1 in self.matrixTrees: 194 # Preapara para tree_distance.getEuclideanDistance 195 # precisa ser PhyloTree 196 tree1Phylo = tree_distance.PhyloTree(tree1.encode(), False) 197 for tree2 in self.matrixTrees: 198 if self.method == ’E’: 199 distsTree.append(treecompare.euclidean_distance(tree1, tree2)) 200 elif self.method == ’W’: 94 201 distsTree.append(treecompare. 202 weighted_robinson_foulds_distance(tree1, tree2)) 203 elif self.method == ’S’: 204 distsTree.append(treecompare. 205 symmetric_difference(tree1, tree2)) 206 elif self.method == ’G’: 207 tree2Phylo = tree_distance.PhyloTree(tree2.encode(), False) 208 distsTree.append(tree_distance. 209 getEuclideanDistance(tree1Phylo, tree2Phylo)) 210 211 # Normalização dos dados 212 distsTree = np.array(distsTree) 213 214 maxV = max(distsTree) 215 minV = min(distsTree) 216 217 distsTree = distsTree - minV 218 distsTree = distsTree/(maxV - minV) 219 220 i = 1 221 dist = [] 222 aux = [] 223 for tree in distsTree: 224 if i == sqrt(len(distsTree)): 225 aux.append(tree) 226 dist.append(aux) 227 i=0 228 aux=[] 229 else: 230 aux.append(tree) 231 i+=1 232 233 return dist 234 235 def distTreesAndRef(self): 236 distsTree = [] 237 indexRef = self.listaArqs.index(self.fileFilter+’ref_.nw’) 238 ref = self.matrixTrees[indexRef] 239 # Preapara para tree_distance.getEuclideanDistance 240 # precisa ser PhyloTree 241 tree1Phylo = tree_distance.PhyloTree(ref.as_string( 242 ’newick’).encode(), False) 243 for tree in self.matrixTrees: 244 if self.method == ’E’: 245 distsTree.append(treecompare.euclidean_distance(tree, ref)) 246 elif self.method == ’W’: 247 distsTree.append(treecompare. 95 248 weighted_robinson_foulds_distance(tree, ref)) 249 elif self.method == ’S’: 250 distsTree.append(treecompare. 251 symmetric_difference(tree, ref)) 252 elif self.method == ’G’: 253 tree2Phylo = tree_distance.PhyloTree(tree. 254 as_string(’newick’).encode(), False) 255 distsTree.append(tree_distance.getGeodesicDistance(tree1Phylo, 256 tree2Phylo)) 257 258 # Normalização dos dados 259 distsTree = np.array(distsTree) 260 maxV = np.max(distsTree)#max(distsTree) 261 minV = np.min(distsTree)#min(distsTree) 262 263 distsTree = distsTree - minV 264 distsTree = distsTree/(maxV - minV) 265 266 267 return distsTree Listing 1.10 – Arquivo python para criação das árvores a partir do código 1.9 1 from os import listdir 2 from os.path import isfile, join 3 4 import pickle 5 6 import pandas as pd 7 8 from funcoesCalculaDist import CalcPlotDistTrees, GenerateTrees 9 10 ## métricas de clusterização 11 metricas=[’euclidean’, ’cityblock’, ’sqeuclidean’, ’cosine’, 12 ’correlation’, ’hamming’, ’jaccard’, ’chebyshev’, 13 ’braycurtis’, ’yule’, ’dice’,’kulsinski’, ’canberra’, 14 ’rogerstanimoto’, ’russellrao’,’sokalmichener’, ’sokalsneath’] 15 16 ## métodos de clusterização 17 metodos=[’single’, ’complete’, ’average’, ’weighted’, 18 ’centroid’, ’median’, ’ward’ , ’nj’] 19 20 pathProj=’/pasta_matrizes’ 21 22 pathINmat = pathProj+’/output/matrices/’ 23 pathINrefTree = pathProj+’/output/treesRef/’ 24 pathOUT = pathProj+’/output/treesCalc/’ 25 96 26 arqsMatrizes = [f for f in listdir(pathINmat) if (isfile(join(pathINmat, 27 f)) and (’.pickle’ not in f) ) ] 28 29 arqsMatrizesOK = [] 30 arqsMatrizesNOK = [] 31 for arq in arqsMatrizes: 32 with open(pathINmat+arq) as fTemp: 33 fRead = fTemp.read() 34 if (’nan’ in fRead) or (’inf’ in fRead): 35 arqsMatrizesNOK.append(arq) 36 else: 37 arqsMatrizesOK.append(arq.split(’_’)[:-1]) 38 fTemp.close() 39 40 del fRead 41 42 pickle.dump( arqsMatrizesOK, open( 43 pathProj+"/output/arqsMatrizesOK.pickle", "wb" ) ) 44 45 46 distRef = [] 47 listaArqs = [] 48 metDist = [] 49 print(’Gerando Árvores!!!’) 50 for i,j,k,m in arqsMatrizesOK: 51 GenerateTrees(pathINmat+i+’_’+j+’_’+k+’_TRUE_aa.fas.fprotdist’, 52 pathINrefTree+i+’_’+j+’_’+k+’_tree_aa.txt’,’newick’ 53 ).createTreeFiles(metodos, metricas, pathOUT+i+’_’+j+’_’+k+’_’) Listing 1.11 – Arquivo python para cálculo das distâncias entre das árvores a partir do código 1.9 1 from os import listdir 2 from os.path import isfile, join 3 4 import pickle 5 6 import pandas as pd 7 8 from funcoesCalculaDist import CalcPlotDistTrees, GenerateTrees 9 10 pathProj=’/pasta_matrizes’ 11 12 pathINmat = pathProj+’/output/matrices/’ 13 pathINrefTree =pathProj+’/output/treesRef/’ 14 pathOUT = pathProj+’/output/treesCalc/’ 15 16 arqsMatrizesOK = pickle.load(open( 17 pathProj+"/output/arqsMatrizesOK.pickle", "rb" ) ) 97 18 19 methodList = [’E’,’W’,’S’,’G’] 20 21 distRef = [] 22 listaArqs = [] 23 metDist = [] 24 25 for i,j,k,m in arqsMatrizesOK: 26 27 for method in methodList: 28 pathArq = pathOUT+i+’_’+j+’_’+k+’_ref_.nw’ 29 30 a = CalcPlotDistTrees(pathArq, method, ’newick’, i+’_’+j+’_’+k+’_’) 31 distRef.extend(a.distTreesAndRef()) 32 listaArqs.extend(a.listaArqs) 33 metDist.extend([method for i in range(len(a.distTreesAndRef())) ]) 34 35 pickle.dump( distRef, open( pathProj+"/output/distRef.pickle", "wb" ) ) 36 pickle.dump( listaArqs, open( pathProj+"/output/listaArqs.pickle", "wb" ) ) 37 pickle.dump( metDist, open( pathProj+"/output/metDist.pickle", "wb" ) ) 38 39 df = pd.DataFrame({’distanciaRef’:distRef, 40 ’listaArqs’:listaArqs, 41 ’metDist’:metDist}) 42 43 df.to_csv(pathProj+’/output/dfTrees.csv’, index=False) Folha de rosto Dedicatória Agradecimentos Resumo ABSTRACT Introdução Justificativas Objetivos Gerais Objetivos Específicos Fundamentação Teórica Árvores Filogenéticas Métodos Baseados em Distância Métodos Baseados em Caracteres Estimativa e teste de hipóteses em filogenia Jackknife Bootstrapping Estimativa e teste de hipótese para método livre de alinhamento Processos independentes de alinhamento Clusterização Medidas de proximidade entre indivíduos Correção Modelo Evolutivo Tipos de Clusterização Métodos aglomerativos: bottom-up Métodos divisivos: top-down Distância entre árvores Processos evolutivos simulados Aprendizado de máquina (Machine learning) Materiais e Métodos ETAPA 1: Simulação de árvores, sequências e alinhamentos ETAPA 2: Cálculo das matrizes de dissimilaridade Cálculo de matrizes dependentes de alinhamentos - EMBOSS Cálculo de matrizes independentes de alinhamentos - SWeeP ETAPA 3: Clusterização das matrizes de dissimilaridade ETAPA 4: Cálculo de distância entre as árvores ETAPAS 5,6 e 7: Construção do modelo de classificação de árvores filogenéticas Definição das variáveis de entrada (features) Definição do modelo de aprendizado de máquina Delimitação do experimento Limitações do experimento Lista de pacotes e programas utilizados Resultados e Discussão Resultados dependentes de alinhamento Sequências de nucleotídeos Sequências de aminoácidos Resultados independentes de alinhamento Sequências de nucleotídeos Sequências de aminoácidos Treino e validação do modelo classificador de árvores filogenéticas TACos: Pacote python e aplicação web Conclusão REFERÊNCIAS Scripts para o desenvolvimento do experimento APÊNDICE 1 - Scripts para o desenvolvimento do experimento Obtenção dos dados de referência - árvores, sequências e alinhamentos Scripts para cálculo das matrizes de distância por método dependentes de alinhamento (AB) Scripts para cálculo das matrizes de distância por método livre de alinhamento (AF) Scripts para cálculo das árvores a partir das matrizes de distância e cálculo das distâncias entre as árvores