Algoritmos e Genética – um casamento moderno Antes de começar Dizer que a Biologia e a Matemática estiveram sempre ligadas não é nada original. De fato, seja na abordagem geométrica dos desenhos e proporções de homens e animais, Samuel Jurkiewicz seja na contagem (mais ou menos precisa) de poções curativas, números e procedimentos sempre estiveram ligados Resumo à Biologia. A partir da 2ª Guerra Mundial os algoritmos têm assumido crescente importância em todos os campos da vida humana em geral e da ciência em Os estudos de Mendel estabeleceram um elo (no princípio não muito percebido) entre a Genética e um ramo da Matemática que ainda lutava para ser reconhecido como importante – a Combinatória. E, no entanto, a Combinatória particular. Um dos campos em que esta conexão se oferecia um modelo tão convincente que a Genética nunca mostrou mais exitosa foi a Genética A apresentação mais foi a mesma. do DNA como uma sequencia dos símbolos A, C, G e T apontou para a algorítmica como uma ferramenta privilegiada genéticas expomos para sos o estudo organismos princípios das vivos.. básicos de propriedades Neste viventes se transmitem, de como a evolução se processa. A descrição do modelo da dupla hélice como modelo do DNA por Watson e Crick mostrou que a Combinatória não só não mais algoritmos se separaria da Biologia como também ainda tinha muito a que a Matemática envolvida é acessível a alunos de nível pré-universitário. chave: biólogos na pista certa de como a vida e as características dos artigo computacionais utilizados em Genética. Ressaltamos Palavras As idéias combinatórias em Genética colocaram os oferecer. Como já é uma regra no mundo científico, mais do que um grupo estava a procura do modelo do DNA como por exemplo Rosalind Franklin e Maurice Wilkins – os primeiros a Genética; Algoritmos; Matemática Discreta. Informática; sugerirem a forma de hélice e com sua codificação pelas letras A, C G e T. A comunidade da Biologia já coabitava com a Combinatória e os frutos já estavam amadurecendo. Para a colheita destes frutos muito concorreu o avanço veloz da informática. E aí nos referimos não somente às 1 máquinas, mas sobretudo à prolífica produção de conceitos, Mathematics and Theoretical Computer Science) que há pelo algoritmos e processos matemáticos. menos três anos em reunindo professores da High School de Entre os campos mais inovadores podemos apontar a vários estados dos Estados Unidos (aproximadamente Algorítmica e a Pesquisa Operacional. E estas idéias se equivalente ao nosso Ensino Médio) para atualização na área agregaram às novas idéias da Genética com resultados de Bioinformática (DIMACS, 2010). Esse trabalho sucede um revolucionários – e esta palavra não está sendo usada como projeto que já dura mais de 10 anos, também voltado para adjetivo. professores para difusão da Teoria de Grafos. Não se pode deixar de notar a contemporaneidade do Pude constatar (com certa vaidade) que o trabalho lá trabalho de Watson e Crick (1953) e a apresentação do apresentado fazia referência constante ao trabalho de João Algoritmo de Dijkstra (1952) para determinação de caminhos Meidanis e João Carlos Setúbal da Universidade de Campinas mais curtos em uma rede. É este algoritmo que está na base (MEIDANIS & SETÚBAL, 1994), da Recomendo esse texto por sua acessibilidade e completude. mais freqüente operação em Bioinformática – o depois editado em inglês. alinhamento de seqüências de DNA. Neste ensaio (verdadeiramente introdutório) temos a intenção de abordar as primeiras idéias de aplicação de Introdução – Noções (Muito) Básicas Sobre O DNA Pesquisa Operacional à Bioinformática. Surpreendentemente, os aspectos abordados não pressupõem maiores requisitos e O que é DNA ? são acessíveis a qualquer interessado com um bom Ensino Médio. Uma informação importante: o autor confessa um conhecimento apenas pedestre da Biologia envolvida. Procuremos transformar essa deficiência em vantagem. Toda a Biologia abordada depende muito mais de fatos básicos e bom senso do que de conhecimentos profundos. Isso quer dizer que espero que estas páginas sirvam para acender a curiosidade, tanto no que diz respeito à Biologia como à Pesquisa Operacional. É justo também advertir que a abordagem é fortemente inspirada no trabalho da DIMACS (Center for Discrete DNA (Ácido desoxiribonucléico) é o material genético da maioria dos organismos vivos. Cada cromossomo é na verdade uma molécula extremamente longa de DNA. Os blocos de construção química do DNA são nucleotídeos. Um nucleotídeo consiste de uma molécula de açúcar e uma de fosfato ligados a uma das quatro bases de DNA: Timina (T), Adenina (A), Guanina (G) e Citosina (C). O DNA de uma célula humana mede (desenrolado) cerca 1,5 m de comprimento, isto é, ele é cerca de 100.000 vezes maior do que a própria célula. A sua forma característica é de 2 uma dupla hélice, como se fosse uma longuíssima escada A fileira do DNA é realmente uma fileira de palavras de retorcida para a direita. O DNA de uma molécula humana letras, cada palavra (a cada três nucleotídeos) sendo o código contém cerca de 3.000.000 de nucleotídeos. de um determinado aminoácido. Assim, a seqüência ACGTTCCGATCGGTA deve ser lida ACG TTC CGA TCG GTA. Apesar de seu comprimento, o DNA é uma molécula relativamente simples. Cada lado da escada consiste de um Primeira posição arranjo linear de unidades (letras) A, G, T e C. Esses arranjos são aos pares, isto é, os pares que formam os degraus são Segunda posição G A C T Terceira posição Glicina Ácido Glutâmico Alanina Valina G Glicina Ácido Glutâmico Alanina Valina hélice como uma única seqüência: se de um lado tivermos Glicina Ácido Aspártico Alanina Valina CATTCG do outro teremos GTAAGC. Glicina Ácido Aspártico Alanina Valina Arginina Lisina Treonina sempre da forma A-T ou G-C. Por isso podemos tratar a dupla G O que faz o DNA? Se o ser humano fosse uma casa, os tijolos e cimento A seriam as proteínas. Além disso, algumas proteínas são catalisadores, provocam e aceleram reações. O corpo humano produz milhares de proteínas diferentes, todas codificadas pelo DNA. C As proteínas constituem-se de cadeias de pequenos blocos químicos chamados aminoácidos. Existem 20 tipos diferentes de aminoácidos, cada um com propriedades únicas. As propriedades químicas de uma proteína são determinadas não apenas por sua composição de aminoácidos, mas pelo modo como a cadeia de aminoácidos é curvada e dobrada em característica. uma forma tridimensional complexa e T Metionina (INÍCIO) A C T G Arginina Lisina Treonina Isoleucina A Serina Asparagina Treonina Isoleucina C Serina Asparagina Treonina Isoleucina T Arginina Glutamina Prolina Leucina G Arginina Glutamina Prolina Leucina A Arginina Histidina Prolina Leucina C Arginina Histidina Prolina Leucina T Tripofano PARADA Serina Leucina G PARADA PARADA Serina Leucina A Cisteína Tirosina Serina Fenilanina C Cisteína Tirosina Serina Fenilanina T O esquema acima mostra que aminoácidos são codificados por qual palavra de 3 letras. Informações mais completas podem ser encontradas em Brookes (2001), (MEIDANIS & SETÚBAL, 1994) e (SILVERSTEIN & SILVERSTEIN, 2004). 3 Nossa máquina do tempo de que estas proteínas sejam homólogas e não simplesmente Todo ramo da ciência tem sua máquina do tempo. A Astronomia tem a luz; essa que nos chega foi emitida há (muitos) milhões de anos. As camadas da terra nos revelam o que aconteceu em nosso planeta milhões de anos antes de o ser humano aparecer. análogas. Mesmo entre proteínas homólogas, pode haver grande diversidade na sua estrutura primária. Apesar disso, há trechos das seqüências que pouco ou nada mudam. Quando uma região de uma seqüência muda pouco de proteína para proteína dizemos que a região é conservada. As enzimas A Biologia começou usando o aspecto externo dos seres possuem via de regra em sua estrutura tridimensional certas vivos como sua máquina do tempo; depois isso foi refinado regiões onde os reagentes se “encaixam”, facilitando a reação. com a observação dos órgãos internos das diversas espécies. Estes locais são chamados de sítios ativos e são geralmente Mas o DNA hoje é a principal máquina do tempo dos biólogos. bem conservados nas diferentes versões da proteína para as Proteínas são muito usadas para investigar a evolução das espécies. Isto se deve ao fato de que é comum encontrar proteínas exercendo o mesmo tipo de função em organismos distintos. Por hemoglobina, molécula. exemplo, embora Estudando todos não a seja os mamíferos exatamente seqüência de a mesma aminoácidos de sobre sua origem. ser semelhantes (sejam proteínas ou homólogas ou análogas. Dizemos que são homólogas se as estruturas originaram-se de um ancestral comum; caso sítios ativos ou não, têm provavelmente papel fundamental na atividade da proteína. O Problema do Pipoqueiro A comparação de seqüências de DNA e proteínas é uma das operações mais básicas da bioinformática. Isso não é de se admirar, uma vez que é uma das operações que os características aparentes) em seres vivos de espécies distintas podem elas possuem hemoglobinas de espécies diferentes pode-se tirar conclusões Estruturas diferentes espécies. Regiões altamente conservadas, sejam contrário, serão análogas. No caso da hemoglobina em mamíferos, por exemplo, há fortes evidências computadores podem fazer com mais eficiência. Mas isso de nada serviria se essa operação não fosse significativa. Mas ela é e isso se deve ao fato de a Natureza ser extremamente conservadora. Espécies morfologicamente diferentes guardam enorme similaridade em sua estrutura genética. Basta olhar para um cão fila e um pequinês. 4 Mais ainda, uma característica fundamental dos seres Esse problema é resolvido por uma versão simplificada e vivos é a capacidade de se replicar; de certa forma, alguma adaptada do algoritmo de Dijkstra 1, apresentado em 1952. O coisa nós seres humanos temos em comum com, digamos, algoritmo baseia-se na observação de que não precisamos uma folha de tabaco. E de fato, uma parte de nosso (nós e a calcular globalmente a distância para encontrar o mínimo (ou folha de tabaco) código genético guarda enorme similaridade. máximo). Uma versão desse algoritmo pode ser descrita, de Antes de comparar as seqüências (de DNA ou de maneira sucinta da seguinte maneira: proteínas) é necessário realizar um alinhamento dessas Vamos fazer um exemplo bem simples: seqüências. Encontrar o melhor caminho de A até B andando sempre Parece simples: combinamos as seqüências aleatoriamente, comparamos dando uma pontuação. Fazemos para baixo e para a direita. Mas o que quer dizer melhor? isso varias vezes até encontrar a melhor pontuação possível. Essa operação, evidentemente, não é simples. Escolher alinhamentos ao acaso não nos conduzirá freqüentemente a um bom resultado. Nosso problema está se parecendo cada vez mais com um problema de otimização: maximizar um valor dentro de certas características. Vamos começar a olhar para este problema com os olhos da Pesquisa Operacional – a disciplina que aplica conceitos matemáticos e computacionais para a resolução de problemas de otimização (maior benefício, menor custo, melhor distribuição, etc.). Nosso modelo inicial será o mais simples possível, a Suponhamos que um pipoqueiro quer percorrer o bairro saber: olhar o alinhamento como um problema de melhor caminho. O significado de “melhor caminho” ficará claro mais adiante ao examinarmos o algoritmo de alinhamento (cujo mapa vai acima). Ele se move somente para a direita e 1 Edsger Wybe Dijkstra nasceu em Roterdan, Holanda em 1930 e morreu em 2002. Foi um cientista de computação e recebeu o Turing Award de 1972 por suas contribuições fundamentais na área de linguagens de programação 5 para baixo. Os números representam o número de saquinhos Alinhamento De Seqüências de pipoca que ele espera vender em cada trecho. Qual o melhor caminho que vai de A para B? O problema se resolve respondendo a perguntas simples: Qual a melhor distância até X? Claramente é 3. O DNA nos traz informações sobre as espécies e sua evolução. É natural pensar que o mesmo trecho do DNA que regula, por exemplo, a insulina em humanos, guarde Qual a melhor distância até Y? Claramente é 5. semelhança com outros mamíferos, a menos de algumas Qual a menor distância até Z? Temos de escolher se mutações. As principais mutações são resultado de trocas viremos de X (com total 3+4=7) ou se viremos por Y (com (p.ex. A por T) ou supressão de letras (p.ex. AGTG -> ATG). total 5 + 3=8). O melhor será vir por Y, pois fará o pipoqueiro Os biólogos acreditam que a troca de letras é mais freqüente vender mais saquinhos de pipoca. do que a supressão Continuando esse raciocínio descobriremos o melhor caminho de A a B. Na verdade encontraremos o melhor caminho de A a qualquer ponto. Os caminhos possíveis são mostrados abaixo: Por exemplo, se quisermos comparar as seqüências AGCGT e CAGT, os trechos têm tamanhos diferentes e só podem ser alinhados se fizermos a hipótese de uma supressão, comumente chamada de “gap”. A figura abaixo mostra possíveis alinhamentos. Qual deles é o melhor? Para tomar esta decisão, os biólogos propõem uma pontuação: Mas como isso pode nos ajudar no alinhamento de seqüências de DNA? • +2 se alinharmos letras iguais • -1 se alinharmos letras diferentes • -2 se alinharmos letra com gap • -500 se alinharmos dois gaps 6 Observação: Nesta pontuação fictícia os biólogos estão positivamente. Nestas condições poderemos usar o algoritmo sinalizando que é menos provável uma supressão do que uma para encontrar o caminho com maior ganho (no lugar de troca e que não é aceito gap sobre gap (500 faz o papel de menor custo), usando o mesmo mecanismo. Como o grafo é “infinito computacional”). construído? Com esta pontuação o primeiro alinhamento (AGCGT sobre – CAGT) tem valor -2-1-1+2+2=0. O segundo alinhamento em na fileira de baixo (AGCG-T sobre C- - AGT) tem valor -1-2-2-1-2+2=-6. Podemos produzir todos os alinhamentos usando uma árvore (exibimos as duas primeiras ramificações). O primeiro alinhamento pode ser A sobre C, A sobre gap ou gap sobre C. Os vértices serão os quadrados; os arcos ligando os quadrados A segunda ramificação mostra como poderíamos continuar serão sempre: enumerando todas as possibilidades possíveis de alinhamento. • Para a direita com valor -2 (significa letra de cima alinhada com gap); • Para a esquerda com valor -2 (significa gap alinhado com letra da esquerda); • Na diagonal de cima para baixo (significa letra de cima alinhada com letra da esquerda): o Se as letras de destino forem iguais o valor será +2, O problema é que esse procedimento é exponencial (a árvore teria cerca de 3t vértices, sendo t o comprimento da maior o Se as letras de destino forem diferentes o valor será igual a -1. cadeia). Vamos usar uma adaptação do algoritmo de Dijkstra, construindo um grafo sem circuitos e com arcos valorados 7 No nosso caso o grafo correspondente, e os valores em cada vértice serão: Outro melhor caminho de mesmo valor também possível (e Temos vários caminhos ótimos. Para efeito de algoritmo sua pontuação) é: podemos privilegiar a fronteira direita, preferindo fazer o "caminho de volta" principalmente para cima, depois em diagonal e em último caso para a esquerda, o que nos daria o alinhamento assinalado AGC-GT sobre - - CAGT; mas essa escolha é arbitrária. O valor deste alinhamento seria: -2 -2 +2 -2 +2 +2=0. 8 Árvores Filogenéticas em características visíveis ou observáveis. Hoje podemos começar observando proteínas de funcionalidade comum. Vamos ver como o alinhamento pode nos ajudar no Abaixo temos uma comparação entre proteínas estudo da evolução. Para isso necessitaremos de algumas específicas desses organismos (dados obtidos no Genbank, definições simples. sítio do NCBI, 2010). Segundo o Dicionário Aurélio, filogenia é a história evolucionária das espécies. A estrutura universal para representar a filogenia são as árvores. Uma árvore filogenética é, portanto, uma representação gráfica da filogenia. Digamos que queremos determinar a filogenia de bois, porcos, ratos, camundongos e humanos. Uma pessoa distraída poderia fazer uma árvore como essa: Sem maiores exames constatamos que há suficientes Não parece sensato juntar ratos e porcos de um lado e camundongos e homens do outro. Este exemplo é exagerado, mas podemos imaginar diferenças mais sutis. Até o começo do século, essa classificação era feita cm base na aparência ou semelhanças para que imaginemos que há ancestrais comuns. Gostaríamos de reconstruir a filogenia dessas criaturas. Será que, do estudo dessas partes do DNA, poderemos inferir a história evolucionária das espécies envolvidas? Tecnicamente, não, pois uma seqüência pequena como essa não é suficiente. 9 Mas é razoável pensar que, com um número maior de seqüências estudadas poderemos tentar reconstruir as bifurcações da evolução. Para isso estamos supondo que as Procuramos os organismos que tem menor diferença e substituímos por uma única linha/coluna, e sua distância pela média aritmética das distâncias. mudanças se processam em uma única direção (as mutações não formam ciclos) e que os galhos se dão unicamente por bifurcação. Vamos começar alinhando (no exemplo temos também galinhas, ovelhas e lebres). Um método simples é o UPGMA – Unweighted Pair Group Method with Arithmetic Mean. Como o nome diz, será usada a média aritmética. Começamos usando uma matriz de distância, usando, por exemplo, a pontuação dos alinhamentos, calculada de forma percentual. O número da tabela indica o percentual de diferença entre as seqüências. Prosseguimos e construímos uma árvore mais coerente: 10 Observe que o exemplo é escolar; em geral o que se compara construção. são cadeias de espécies bem mais assemelhadas. Existem principalmente Von Neumann e Turing, que haviam trabalhado outros métodos, bastante mais sofisticados. Mas todos eles com máquinas para decifrar os códigos dos nazistas, também são baseados nestes princípios simples, aqui expostos. produzidos por máquinas. Isso não Sua é concepção surpreendente. foi A feita por Informática matemáticos, depende de algoritmos, os programas; e a Matemática sempre produziu Além Das Aplicações algoritmos. O que o século XX assistiu foi a um impressionante Nossa finalidade, neste artigo, não é apenas mostrar um diálogo entre a tecnologia e a ciência, com poderosas algoritmo mais máquinas digitais, prontas a lidar com inúmeras informações, interessante, conforme já opinado na introdução (“Antes de invadindo nossa vida cotidiana: no banco, em casa, no Começar”) do supermercado... Pedem, em troca, que nos adaptemos a uma desenvolvimento da Genética moderna e do desenvolvimento sociedade de procedimentos, em que devemos seguir nós de algoritmos e computadores. mesmos os algoritmos. Da nossa integração com essas O algoritmo de Dijkstra é simples e pode ser entendido por máquinas e com estes algoritmos dependerá nossa inserção qualquer aluno do ensino secundário. Porque não havia ainda no mundo moderno. sido desenvolvido? Por que este problema não foi proposto a O caso da Genética, neste sentido, é exemplar – a expressão Euler, Gauss ou Newton? A verdade é que hoje temos da estrutura do DNA como um código é fundamental para que instrumentos que seja os conceitos matemáticos e algoritmicos possam ser utilizados. relevante. A técnica econômicos, Por outro lado, acreditar que essa expressão tenha ocorrido otimizados, só alcançou status de ciência a partir da 2ª junto ao desenvolvimento dos algoritmos e das ferramentas Guerra, com o desenvolvimento da computação moderna. computacionais Na segunda metade do século XX, impulsionadas pelas ceticismo do que conviria mesmo a um cientista. computacional é ressaltar fazem aplicado a com à Biologia. interconexão que de procurar este O histórica algoritmo caminhos seja meramente casual requereria mais necessidades emergentes da Segunda Guerra Mundial, foram criadas condições para o aparecimento das máquinas de computar. Um fato esquecido é que essas máquinas foram projetadas antes mesmo de haver tecnologia para sua 11 Referências BROOKES, M. Fique por dentro da Genética. Editora Cosac & Naif, 2001 São Paulo : GIBAS, C.; JAMBECK, P. Desenvolvendo a Bioinformática; São Paulo: Editora Campus, 2001. MEIDANIS, J.; SETÚBAL, J. C. Uma introdução à Biologia Computacional UFPE,1994. SILVERSTEIN, A.; SILVERSTEIN, V. The Code of Life; New York: Ed. Dover, 2004. The DIMACS Bio-Math Connect Institute – sítio internet http://dimacs.rutgers.edu/dci/2006/ - consultado em 1/9/2010 NCBI - National Center for Biotechnology Information http://www.ncbi.nlm.nih.gov/ consultado em 1/9/2010 Algorithms and Genetics: a modern marriage Abstract Since World War II algorithms have played a role of increasing importance in all aspects of human life in general and of science in particular. One of the fields in which this connection was mostly successful was Genetics. DNA’s presentation as a sequence of A, C, G and T symbols suggested that algorithms could be a privileged tool for the study of genetic properties of living organisms. In this essay, we discuss the basic principles of computational algorithms used in genetics, using mathematical resources accessible to pre-university level Maths students. Keywords: Genetics; Informática; Algorithms; Discrete Mathematics. Sobre Os Autores: Samuel Jurkiewicz é um matemático, doutorado pela Universidade Pierre et Marie Curie, que se especializou em matemática discreta e teoria de grafos. É professor da UFRJ e convidado do CEFET Celso Suckow da Fonseca. Tem publicações na área de Educação Matemática, é membro da comissão de provas da Olimpíada Brasileira de Matemática da Escola Pública e atua na matemática da educação [email protected] formação de professores de básica e superior. E-mail: 12