8. Computadoras De ADN
Introducción:
El 11 de Noviembre de 1994, un artículo en Science[1] describía la
"Computación Molecular de Soluciones a Problemas Combinatorios". Esta
fue la primera implementación de una computadora basada en ADN, y el título
quiere decir que un problema que requiere buscar varias posibles soluciones (un
problema combinatorio) fue resuelto con moléculas (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 resta. [2]
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.
El
Problema del Camino Hamiltoniano
El objetivo es encontrar un camino que vaya del inicio (start) hasta el final
(end) pasando por todos los demás puntos una sola vez. Este problema es difícil
para computadoras convencionales (lógica serial) porque deben de intentar cada
camino posible uno por uno. Es como tener una pila de llaves y tratar de ver
cual es la que entra en una cerradura. Las computadoras convencionales son muy
buenas para las matemáticas, pero malas para problemas de tipo "llave en
la cerradura". Las computadoras basadas en ADN pueden tratar todas las
llaves al mismo tiempo (masivamente paralelo) y por lo tanto son muy buenas para
problemas de llave-en-la-cerradura, pero mucho más lentas para problemas matemáticos
simples como la multiplicación. El problema del Camino Hamiltoniano fue
escogido porque todos los problemas llave-en-la-cerradura pueden ser resueltos
como problemas de Camino Hamiltoniano.[2]
Resolviendo
el Problema:
El siguiente algoritmo resuelve el problema del Camino Hamiltoniano, sin
importar el tipo de computadora usada:
Generar caminos aleatorios a través del grafo.
Quedarse solo con los caminos que empiezan en la ciudad inicio (A) y terminan en
la ciudad fin
(G).
Como el grafo tiene 7 ciudades, quedarse solo con los caminos que tengan 7
ciudades.
Quedarse solo con los caminos que entran a todas las ciudades por lo menos una
vez.
Cualquier camino que quede es una solución.[1]
La
clave para resolver el problema fue usar ADN para llevar a cabo los cinco pasos
del algoritmo.
Estos bloques interconectados, pueden ser usados para modelar el ADN:
Al ADN le
gusta formar largas hélices dobles:
Las dos hélices son unidas por "bases", que serán representadas por
bloques de colores. Cada base se une solamente a otra base específica. En
nuestro ejemplo, diremos que cada bloque de color únicamente se unirá con el
mismo color. Por ejemplo, si solo tuvieramos bloques rojos, pudieran formar una
cadena larga como esta:
Cualquier
otro color no se unirá con el rojo:
Programando
con ADN:
Paso 1: Crear una
secuencia de ADN única para cada ciudad (de A hasta G). Para cada camino, por
ejemplo, de A a B, crear una pieza de ADN que concuerde con la última mitad de
A y la primera mitad de B:
Aquí el bloque rojo representa a la ciudad A, mientras que el bloque naranja
representa a la ciudad B. El bloque mitad rojo mitad naranja que conecta a los
otros dos bloques, representa el camino de A a B.
En un tubo
de ensayo, todas las diferentes piezas de ADN se conectarán unas con otras al
azar, formando caminos a través del grafo.
Paso 2:
Debido a que es difícil "remover" el ADN de la solución, el ADN que
empezaba en A y terminaba en G fue copiado una y otra vez hasta que el tubo de
ensayo contuviera mucho de ése ADN relativo a las otras secuencias secuencias
aleatorias. Esto es esencialmente lo mismo que remover todas las otras piezas.
Imagine un cajón de calcetas que inicialmente contiene una o dos calcetas de
colores. Si pone ahí cien calcetas negras, es muy probable que cuando saque una
del cajón todo lo que obtenga sean calcetas negras!
Paso 3:
Por peso, las secuencias de ADN que tuvieran 7 "ciudades" de largo
fueron separadas del resto. Una "sieve" fue usada la cual permite que
pasen rápidamente pedazos pequeños de ADN, mientras que los segmentos más
largos son frenados.El procedimiento usado en realidad permite aislar las piezas
que son precisamente de 7 ciudades de largo.
Paso 4:
Para asegurar que las secuencias que nos quedan pasan por todas las ciudades,
fueron usadas piezas "pegajosas" de ADN unidas a magnetos para separar
el ADN. Los magnetos fueron usados para asegurar que el ADN que queremos
permanezca en el tubo de ensayo, mientras que el ADN no requerido es removido.
Primero, los magnetos se quedaban con todo el ADN que pasara por la ciudad A en
el tubo de ensayo, luego por B, luego C, y D, y así sucesivamente. Al final, el
ADN que permanece en el tubo fue aquél que pasa por todas las ciudades.
Paso 5: Todo lo que falta es
secuenciar el ADN, revelando el camino de A a B a C a D a E a F a G.
Ventajas:
El procedimiento de arriba tomó aproximadamente una semana en terminar. Aunque
este problema particular pudiera ser resuelto en un pedazo de papel en menos de
una hora, cuando el número de ciudades aumenta a 70, el problema se vuelve
demasiado complejo incluso para una supercomputadora. Mientras que una
computadora de ADN se tarda mucho más que una computadora normal para hacer
cada cálculo individual, puede hacer una cantidad enorme de operaciones al
mismo tiempo (masivamente paralelo). Las computadoras de ADN también necesitan
menos energía y espacio que las computadoras normales. 1000 litros de agua
pudieran contener ADN con más memoria que todas las computadoras actuales
juntas, y una libra de ADN pudiera tener más poder de computación que todas
las computadoras actuales juntas. [3]
El Futuro:
La computación por ADN tiene apenas cuatro años (11 de Noviembre de 1994), y
por esta razón, es muy temprano para gran optimismo o gran pesimismo. Las
primeras computadoras como la ENIAC llenaban cuartos enteros, y tenían que ser
programadas por tarjetas perforadas. Desde ese tiempo, las computadoras se han
vuelto mucho más pequeñas y fáciles de usar. Las computadoras de ADN se
volverán más comunes para resolver problemas muy complejos; Así como la
clonación y secuenciación de ADN fueron una vez trabajos manuales, las
computadoras de ADN también se automatizarán.
Además de los
beneficios directos de usar computadoras de ADN para desarrollar computaciones
complejas, algunas de las operaciones que las computadoras de ADN ya poseen, y
probablemente más serán usadas para investigación molecular y bioquímica.
Computadoras
De ADN
Alma Iridia Barranco
Cuando en 1953, los bioquímicos James Watson y Francis Crick presentaron por
primera vez el modelo de la doble hélice del ácido desoxirribonucléico o ADN,
ello no sólo les valió el Premio Nobel. Además, tuvieron la certeza de que
habían cambiado de golpe la dirección de las ciencias biológicas.
El ADN es la molécula que contiene toda la información genética de un
organismo vivo. En otras palabras, es el mecanismo en el cual se almacenan los
"planos" para que las células se dividan en la forma específica para
"construir" un organismo único. En otras palabras, la
"receta" completa de cada árbol, de cada camarón, de cada vaca y de
cada ser humano está contenida en una sola molécula de ácido desoxirribonucléico:
en el caso de los humanos, el color de la piel, del pelo y de los ojos, las
proporciones de la cara, la complexión, el sexo y hasta algunos rasgos de carácter
y predisposiciones a padecer ciertas enfermedades vienen programados en el ADN
de cada individuo. Y toda esta cantidad de información está contenida dentro
de una molécula microscópica almacenada en el núcleo de cada una de las células.
Ampliada millones de veces, la imagen de un ADN parece una escalera de caracol
larguísima en la cual cada peldaño está formado por un par de bases unidas
por un eslabón de hidrógeno. Considerando que el ADN humano tiene dos millones
900 mil pares de bases, el número de combinaciones distintas que se pueden
obtener sobrepasan los billones de billones.
Las mejores computadoras personales actualmente en el mercado no suelen tener más
de 10 Gb (10 billones de bytes) de capacidad de almacenamiento en disco duro; y,
por pequeño que sea, éste no mide menos de unos cuantos centímetros. Si guardáramos
esa misma cantidad de información en moléculas de ADN, cabría dentro de una célula
humana. Más aún, si colocáramos trillones de moléculas de ADN juntas y las
hiciéramos interactuar por medio de procesos químicos para procesar la
información que contienen, tendríamos la más compleja y poderosa red de cómputo
paralelo dentro de un tubo de ensayo. Aunque esto suene a historia de ciencia
ficción, no está tan alejado de la realidad.
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 el matemático y científico de la
computación Leonard Adleman comprobó en forma experimental esta propuesta.
Utilizó, para ello, ADN y técnicas de biología molecular. Con los resultados
de Adleman se ha despertado un gran interés en lo que hoy se conoce como cómputo
ADN (DNA computing). Esta es una rama de la biología computacional, ciencia
multidisciplinaria surgida en esta década, que sirve como intersección entre
las ciencias compu-tacionales, las matemáticas y la biología.
El experimento de Adleman consistió en establecer con ADN un sistema con una
cantidad enorme de "procesadores" en paralelo para resolver el
siguiente problema: supongamos que hay un vendedor ambulante que va de ciudad en
ciudad y que tiene que elegir, entre un gran número de posibles rutas, la más
eficiente. Este es un problema muy antiguo que requiere un número tremendo de cálculos
cuando se incrementa el número de ciudades que el vendedor tiene que visitar y
que ha sido teóricamente imposible de completar, aun y si todas las
computadoras convencionales que se han construido en el mundo se utilizaran al
mismo tiempo para resolverlo. Sin embargo, la computadora de ADN de Adleman
resolvió este problema en milésimas de segundo. Dicha computadora consistió
en un tubo de ensayo con una pequeña cantidad de solución que contenía
trillones de moléculas de ADN. Adleman asignó una combinación única de bases
formando una hélice simple de ADN por cada ciudad e hizo millones de copias de
cada una a través de procesos bioquímicos. Después hizo lo mismo asignando la
combinación única de bases equivalente al complemento del nombre de dos
ciudades si existía una ruta directa entre ambas (adenosina es el complemento
de timina, citosina es el complemento de guanina, y viceversa). El ADN, cuando
está en hélice simple, en forma natural tiende a unirse con su complemento.
Al poner las hélices de las ciudades junto con las de las rutas, éstas se
unieron en forma casi instantánea con sus respectivos complementos formando
doble hélices de ADN representando todas las posibles rutas y de entre éstas
se obtuvo la más corta.
Teóricamente, los beneficios potenciales del cómputo ADN son enormes,
particularmente si consideramos la inmensa capacidad de almacenamiento de estas
moléculas y la facilidad para realizar cómputo en multiparalelo. Sin embargo,
las computadoras de ADN tienen grandes desventajas. Aunque el experimento de
Adleman produjo una solución casi instantánea, tomó casi una semana el
preparar el sistema y otro tanto el poder pescar las moléculas con la solución
correcta de entre todas las moléculas en el tubo de ensayo. Además, no hay
garantía de que la solución producida será la mejor, aunque ciertamente será
una muy buena solución y se obtendrá en mucho menor tiempo que con una
computadora convencional. Otra gran desventaja es que las computadoras de ADN no
pueden ser programadas ni utilizadas por cualquier persona.
Así que, por el momento, las computadoras convencionales no podrán ser
reemplazadas por las de ADN. Para hacer estas últimas más viables se requiere
que el equipo necesario para la manipulación del ADN sea mucho más refinado y
permita reducir al mínimo el margen de error y el tiempo necesario para la
"programación".
Es muy improbable que las computadoras de ADN sean utilizadas para procesamiento
de palabras en el futuro cercano. En cambio, son una verdadera promesa para
resolver problemas que requieren una enorme cantidad de cómputo y
almacenamiento.
Aunque tal vez Watson y Crick jamás imaginaron que su investigación fuera a
repercutir en las ciencias exactas y la tecnología, ciertamente el cómputo ADN
no es una ficción, sino una ciencia en desarrollo y con enormes posibilidades.