Computadoras de ADN

Por Juan Pablo Bustamante

Los procesos que ocurren en los seres vivos constituyen algunos de los mecanismos más eficientes para procesar información.El código genético es una de las maquinarias más eficientes y compactas para procesarla y almacenarla. De ahí el creciente interés que la biología ha despertado a los investigadores de las ciencias computacionales en los últimos años.

Los materiales transductores orgánicos, como algunas células que generan electricidad químicamente en respuesta a estímulos, han dado pauta para buscar nuevas formas de cómputo, como la aplicación de neuronas naturales implantadas sobre placas electrónicas.

Comportamiento del ácido desoxirribonucleico (ADN)

En años recientes ha crecido el interés en evaluar y aplicar el potencial de la biología molecular para realizar cómputo. Es decir, se pretende aprovechar el comportamiento natural del ADN para implementar directamente sobre moléculas orgánicasalgunos algoritmos computacionales que tradicionalmente han sido aplicados en hardware electrónico. En general, este paradigma consiste en aplicar un lenguaje “bioquímico” a ciertas moléculas de ADN, cuyo comportamiento (espontáneo, o manipulado en algunos casos) pueda generar resultados útiles desde el punto de vista de la computabilidad de funciones matemáticas.

Luis Arturo Medrano Soto1 ha dicho que “la maquinaria celular lee y escribe a lo largo del ADN“. Basándonos en esto, podemos ver una clara semejanza con el funcionamiento de la MT2, que escribe a lo largo de una cinta. Partiendo de esta semejanza, aparentemente superficial y coincidental, podrían desarrollarse algunas ideas de mayor interés. Por ejemplo, se podría aplicar el modelo de MT para manipular directamente el código genético. Del mismo modo, el funcionamiento del código genético podría analogizarse con una MT, con lo cual podrían desarrollarse nuevas formas de cómputo. En otras palabras, esta semejanza podría ser benéfica en ambas áreas: tanto en la genómica como en la computación, dándose una retroalimentación muy valiosa.

Un trabajo muy citado en el joven campo de la Computación Molecular, es el realizado por Leonard M. Adleman3, publicado en 1994. En su trabajo, Adleman describe el cómputo molecular de soluciones de problemas de combinatoria. Según Yali Friedman4, investigador del área, esa fue la primera implementación de una computadora basada en ADN. En particular, el experimento de Adleman logró resolver el problema de la Ruta Hamiltoniana para una pequeña cantidad de nodos. Este problema consiste en hallar una ruta que recorra todos los nodos de un grafo, pasando sólo una vez por cada uno de ellos. El problema resulta muy difícil para las computadoras convencionales porque es de tiempo polinomial no determinístico, o sea, de tipo NP (no polinomial). Los problemas NP son intratables con computadoras determinísticas, que son las convencionales, de tipo serial; pero pueden resolverse usando computadoras no determinísticas, o sea, masivamente paralelas. Viendo al ADN como computadora, podría considerársele de tipo no determinístico. Según Friedman, Adleman eligió el problema de la Ruta Hamiltoniana porque es específicamente del tipo NP-completo, y todos los problemas NP pueden reducirse a alguna forma del problema de la Ruta Hamiltoniana.

El 11 de noviembre de 1994, un artículo en Science5 describía la “Computación Molecular da Soluciones a Problemas Combinatorios”. Esta fue la primera implementación de una computadora basada en ADN, y el título se refiere a que un problema que requiere buscar varias posibles soluciones (un problema combinatorio) fue resuelto con moléculas de ADN.

Aún con su respectiva complejidad, las operaciones biológicas y matemáticas tienen algunas similitudes:

  • La muy compleja estructura de un ser viviente es el resultado de aplicar operaciones simples a la información inicial codificada en una secuencia de ADN (genes).
  • Todos los problemas matemáticos complejos se pueden reducir a operaciones simples como la suma y la resta6.
  • Por las mismas razones por las que el ADN fue supuestamente seleccionado para los organismos vivientes como material genético, el ser estable y predecible en reacciones, las cadenas de ADN también pueden ser usadas para codificar información para sistemas matemáticos.

A finales de los años cincuenta, Richard Feynman, también ganador del Premio Nobel, propuso por primera vez la posibilidad teórica de la computación a nivel molecular, pero no fue hasta 1994 que Adleman comprobó en forma experimental esta propuesta, utilizando para ello, ADN y técnicas de biología molecular.

Su trabajo supuso un gran avance en las ciencias de la computación ya que se mostraba que era posible realizar cómputos a nivel molecular y, además, con una enorme capacidad de paralelismo inherente. Vislumbró la posibilidad de que una molécula simple de ADN pueda usarse para codificar la “descripción instantánea” de una MT, y que los protocolos bioquímicos y enzimas disponibles actualmente podrían, al menos bajo condiciones ideales, usarse para inducir modificaciones sucesivas en una secuencia de ADN, modificaciones que serían el equivalente de la ejecución de una MT.

Funcionamiento

Las computadoras moleculares se muestran más adecuadas para la resolución eficiente de dichos problemas debido a suenorme capacidad de paralelismo. En particular, en la computación con ADN el paralelismo reside en el hecho de que un tubo de ensayo puede contener 1018 moléculas de ADN. Una simple operación sobre el tubo de ensayo supone del orden de 1018 operaciones simultáneas. Aquí estriba la enorme ventaja de las computadoras con ADN frente a las computadoras clásicas para la resolución de ciertos problemas complejos.

En una perspectiva diferente, más de 10 trillones de moléculas de ADN podrían ocupar no más de 1 centímetro cúbico. Con esto, una computadora de ADN podría contener 10 TB de datos y una capacidad de 10 trillones de procesos de cálculo al mismo tiempo.

Características en cuanto a velocidades en procesamiento de datos. Paralelismo y automatización

Actualmente, las super-computadoras más veloces pueden ejecutar 1000 millones de instrucciones por segundo (1000 MIPS); una molécula simple de ADN necesita aproximadamente 1000 segundos para ejecutar una instrucción, por lo cual su velocidad sería inferior a 0.001 MIPS.

Obviamente, si se desea realizar un cálculo a la vez (arquitectura serial), las computadoras de ADN no son una opción viable. Sin embargo, si se desea ejecutar muchos cálculos simultáneamente (arquitectura paralela), una computadora como la descrita puede ejecutar fácilmente 1014 MIPS. Las computadoras de ADN también requieren menos energía y espacio. Mientras que las computadoras actuales ejecutan 109 operaciones por Joule de energía consumida, las computadoras de ADN podrían ejecutar 2 x 1019 operaciones. Esto significa 1010 veces más eficiencia. Los datos pueden almacenarse en el ADN a una densidad aproximada de 1 bit por nanómetro cúbico (nm3), mientras que los medios actuales de almacenamiento requieren 1012 nm3 para cada bit.

Al ver al ADN como elemento de cómputo, los bioquímicos pueden generar moléculas mediante nuevos procesos, que serían similares a algoritmos computacionales, con lo cual su nivel de control sería quizá mejor que el de los procesos bioquímicos tradicionales. Algunas aplicaciones recientes incluyen, por ejemplo, la construcción de pseudo-enzimas.

A pesar de las actuales limitaciones físicas y lógicas del hardware de ADN, en el futuro, el posible hardware biológico podría ser quizá más veloz que el electrónico para aplicaciones que requieran paralelismo, dada su gran capacidad de operar dentro de este paradigma; además, se tendría la ventaja de que lo vivo puede reproducirse por sí mismo, y eso es algo que las computadoras electrónicas actuales todavía no pueden hacer. La aplicación de un posible hardware biológico depende en gran medida de su posibilidad de automatización, que quizá no esté muy lejana.

Comentarios