La computación de ADN es una rama emergente de la computación no convencional que utiliza hardware de ADN , bioquímica y biología molecular , en lugar de la computación electrónica tradicional . La investigación y el desarrollo en esta área se refieren a la teoría, los experimentos y las aplicaciones de la computación de ADN. Aunque el campo comenzó originalmente con la demostración de una aplicación informática por parte de Len Adleman en 1994, ahora se ha expandido a varias otras vías, como el desarrollo de tecnologías de almacenamiento, [1] [2] [3] modalidades de imágenes a nanoescala, [4] [5] [6] controladores sintéticos y redes de reacción, [7] [8] [9] [10] etc.
Leonard Adleman, de la Universidad del Sur de California, desarrolló inicialmente este campo en 1994. [11] Adleman demostró un uso de prueba de concepto del ADN como una forma de computación que resolvió el problema de la trayectoria hamiltoniana de siete puntos . Desde los experimentos iniciales de Adleman, se han producido avances y se ha demostrado que se pueden construir varias máquinas de Turing . [12] [13]
Desde entonces, el campo se ha expandido hacia varias áreas. En 1995, Eric Baum [14] propuso la idea de una memoria basada en ADN y conjeturó que se puede almacenar una gran cantidad de datos en una cantidad minúscula de ADN debido a su altísima densidad. Esto amplió el horizonte de la computación con ADN al ámbito de la tecnología de la memoria, aunque las demostraciones in vitro se realizaron casi una década después.
El campo de la computación del ADN se puede categorizar como un subcampo del campo más amplio de la nanociencia del ADN iniciado por Ned Seeman aproximadamente una década antes de la demostración de Len Adleman. [15] La idea original de Ned en la década de 1980 era construir estructuras arbitrarias utilizando el autoensamblaje de ADN de abajo hacia arriba para aplicaciones en cristalografía. Sin embargo, se transformó en el campo del autoensamblaje estructural del ADN [16] [17] [18] que a partir de 2020 es extremadamente sofisticado. En 2018 se han demostrado estructuras autoensambladas desde unos pocos nanómetros de altura hasta varias decenas de micrómetros de tamaño.
En 1994, el grupo del profesor Seeman demostró las primeras estructuras reticulares del ADN utilizando un pequeño conjunto de componentes del ADN. Si bien la demostración de Adleman mostró la posibilidad de computadoras basadas en ADN, el diseño del ADN era trivial porque a medida que aumenta el número de nodos en un grafo, el número de componentes de ADN necesarios en la implementación de Adleman crecería exponencialmente. Por lo tanto, los científicos informáticos y los bioquímicos comenzaron a explorar el ensamblaje de mosaicos, donde el objetivo era utilizar un pequeño conjunto de cadenas de ADN como mosaicos para realizar cálculos arbitrarios al crecer. Otras vías que se exploraron teóricamente a fines de los años 90 incluyen la seguridad y la criptografía basadas en ADN, [19] la capacidad computacional de los sistemas de ADN, [20] las memorias y los discos de ADN, [21] y la robótica basada en ADN. [22]
Antes de 2002, Lila Kari demostró que las operaciones de ADN realizadas por recombinación genética en algunos organismos son Turing completas. [23]
En 2003, el grupo de John Reif demostró por primera vez la idea de un caminante basado en ADN que se desplazaba por una pista similar a la de un robot seguidor de línea. Utilizaron la biología molecular como fuente de energía para el caminante. Desde esta primera demostración, se han presentado una amplia variedad de caminantes basados en ADN.
En 1994 Leonard Adleman presentó el primer prototipo de un ordenador de ADN. El TT-100 era un tubo de ensayo lleno de 100 microlitros de una solución de ADN. Consiguió resolver un caso del problema del camino hamiltoniano dirigido . [24] En el experimento de Adleman, el problema del camino hamiltoniano se implementó de forma notativa como el " problema del viajante de comercio ". Para ello, se crearon diferentes fragmentos de ADN, cada uno de los cuales representaba una ciudad que había que visitar. Cada uno de estos fragmentos es capaz de unirse con los demás fragmentos creados. Estos fragmentos de ADN se produjeron y se mezclaron en un tubo de ensayo . En cuestión de segundos, los fragmentos pequeños forman otros más grandes, que representan las diferentes rutas de viaje. A través de una reacción química, se eliminaron los fragmentos de ADN que representaban las rutas más largas. Los restos son la solución al problema, pero en total, el experimento duró una semana. [25] Sin embargo, las limitaciones técnicas actuales impiden la evaluación de los resultados. Por tanto, el experimento no es adecuado para la aplicación, pero no deja de ser una prueba de concepto .
Los primeros resultados a estos problemas fueron obtenidos por Leonard Adleman .
En 2002, J. Macdonald, D. Stefanović y M. Stojanović crearon una computadora de ADN capaz de jugar al tres en raya contra un jugador humano. [26] La calculadora consta de nueve casillas correspondientes a los nueve cuadrados del juego. Cada casilla contiene un sustrato y varias combinaciones de enzimas de ADN. El sustrato en sí está compuesto por una cadena de ADN sobre la que se injertó un grupo químico fluorescente en un extremo y, en el otro extremo, un grupo represor. La fluorescencia solo es activa si las moléculas del sustrato se cortan por la mitad. Las enzimas de ADN simulan funciones lógicas . Por ejemplo, un ADN de este tipo se desplegará si se introducen dos tipos específicos de cadena de ADN para reproducir la función lógica AND.
Por defecto, se considera que el ordenador ha jugado primero en la casilla central. El jugador humano empieza con ocho tipos diferentes de cadenas de ADN correspondientes a las ocho casillas restantes que se pueden jugar. Para jugar la casilla número i, el jugador humano vierte en todas las casillas las cadenas correspondientes a la entrada #i. Estas cadenas se unen a determinadas enzimas de ADN presentes en las casillas, lo que da lugar, en una de estas casillas, a la deformación de las enzimas de ADN que se unen al sustrato y lo cortan. La casilla correspondiente se vuelve fluorescente, lo que indica en qué casilla está jugando el ordenador de ADN. Las enzimas de ADN se reparten entre las casillas de tal forma que lo máximo que puede conseguir el jugador humano es un empate, como en el tres en raya real.
Kevin Cherry y Lulu Qian , del Instituto Tecnológico de California, desarrollaron una red neuronal artificial basada en ADN que puede reconocer dígitos escritos a mano de 100 bits. Lo lograron programando en una computadora con anticipación un conjunto apropiado de pesos representados por moléculas de peso de concentraciones variables que luego se agregarán al tubo de ensayo que contiene las cadenas de ADN de entrada. [27] [28]
Uno de los desafíos de la computación con ADN es su velocidad. Si bien el ADN como sustrato es biológicamente compatible, es decir, se puede utilizar en lugares donde la tecnología de silicio no puede, su velocidad de cálculo sigue siendo muy lenta. Por ejemplo, el circuito de raíz cuadrada utilizado como punto de referencia en el campo tardó más de 100 horas en completarse. [29] Si bien las formas más nuevas con fuentes de enzimas externas están dando como resultado circuitos más rápidos y compactos, [30] Chatterjee et al. demostraron una idea interesante en el campo para acelerar el cálculo a través de circuitos de ADN localizados, [31] un concepto que otros grupos están explorando más a fondo. [32] Esta idea, aunque originalmente se propuso en el campo de la arquitectura informática, también se ha adoptado en este campo. En arquitectura informática, es muy conocido que si las instrucciones se ejecutan en secuencia, tenerlas cargadas en la caché conducirá inevitablemente a un rendimiento rápido, también llamado principio de localización. Esto se debe a que con las instrucciones en la memoria caché rápida, no hay necesidad de intercambiarlas dentro y fuera de la memoria principal, lo que puede ser lento. De manera similar, en la computación de ADN localizada, las cadenas de ADN responsables del cálculo se fijan en un sustrato similar a una placa de pruebas que garantiza la proximidad física de las puertas de cálculo. Se ha demostrado que estas técnicas de computación de ADN localizada reducen potencialmente el tiempo de cálculo en órdenes de magnitud.
Investigaciones posteriores sobre computación de ADN han producido computación de ADN reversible, acercando la tecnología un paso más a la computación basada en silicio utilizada en (por ejemplo) las PC . En particular, John Reif y su grupo en la Universidad de Duke han propuesto dos técnicas diferentes para reutilizar los complejos de computación de ADN. El primer diseño utiliza puertas dsDNA, [33] mientras que el segundo diseño utiliza complejos de horquilla de ADN. [34] Si bien ambos diseños enfrentan algunos problemas (como fugas de reacción), esto parece representar un avance significativo en el campo de la computación de ADN. Algunos otros grupos también han intentado abordar el problema de la reutilización de las puertas. [35] [36]
En el artículo "Synthesis Strategy of Reversible Circuits on DNA Computers" [37] se presentan propuestas reversibles mediante reacciones de desplazamiento de cadena (SRDs) para implementar puertas y circuitos reversibles en computadoras de ADN mediante la combinación de técnicas de computación de ADN y computación reversible. Este artículo también propone una biblioteca universal de puertas reversibles (URGL) para sintetizar circuitos reversibles de n bits en computadoras de ADN con una longitud y un costo promedio de los circuitos construidos mejores que los métodos anteriores.
Existen múltiples métodos para construir un dispositivo informático basado en ADN, cada uno con sus propias ventajas y desventajas. La mayoría de ellos construyen las puertas lógicas básicas ( AND , OR , NOT ) asociadas con la lógica digital a partir de una base de ADN. Algunas de las diferentes bases incluyen ADNzimas, desoxioligonucleótidos , enzimas e intercambio de puntos de apoyo.
La operación más fundamental en la computación del ADN y la programación molecular es el mecanismo de desplazamiento de cadena. Actualmente, existen dos formas de realizar el desplazamiento de cadena:
Además de los esquemas de desplazamiento de cadena simples, también se han construido computadoras de ADN utilizando el concepto de intercambio de puntos de apoyo. [28] En este sistema, una cadena de ADN de entrada se une a un extremo pegajoso , o punto de apoyo, en otra molécula de ADN, lo que le permite desplazar otro segmento de cadena de la molécula. Esto permite la creación de componentes lógicos modulares como puertas AND, OR y NOT y amplificadores de señal, que se pueden conectar para formar computadoras de cualquier tamaño. Esta clase de computadoras de ADN no requiere enzimas ni ninguna capacidad química del ADN. [38]
La pila completa para la computación de ADN se parece mucho a una arquitectura de computadora tradicional. En el nivel más alto, un lenguaje de programación de propósito general similar a C se expresa utilizando un conjunto de redes de reacción química (CRN). Esta representación intermedia se traduce al diseño de ADN a nivel de dominio y luego se implementa utilizando un conjunto de cadenas de ADN. En 2010, el grupo de Erik Winfree demostró que el ADN se puede utilizar como sustrato para implementar reacciones químicas arbitrarias. Esto abrió el camino al diseño y la síntesis de controladores bioquímicos, ya que el poder expresivo de las CRN es equivalente a una máquina de Turing. [7] [8] [9] [10] Estos controladores se pueden utilizar potencialmente in vivo para aplicaciones como la prevención del desequilibrio hormonal.
El ADN catalítico ( desoxirribozima o ADNzima) cataliza una reacción al interactuar con la entrada adecuada, como un oligonucleótido correspondiente . Estas ADNzimas se utilizan para construir puertas lógicas análogas a la lógica digital en silicio; sin embargo, las ADNzimas se limitan a puertas de 1, 2 y 3 entradas y no tienen una implementación actual para evaluar declaraciones en serie.
La puerta lógica de la ADNzima cambia su estructura cuando se une a un oligonucleótido coincidente y el sustrato fluorogénico al que está unido se libera. Si bien se pueden utilizar otros materiales, la mayoría de los modelos utilizan un sustrato basado en fluorescencia porque es muy fácil de detectar, incluso en el límite de una sola molécula. [39] Luego se puede medir la cantidad de fluorescencia para determinar si se produjo o no una reacción. La ADNzima que cambia se "utiliza" y no puede iniciar más reacciones. Debido a esto, estas reacciones tienen lugar en un dispositivo como un reactor continuo de tanque agitado, donde se elimina el producto viejo y se agregan nuevas moléculas.
Dos ADNzimas de uso común se denominan E6 y 8-17. Son populares porque permiten la escisión de un sustrato en cualquier ubicación arbitraria. [40] Stojanovic y MacDonald han utilizado las ADNzimas E6 para construir las máquinas MAYA I [41] y MAYA II [42] , respectivamente; Stojanovic también ha demostrado puertas lógicas utilizando la ADNzima 8-17. [43] Si bien se ha demostrado que estas ADNzimas son útiles para construir puertas lógicas, están limitadas por la necesidad de un cofactor metálico para funcionar, como Zn 2+ o Mn 2+ , y por lo tanto no son útiles in vivo . [39] [44]
Un diseño llamado bucle de tallo , que consiste en una sola hebra de ADN que tiene un bucle en un extremo, es una estructura dinámica que se abre y se cierra cuando un fragmento de ADN se une a la parte del bucle. Este efecto se ha explotado para crear varias puertas lógicas . Estas puertas lógicas se han utilizado para crear las computadoras MAYA I y MAYA II que pueden jugar al tres en raya hasta cierto punto. [45]
Las computadoras de ADN basadas en enzimas suelen tener la forma de una simple máquina de Turing ; existe hardware análogo, en forma de enzima, y software, en forma de ADN. [46]
Benenson, Shapiro y sus colegas han demostrado una computadora de ADN utilizando la enzima FokI [47] y ampliaron su trabajo al mostrar autómatas que diagnostican y reaccionan al cáncer de próstata : subexpresión de los genes PPAP2B y GSTP1 y una sobreexpresión de PIM1 y HPN . [48] Sus autómatas evaluaron la expresión de cada gen, un gen a la vez, y en el diagnóstico positivo luego liberaron una molécula de ADN de cadena única (ssDNA) que es un antisentido para MDM2 . MDM2 es un represor de la proteína 53 , que a su vez es un supresor tumoral. [49] En el diagnóstico negativo, se decidió liberar un supresor del fármaco de diagnóstico positivo en lugar de no hacer nada. Una limitación de esta implementación es que se requieren dos autómatas separados, uno para administrar cada fármaco. Todo el proceso de evaluación hasta la liberación del fármaco tardó alrededor de una hora en completarse. Este método también requiere moléculas de transición, así como la enzima FokI. El requisito de la enzima FokI limita la aplicación in vivo , al menos para su uso en "células de organismos superiores". [50] También debe señalarse que las moléculas de "software" se pueden reutilizar en este caso.
La nanotecnología del ADN se ha aplicado al campo relacionado de la computación del ADN. Las teselas de ADN se pueden diseñar para que contengan múltiples extremos pegajosos con secuencias elegidas de modo que actúen como teselas de Wang . Se ha demostrado una matriz DX cuyo ensamblaje codifica una operación XOR ; esto permite que la matriz de ADN implemente un autómata celular que genera un fractal llamado la junta de Sierpinski . Esto demuestra que la computación se puede incorporar al ensamblaje de matrices de ADN, aumentando su alcance más allá de las matrices periódicas simples. [51]
La computación basada en ADN es una forma de computación paralela , ya que aprovecha las diferentes moléculas de ADN para probar muchas posibilidades diferentes a la vez. [52] Para ciertos problemas especializados, las computadoras basadas en ADN son más rápidas y más pequeñas que cualquier otra computadora construida hasta ahora. Además, se ha demostrado que ciertos cálculos matemáticos específicos funcionan en una computadora basada en ADN.
La computación con ADN no ofrece ninguna capacidad nueva desde el punto de vista de la teoría de la computabilidad , el estudio de qué problemas se pueden resolver computacionalmente utilizando diferentes modelos de computación. Por ejemplo, si el espacio requerido para la solución de un problema crece exponencialmente con el tamaño del problema ( problemas EXPSPACE ) en las máquinas de von Neumann , todavía crece exponencialmente con el tamaño del problema en las máquinas de ADN. Para problemas EXPSPACE muy grandes, la cantidad de ADN requerida es demasiado grande para ser práctica.
En 2009 se estableció una asociación entre IBM y Caltech con el objetivo de producir " chips de ADN ". [53] Un grupo de Caltech está trabajando en la fabricación de estos circuitos integrados basados en ácidos nucleicos. Uno de estos chips puede calcular raíces cuadradas enteras. [54] Se ha escrito un compilador [55] en Perl .
La lenta velocidad de procesamiento de un ordenador de ADN (el tiempo de respuesta se mide en minutos, horas o días, en lugar de milisegundos) se compensa con su potencial para realizar una gran cantidad de cálculos múltiples en paralelo. Esto permite que el sistema tarde un tiempo similar en realizar un cálculo complejo que en realizar uno simple. Esto se logra gracias a que millones o miles de millones de moléculas interactúan entre sí simultáneamente. Sin embargo, es mucho más difícil analizar las respuestas proporcionadas por un ordenador de ADN que por uno digital.
{{cite web}}
: CS1 maint: copia archivada como título ( enlace ){{cite web}}
: CS1 maint: copia archivada como título ( enlace ){{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace )— El libro comienza con una introducción a cuestiones relacionadas con el ADN, los conceptos básicos de bioquímica y la teoría del lenguaje y la computación, y avanza hacia la teoría matemática avanzada de la computación del ADN.