La informática del ADN es una rama emergente de la informática no convencional que utiliza hardware de ADN , bioquímica y biología molecular , en lugar de la informática 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 del ADN. Aunque el campo comenzó originalmente con la demostración de una aplicación informática realizada por 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ó una prueba de concepto del uso del ADN como una forma de cálculo 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 varias máquinas de Turing son constructibles. [12] [13]
Desde entonces, el campo se ha expandido hacia varias vías. En 1995, Eric Baum [14] propuso la idea de una memoria basada en ADN, quien conjeturó que se puede almacenar una gran cantidad de datos en una pequeña cantidad de ADN debido a su densidad ultra alta. Esto amplió el horizonte de la computación del 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 puede clasificarse 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 del ADN estructural [16] [17] [18] que a partir de 2020 es extremadamente sofisticado. En 2018 se demostró una estructura autoensamblada 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 de ADN. Si bien la demostración de Adleman mostró la posibilidad de computadoras basadas en ADN, el diseño de ADN fue trivial porque a medida que crece el número de nodos en un gráfico, 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 bioquímicos comenzaron a explorar el ensamblaje de mosaicos, cuyo objetivo era utilizar un pequeño conjunto de hebras de ADN como mosaicos para realizar cálculos arbitrarios sobre el crecimiento. Otras vías que se exploraron teóricamente a finales de los años 90 incluyen la seguridad y la criptografía basadas en el ADN, [19] la capacidad computacional de los sistemas de ADN, [20] las memorias y discos de ADN, [21] y la robótica basada en el ADN. [22]
Antes de 2002, Lila Kari demostró que las operaciones de ADN realizadas por recombinación genética en algunos organismos son completas de Turing. [23]
En 2003, el grupo de John Reif demostró por primera vez la idea de un andador basado en ADN que recorría una pista similar a 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 ha demostrado una amplia variedad de caminantes basados en ADN.
En 1994, Leonard Adleman presentó el primer prototipo de computadora de ADN. El TT-100 era un tubo de ensayo lleno con 100 microlitros de una solución de ADN. Logró resolver un caso del problema de la ruta hamiltoniana dirigida . [24] En el experimento de Adleman, el problema de la trayectoria hamiltoniana se implementó notacionalmente como el " problema del viajante ". Para ello se crearon diferentes fragmentos de ADN, representando cada uno de ellos una ciudad que había que visitar. Cada uno de estos fragmentos es capaz de vincularse con los demás fragmentos creados. Estos fragmentos de ADN fueron producidos y mezclados en un tubo de ensayo . En cuestión de segundos, los pequeños fragmentos se convierten en otros más grandes, que representan las diferentes rutas de viaje. Mediante una reacción química se eliminaron los fragmentos de ADN que representan 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 lo tanto, el experimento no es adecuado para la aplicación, pero sigue siendo una prueba de concepto .
Los primeros resultados de estos problemas los obtuvo 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 las nueve casillas del juego. Cada contenedor contiene un sustrato y varias combinaciones de enzimas de ADN. El sustrato en sí está compuesto por una cadena de ADN en la que se injertó un grupo químico fluorescente en un extremo y, en el otro extremo, un grupo represor. La fluorescencia sólo es activa si las moléculas del sustrato se cortan por la mitad. Las enzimas del ADN simulan funciones lógicas . Por ejemplo, dicho ADN se desarrollará si se introducen dos tipos específicos de cadenas de ADN para reproducir la función lógica Y.
Por defecto, se considera que el ordenador ha jugado primero en la casilla central. El jugador humano comienza 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 todos los contenedores los hilos correspondientes a la entrada #i. Estas hebras se unen a determinadas enzimas del ADN presentes en los contenedores, lo que provoca, en uno de estos contenedores, la deformación de las enzimas del ADN que se unen al sustrato y lo cortan. El contenedor correspondiente se vuelve fluorescente, lo que indica qué casilla está reproduciendo la computadora de ADN. Las enzimas del ADN se dividen entre los contenedores de tal manera que lo mejor que puede lograr el jugador humano es un empate, como en el tres en raya real.
Kevin Cherry y Lulu Qian de Caltech desarrollaron una red neuronal artificial basada en ADN que puede reconocer dígitos escritos a mano de 100 bits. Lo logran programando en computadora de antemano con un conjunto apropiado de pesos representados por moléculas de peso de diferentes concentraciones 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 del ADN es su velocidad. Si bien el ADN como sustrato es biológicamente compatible, es decir, puede utilizarse en lugares donde la tecnología del 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 nuevas formas con fuentes de enzimas externas están reportando circuitos más rápidos y compactos, [30] Chatterjee et al. demostró una idea interesante en el campo para acelerar la computación 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 propuesta en el campo de la arquitectura de computadoras, también se ha adoptado en este campo. En arquitectura informática, es bien sabido que si las instrucciones se ejecutan en secuencia, tenerlas cargadas en la memoria 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 es necesario intercambiarlas dentro y fuera de la memoria principal, lo que puede ser lento. De manera similar, en la computación de ADN localizado, las hebras de ADN responsables de la computación se fijan en un sustrato similar a una placa que garantiza la proximidad física de las puertas de computación. Se ha demostrado que estas técnicas de computación de ADN localizado reducen potencialmente el tiempo de cálculo en órdenes de magnitud.
Investigaciones posteriores sobre la computación con ADN han producido computación con 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 de la Universidad de Duke propusieron dos técnicas diferentes para reutilizar los complejos informáticos de ADN. El primer diseño utiliza puertas de ADNds, [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 del ADN. Algunos otros grupos también han intentado abordar el problema de la reutilización de las puertas. [35] [36]
Utilizando reacciones de desplazamiento de cadena (SRD), se presentan propuestas reversibles en el artículo "Synthesis Strategy of Reversible Circuits on DNA Computers" [37] para implementar puertas y circuitos reversibles en computadoras de ADN mediante la combinación de computación de ADN y técnicas de computación reversible. Este artículo también propone una biblioteca de puertas reversibles universales (URGL) para sintetizar circuitos reversibles de n bits en computadoras de ADN con una longitud promedio y un costo 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 ( Y , O , NO ) asociadas con la lógica digital a partir del ADN. Algunas de las diferentes bases incluyen ADNzimas, desoxioligonucleótidos , enzimas e intercambio de dedos.
La operación más fundamental en la computación del ADN y la programación molecular es el mecanismo de desplazamiento de la cadena. Actualmente, existen dos formas de realizar el desplazamiento de hebras:
Además de los esquemas simples de desplazamiento de hebras, 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 adhesivo , o punto de apoyo, de 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 pueden conectarse a computadoras arbitrariamente grandes. 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 la arquitectura de una computadora tradicional. En el nivel más alto, un lenguaje de programación de propósito general similar a C se expresa mediante 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 realizar reacciones químicas arbitrarias. Esto abrió el camino al diseño y síntesis de controladores bioquímicos ya que el poder expresivo de los CRN es equivalente a una máquina de Turing. [7] [8] [9] [10] Dichos controladores pueden usarse potencialmente in vivo para aplicaciones como la prevención del desequilibrio hormonal.
El ADN catalítico ( desoxirribozima o ADNzima) cataliza una reacción cuando interactúa con la entrada adecuada, como un oligonucleótido coincidente . Estas ADNzimas se utilizan para construir puertas lógicas análogas a la lógica digital en el silicio; sin embargo, las ADNzimas están limitadas a puertas de 1, 2 y 3 entradas sin ninguna 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 correspondiente 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 de tanque agitado continuo, 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 escindir 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 que funcione un cofactor metálico, 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 consta de 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 trozo de ADN se une a la parte del bucle. Este efecto se ha aprovechado 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 demostraron una computadora de ADN que utiliza la enzima FokI [47] y ampliaron su trabajo mostrando autómatas que diagnostican el cáncer de próstata y reaccionan ante él : subexpresión de los genes PPAP2B y GSTP1 y sobreexpresión de PIM1. y HPN . [48] Sus autómatas evaluaron la expresión de cada gen, un gen a la vez, y con un diagnóstico positivo luego liberaron una molécula de ADN monocatenario (ADNss) que es antisentido para MDM2 . MDM2 es un represor de la proteína 53 , que a su vez es un supresor de tumores. [49] Ante un diagnóstico negativo, se decidió liberar un supresor del fármaco del 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 la presencia de moléculas de transición y de 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 cabe señalar que en este caso las moléculas de 'software' pueden reutilizarse.
La nanotecnología del ADN se ha aplicado al campo relacionado de la computación del ADN. Los mosaicos de ADN se pueden diseñar para que contengan múltiples extremos adhesivos con secuencias elegidas para que actúen como mosaicos 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 junta de Sierpinski . Esto muestra que la computación se puede incorporar al ensamblaje de matrices de ADN, aumentando su alcance más allá de las simples matrices periódicas. [51]
La computación del ADN es una forma de computación paralela en el sentido de que aprovecha las diferentes moléculas de ADN para probar muchas posibilidades diferentes a la vez. [52] Para ciertos problemas especializados, las computadoras de ADN son más rápidas y más pequeñas que cualquier otra computadora construida hasta ahora. Además, se ha demostrado que determinados cálculos matemáticos funcionan en una computadora de ADN.
La computación del ADN no proporciona ninguna capacidad nueva desde el punto de vista de la teoría de la computabilidad , cuyo estudio se puede 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 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 necesaria 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 ácido nucleico. 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 una computadora 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 múltiples cálculos paralelos. Esto permite que el sistema tarde la misma cantidad de tiempo en un cálculo complejo que en uno sencillo. Esto se logra porque 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 dadas por una computadora de ADN que por una digital.
{{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace ){{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace ){{cite book}}
: Mantenimiento CS1: varios nombres: lista de autores ( enlace )— El libro comienza con una introducción a cuestiones relacionadas con el ADN, los conceptos básicos de la 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.