Artigo

Up

 

COMPUTADORES BIOLÓGICOS

por

Ricardo José Conceição Antunes

Departamento de Engenharia Informática

Universidade de Coimbra

3030 Coimbra, Portugal

rantunes@student.dei.uc.pt

 

Resumo - Quem imaginaria que um dia poderíamos vir a utilizar o ADN de células, para nos solucionar os mais complexos cálculos que o homem enfrenta hoje? Graças à ideia pioneira do Engenheiro Informático e Matemático Leonard Adleman, os computadores ADN são hoje uma realidade com um futuro bastante promissor. Problemas não polinomiais tais como o "Caixeiro viajante" (Caminho de Hamilton), que dado um numero de cidades suficientemente elevado eram impossíveis de resolver, isto porque, o tempo que levaria a encontrar uma solução ultrapassaria em larga escala a esperança de vida de um ser humano.

Computadores ADN encontram respostas em tempos recorde, mostrando assim o seu tremendo potencial a todo mundo. Neste artigo irão ver como estes "computadores ADN" são feitos como funcionam e quais as suas potencialidades e falhas.

Palavras Chave Computadores biológicos, ADN, molécula, Adleman, Caixeiro Viajante.

 

Introdução

 

    "De facto o computador ADN poderá vir a ser a nova ideia mais importante do nosso tempo." Citação directa Todd Campbell escritor e presidente da PreText, escrita para a ABCNews.

Um computador ADN é comparável a uma panela de sopa capaz de guardar biliões de vezes mais informação que um computador convencional. Pode e é capaz de resolver problemas extremamente complexos na fracção de tempo que um supercomputador levaria. Armazena mais informação em menos espaço! Se tudo isto é verdade porque é que ainda não temos um em casa?

 

Corpo do Artigo

 

    Problemas polinomiais são problemas que podem ser resolvidos em tempo polinomial, basicamente à velocidade de uma potência fixa de N, onde N é o tamanho do problema. Num problema não polinomial completo ninguém conhece um algoritmo que não use tempo exponencial (2 ou outra potência de um numero > 1). São estes problemas não polinomiais que necessitam de uma enorme capacidade de calculo, e é precisamente aqui que qualquer computador convencional peca. O computador tradicional é caracterizado por encontrar soluções resolvendo os problemas um de cada vez, enquanto que um computador à base de ADN percorre triliões de combinações moleculares quase simultaneamente. Isto não deveria ser da admiração de ninguém visto que a célula teve milhões de anos para se aperfeiçoar, tornando-se num autêntico sistema informático automatizado.

 

    Antes de entrar no conceito de fabrico de um computador biológico achei por bem explicar a constituição básica do ADN, para que não surjam duvidas no decorrer da leitura deste artigo.

    

    O ADN (Ácido Desoxirribonucleico) é o material genético primário de todos os seres vivos - molécula composta de duas cadeias complementares que se envolvem entre si sobe a forma de dupla hélice em volta de um eixo fixo e imaginário. As cadeias são conectadas através de pares base que se parecem como travessas de um escadote. Cada base irá formar pare somente com outra base: Adenina (A) emparelha com a Timina (T), Guanina (G) emparelha com a Citosina (C). A sequência de cada cadeia poderá então ser deduzida através da identidade do seu parceiro.

 

 

Ilustração de uma molécula de ADN

Na construção de um Computador biológico, as técnicas desenvolvidas para a manipulação do ADN são aqui usados para construção das cadeias de ADN. Estas cadeias representam todos os dados que poderiam possivelmente ser incluídas na resposta a um problema especifico. Após a construção, as cadeias são libertas, ocorrendo quase instantaneamente várias ligações onde todas as combinações possíveis a uma possível resposta se verificam. Posteriormente, os pesquisadores filtram os resultados, eliminando todas as combinações incorrectas até que estes possuam somente as soluções correctas.

 

    A primeira demonstração laboratorial de computação biológica ocorreu em 1994 quando Leonard Adleman, um professor de Engenharia Informática na Universidade da Califórnia do Sul, usou ADN para resolver uma versão de setes cidades do problema do "Caixeiro Viajante".

 

    O caminho de Hamilton mais conhecido por "Caixeiro viajante" feito por um matemático irlandês William Rowan Hamilton no século 19, diz nos o seguinte: Dado um conjunto arbitrário de cidades, qual é o caminho mais curto que liga todas as cidades existentes no conjunto, passando por cada um, uma só vez?

 

    Com um numero pequeno de cidades, o problema é de fácil resolução, limitando o conjunto a cinco cidades basta brincarmos um pouco com papel e lápis, que a resposta nos aparecerá em menos de uma hora. Mas à medida que o numero de cidades vai aumentando o problema começa a ficar muito mais difícil de se resolver, quando chegaremos às 30 cidades, existem mais de um bilião de possibilidades.

 

    Às 100 cidades, levaria ao supercomputador mais potente para cima de um bilião de anos a encontrar uma resposta adequada. A dificuldade reside no facto de um computador tradicional ter de analisar todas as respostas uma por uma, de uma forma sequencial e não paralela.

 

 

 

 

 

 

 

 

 

 

O problema do Caixeiro viajante : À 

medida que o numero de cidades cresce,

até mesmo super computadores têm

dificuldades em encontrar o caminho mais curto.

 

 

 

 

 

 

    Como resolver o problema utilizando um computador biológico: Partindo do pressuposto que estamos a tentar resolver o problema do "Caixeiro Viajante" utilizando-se sete cidades para a experiência.

Cidade

Sequência de ADN

Lisboa

TTGGCTAAGGTAAACGTCACC

Porto

TTGGCCGTCGGCGCAGTC

Coimbra

TTGAGCGTCAAGGATAACGGCACC

Faro

TTGAGCACGACCGGAACAGTA

Viseu

TTGAAAACCGGCGTC

Chaves

TTGGGAAAGGTAACAGAA

Évora

GGAGTCGGCACC

Esta tabela possui sete cidades codificadas com a respectiva sequência de ADN

 

1 Passo: Criar uma sequência de ADN única para cada cidade de A a G. Para cada caminho, por exemplo, de A para B, cria-se uma peça de ADN (linking piece) que se ligará à ultima metade de A e à primeira metade de B. No tubo de ensaio, todas as peças de ADN diferentes irão se ligar aleatoriamente umas às outras, criando caminhos através do grafo.

 

2 Passo: Devido à dificuldade de "remover" ADN da solução, o ADN alvo, ou seja, o ADN que começou em A e terminou em G é copiado vezes sem conta, até que o tubo de ensaio possua muitas moléculas com essa mesma constituição genética em relação às outras sequências de ADN aleatórias. Isto tem por objectivo diluir a solução ao ponto de nenhuma das outras sequências aleatórias interessarem.

 

3 Passo: Através do peso, o ADN cujas sequências possuam um comprimento de sete "cidades" são separadas das restantes. Uma espécie de "crivo" é usada, deixando passar os bocados de ADN mais pequenos, com maior rapidez, enquanto que segmentos de maiores dimensões são atrasados. O procedimento utilizado permite-nos isolar bocados que possuam precisamente uma dimensão de sete "cidades" de qualquer outra sequência com caminhos de menores ou maiores dimensões.

 

4 Passo: Para assegurar que as restantes sequências passaram por todas as cidades, bocados de ADN agarrados a ímans são usados para separar o ADN. Os ímans foram usados para garantir que o ADN alvo permanecesse no tubo de ensaio, o restante ADN considerava-se inútil e removia-se. Primeiro os ímans guardariam todo o ADN que passasse pela cidade A, depois B, C e D, etc. No fim somente se encontraria no tubo de ensaio ADN que percorrera as sete cidades.

 

5 passo: Resta dar sequência ao ADN, revelando assim um caminho de A para B de B para C de C para D de D para E de E para F e finalmente de F para G.

 

    Como vêem o processo de construção de um computador biológico é um tanto ao quanto rude, não tendo nada a ver com a composição e funcionamento dos computadores que estamos habituados a ver. Embora um modelo primitivo os computadores biológicos deixam qualquer supercomputador aos seus pés.

 

    Falemos agora de performance, já que muitos somos fãs de números e estatísticas vamos ver de facto como se comporta um computador biológico face a qualquer supercomputador existente:

    Em termos de velocidade, o ADN claramente vence a corrida. Executando 1000 operações por segundo a mais que qualquer supercomputador existente(executam 1012 operações por segundo). Para que consigamos perceber a velocidade a que os computadores moleculares funcionam, consideremos um PC vulgar, este é mil milhões de vezes mais lento a executar operações comparado a um computador de ADN, uns meros 106 operações por segundo.

    Em termos de utilização de energia, uma célula pode executar 2x1019 operações utilizando apenas um joule de energia (a quantidade de energia necessária para acender uma lâmpada de 100-watts durante um segundo), por outro lado um supercomputador só consegue 1010 operações, fazendo com que 1010 fossem desperdiçados. Tal como a célula puxa o limite da segunda lei da termodinâmica, que prevê que um joule poderá abastecer um máximo de 34x1019 operações irreversíveis, o consumo de energia de um computador ADN, desde a síntese de ADN ao PCR (processo utilizado para copiar cadeias de ADN) deverão também estes ser pequenos em relação à energia consumida por um supercomputador.

    O potencial de armazenamento de informação nos computadores moleculares segue a mesma tendência da velocidade e consumo de energia. Hoje em dia o armazenamento de dados são feitos com o auxílio de fita magnética, que armazenam informação a uma densidade de um bit por 1012 nanometros cúbicos, as moléculas de DNA fazem com que esta estatística pareça ridícula, com uma densidade de armazenamento de 1 bit por nanometro cubico O espaço usado é um trilião de vezes mais pequeno.

 

    Num computador biológico, a razão principal para utilizar-se sequências de ADN vem do facto de que estes podem codificar cada possibilidade numa única (embora grande) molécula. Isto significa que todas as possibilidades ocupassem um espaço comparavelmente pequeno para um N muito maior do que num computador normal.

 

Vantagens da computação biológica :

 

- pode aguentar com processamento paralelo massivo

- extremamente eficiente a poupar energia

- uma enorme capacidade de armazenamento de dados

- barato, limpo, material de fácil acesso

 

    Nem tudo é um mar de rosas na computação molecular, como se vê muitas coisas poderão correr mal, muitos erros poderão ser cometidos. Dado que a computação molecular possui uma existência de somente sete anos, pode se dizer que ainda se tem muito para aprender.

 

    O controlo de erros é conseguido principalmente através de operações lógicas, tais como a reverificação de todas as moléculas de ADN que retornaram resultados positivos com o intuito de reduzir o numero de "falsos" positivos. Algumas propostas moleculares tais como a utilização de ADN com uma "espinha" peptídica de forma a proporcionar alguma estabilidade, também foram recomendados.

 

    Operações simples tais como somas ou multiplicações são mais difíceis de se conseguirem num computador molecular do que num computador tradicional. Temos de ver que o tempo de preparação de uma computador biológico leva vários dias, não se justificando a utilização deste para contas aritméticas simples quando temos à nossa disposição computadores que nos fazem estas operações aritméticas num questão de nanosegundos. 

 

    Basicamente o que estou a dizer, é que o futuro mais próximo dos computadores moleculares será destinado à supercomputação, na resolução de problemas não polinomiais.

 

Desvantagens da computação biológica:

 

- cadeias de grandes dimensões que codificam mais informação são caras

- dificuldades na manipulação do ADN

- erros na paridade das cadeias de ADN

- leva algum tempo para preparar e experimentar

 

    Com os seus prós e os seus contras a computação molecular promete vir a ser uma das descobertas mais significativas do século vinte, embora ainda um embrião vê-se que estes computadores poderão vir a solucionar muitos problemas complexos e nos facilitar a vida em muitas áreas tais como: O controlo de trafego aéreo, um problema de resolução muito complexo exigindo computadores muito mais potentes que os actuais supercomputadores. Para dar luz à gravidade do problema, nos Estados Unidos biliões de dólares foram gastos para criar um sistema nacional de controlo de trafego aéreo, sem sucesso devido à incapacidade de processamento de cálculos a tempo real. O país actualmente possui uma rede de controladores de trafego aéreo locais, em que cada um controla uma área limitada do país.

 

    Outra futura implementação dos computadores biológicos será a da criação de uma base de dados capaz de guardar o tipo sanguíneo e dados genéticos de cada soldado, existente nas forças armadas. Isto para nós portugueses não seja muito significativo mas para um exercito como a dos Estados Unidos constitui uma desafio bastante promissor.

 

    O próprio professor Adleman encontra-se a trabalhar num novo projecto que tem como objectivo usar ADN para descodificar uma mensagem encriptada em DES.

    O DES foi desenhado para ser inquebrável mesmo pelo maior e mais veloz supercomputador existente, o Sr. Adleman espera resolver o problema numa questão de meses.

 

    Outras áreas tais como medicina, química e biologia, revelaram grande interesse na utilização de computadores moleculares.

    Na área da química dois senhores Bartel e Szostak usaram métodos de combinações químicas para o fabrico de uma pseudo enzima. O objectivo da experiência foi a de descobrir uma molécula de ARN que ligaria duas moléculas de ARN. Usando uma solução de aproximadamente 425 sequências aleatórias de ARN para ligar duas moléculas. Após ter isolado o produto da reacção foram capazes de dar uma sequência à pseudo enzima.

 

    Computação por ADN tem menos de uma década de existência (Novembro 11, 1994), e por esta razão é demasiado cedo para grande optimismo ou grande pessimismo. Os primeiros computadores tais como os ENIAC enchiam salas inteiras, e tinham de ser programados através de cartões perfurados. Desde aí, computadores têm vindo a ser mais pequenos e fáceis de utilizar. É possível que computadores biológicos venham a ser mais utilizados na resolução de problemas muito complexos, e tal como as etapas do PCR e ADN fora outrora tarefas manuais, computadores de ADN poderão vir a ser automatizados.

 

Conclusões

 

    Todos os computadores existentes hoje utilizam código binário uns e zeros, em circuitos que se encontram no interior de um microchip, formando assim a base de todo o calculo. Um computador executa operações que vão desde uma simples adição até à resolução das mais complexas equações diferenciais. Visto que a molécula de ADN é também um código, feita de uma sequência de quatro bases que emparelham de uma forma prevista, Adleman viu a possibilidade de utilizá-lo como computador molecular. Em vez de confiar nos comutadores electrónicos de um microchip, Adleman usufruiu de reacções mais rápidas dos nucleótidos do ADN, criando assim um método de força bruta que de facto funciona.

 

Referências

 

1.Adleman, L. 1994. Molecular computation of solutions to combinatorial problems. Science 266:1021-1024.

2.Lipton, R. J. Speeding up computations via molecular biology. (unpublished manuscript)

3.Boneh, D., Lipton, R. J. Making DNA computers error resistant. (unpublished manuscript)

4.Kari, L. 1997. DNA computing: the arrival of biological mathematics. (unpublished manuscript). 5.Adleman, L. 1995. On constructing a molecular computer. (unpublished manuscript)