El genoma como informática

home Claudio Gutiérrez up

El genoma como lenguaje de programación

Es casi un lugar común que el lenguaje genético constituye un lenguaje de programación. Sin embargo, habiéndome dedicado durante más de veinte años a la informática, en particular la inteligencia artificial, debo decir que siempre me sorprendió la paradoja de la fragilidad de los programas de computación frente a la gran robustez de la vida, conspicua por su capacidad de adaptación a la diversidad de circunstancias. Esta paradoja, en mi opinión, ha quedado resuelta gracias a la obra de Thomas Ray en los años noventa del siglo pasado, que pude observar muy de cerca por habernos tocado trabajar como colegas en la Universidad de Delaware durante ese período. Para no repetir la historia que he escrito en otra parte(a), diré solamente aquí que este investigador comprendió que la mejor forma de probar o refutar esa tesis sería construir un programa informático que tuviera la capacidad de evolucionar como los seres vivos. El problema, que nos tocó a los especialistas en computación subrayarle con crudeza, de la fragilidad de los programas informáticos, consiste en que un cambio de una sola letra en ellos (comparable a una mutación en un genoma) basta para hacer que el programa naufrague en forma deshonrosa. Con gran visión, Tom no quiso aceptar este hecho como refutación del carácter informático de la vida, sino más bien se preguntó, con espíritu analítico, en donde radicaría la diferencia entre los actuales programas informáticos y los programas genéticos, que pudiera explicar la fragilidad de los primeros y la robustez de los segundos. Llegó a las siguientes conclusiones:

1.      El sistema de direccionamiento de una computadora está basado en las coordenadas cartesianas, de modo que, por ejemplo, para buscar un número que deba multiplicar por otro tendrá que buscarlo en la superficie de su memoria, igual que un taxi busca una esquina de la ciudad por calle y avenida. En cambio, el direccionamiento que emplea la vida es completamente diferente, basado como está en la complementariedad de formas tridimensionales entre moléculas. Es más bien comparable con el que utiliza un detective que ha encontrado una llave en el lugar del crimen y debe probarla en multitud de puertas para poder hallar la habitación a que corresponde.

2.      Comparadas con las "instrucciones" del lenguaje genético dirigidas al ARN de transferencia (del tipo "tráigame tal y tal aminoácido") que son solamente 20 –correspondientes a los 20 aminoácidos– existe un inmenso número de distintas instrucciones para la máquina electrónica. Esto puede sorprender al programador que haya trabajado con lenguaje de máquina, porque pensará que es un número más bien limitado (del tipo "multiplique X por Y y ponga el resultado en Z", "sume X con Y y ponga el resultado en Z", etc.). Pero si se toma en cuenta que la identificación de cada operando requiere dos número ("calle" y "avenida") y las combinaciones de esos números son una enorme cantidad pues dependen del tamaño de la memoria(1), el número de instrucciones para una computadora determinada resulta descomunalmente grande(2).

La historia de este análisis del problema por parte de Ray es muy ilustrativa de cómo un buen análisis puede sin más producir directamente una solución. Reconocidas las dos diferencias, Tom no tuvo mayor dificultad en inventar un lenguaje de programación diferente, con direccionamiento por complementariedad de patrones informáticos y muy pocas instrucciones (32). El nuevo lenguaje le permitió crear un sistema informático en que los programas evolucionaran igual que los seres vivos, al que bautizó con el expresivo nombre de "Tierra" (RAY 92).

El intérprete del lenguaje de la vida

Todo lenguaje de programación es en sí mismo tan inerte como el plano de construcción que un ingeniero tenga extendido sobre su mesa de trabajo. Para transformarlo en acción creadora es necesario un lector y un ejecutor, que en el caso del plano de construcción son respectivamente el ingeniero mismo y el aparato productivo de la empresa constructora. En el caso del programa informático es el lector-ejecutor que constituye el núcleo de la computadora que lo deberá procesar, corrientemente llamado “unidad central de proceso”. No está de más recordar que esa UCP no es un pequeño ser humano escondido en la computadora, como el enano de la “máquina de ajedrez” que deleitó en el siglo XIX a los pueblos de Europa recorriendo sus ferias. Es solamente un mecanismo capaz de transformar los símbolos del programa, encarnados en impulsos eléctricos, en otros impulsos eléctricos que realizan los efectos previstos al redactar el documento. En el caso del programa genético, los investigadores de biología molecular han debido identificar un aparato con parecida función, igualmente mecánico, pero constituido por las microscópicas piezas químicas de la maquinaria de la vida. Sin pretender ni lejanamente agotar aquí el tema, ofrecemos a continuación al lector algunos atisbos de cómo está organizado y funciona ese interesante aparato.

Ante todo, debemos hacer notar que en la célula no hay una diferencia marcada entre “programa” y “máquina” ejecutora del mismo. La situación es más bien parecida a la de las primeras computadoras construidas en los años cincuenta, cuando todavía no se había producido una diferenciación tajante entre estos dos conceptos. Aún recuerdo en los años sesenta haber visto en el departamento de contabilidad de mi Universidad unos aparatos de cómputo a los cuales se les cambiaban pedazos de sus entrañas, llenos de alambres, cuando se quería cambiar el tipo de operación que el equipo debía realizar. El “intérprete” de la vida, encargado de “leer” el mensaje genético, está compuesto por partes de ese mismo mensaje y proteínas con función enzimática previamente producidas por la interpretación de otras secuencias de ADN. Si un lector agudo distingue aquí un círculo vicioso, no está equivocado: el círculo se rompe porque todavía permanecen en nuestro mundo rescoldos del mundo del ARN(b), existiendo enzimas de ARN que “ceban” el sistema (como se ceba una bomba de agua echándole a mano un poco para que comience a funcionar)(3).

Lo que hemos venido concibiendo como la interpretación del programa genético se conoce más corrientemente en biología con el término de regulación genética. Se refiere al conjunto de mecanismos que aseguran la expresión de los genes, tanto desde el punto de vista del tiempo como –en el caso de los organismos multicelulares– del espacio (recuérdese que todas las células de un organismo multicelular tienen los mismos genes, pero unos se expresan en unos lugares del cuerpo y otros en otros). Las proteínas son sintetizadas diferencialmente. Así, durante la división celular las polimerasas ADN, necesarias para la duplicación del ADN, deben ser producidas en mayor cantidad que cuando la célula está en estado de latencia. Incluso los seres unicelulares reaccionan diferentemente frente a circunstancias particulares, produciendo las proteínas que más necesitan en cada momento y lugar. Por ejemplo, la Escherichia coli, se alimenta de glucosa. Pero si a causa de ingestión de leche por el organismo anfitrión se le ofrece lactosa, la bacteria se adapta mediante regulación genética produciendo las enzimas necesarias para asimilarla. Cerca de cada gen existe una secuencia de ADN llamada “promotor” necesaria para que se inicie la transcripción, situada casi siempre de 10 a 30 nucleótidos antes de los genes que se han de transcribir. En ese sitio se pega la polimerasa responsable de la producción del ARN mensajero y provoca la transcripción. Es una secuencia de ADN rica en adenina y timina, lo que favorece el posicionamiento de la polimerasa. Entre el promotor y el gen hay a menudo otra secuencia de ADN llamada “operador”, sitio donde una proteína, llamada “represor”, puede pegarse. Cuando el represor, que es producido por un gen conocido como “regulador”, se pega al operador, impide a la polimerasa continuar avanzando sobre el cromosoma. La producción de ARN mensajero se detiene y el gen respectivo deja de expresarse. Sin embargo, una cierta molécula pequeña puede instalarse a su vez en el represor obligándole a desprenderse del ADN, lo que permite al gen continuar expresándose. De esta suerte, por ejemplo, la transcripción puede ser afectada por elementos nutritivos presentes o ausentes en el medio ambiente de una bacteria.

Los primeros detalles de este mecanismo de interpretación del programa genético fueron comprendidos ya en 1961 por los ganadores del Premio Nobel Jacob y Monod, del Instituto Pasteur de París, para los organismos microscópicos. Fueron descritos como un complejo modelo de regulación genética que ellos llamaron “operón”. Este modelo contribuye a explicar no solo la forma en que el programa genético se interpreta para convertirlo en acción química, sino también el porqué en ciertos casos el sistema funciona mal y produce uno de los flagelos más terribles y desconcertantes de la humanidad, el cáncer. En efecto el modelo operón explica cómo las células logran controlar las actividades de sus genes mediante su activación y desactivación en momentos adecuados. Esto lo hacen, desde luego, por la intervención de enzimas producidas por otros genes. Los sabios franceses fueron los primeros en introducir, con base en estos descubrimientos, la distinción fundamental entre “genes estructurales” y “genes reguladores”. El cáncer aparece, dentro de este paradigma, como una enfermedad de los genes reguladores que, por circunstancias especiales (como mutaciones, acción de virus o agentes cancerígenos), son llevados a fallar en el ejercicio de sus funciones. Los operones no existen en los organismos complejos: cada gen tiene sus propios promotores y operadores, con una organización más flexible.

Notas

Nota 1: Tómese en cuenta que la computadora no sabe geometría analítica y no puede usar coordenadas ("calles" y "avenidas") como las usa un ser humano. De hecho, este tipo de direccionamiento, implícito en la construcción física de la memoria, significó al principio enormes y estorbosos entrecruces de alambres en el corazón de la máquina que solo comenzaron a hacerse manejables con el advenimiento de la miniaturización de componentes y de los circuitos impresos.

Nota 2: Por ejemplo, para el caso de la hoy ya antigua máquina RISC de la IBM –novísima en el año 1990– el número resulta ser astronómicamente grande: 4 294 967 296.

Nota 3: Esta situación me recuerda mi estupor cuando comencé a familiarizarme con las computadoras en los años sesenta, porque entendía que la computadora “leyera” las instrucciones del programa y las transformara en acciones, pero no podía entender cómo y cuándo procedía a leer la primera instrucción. Me explicaron lo obvio: esa primera instrucción no era parte del programa “de papel” sino que estaba “alambrada” dentro de las entrañas de la máquina.

Referencias


Nota a: La informática comparada con otras disciplinas en mi Epistemología e Informática.

Nota b: Primeros pasos: mundo del ARN en La larga marcha: los orígenes de la segunda colección, boque a.

Copyright © 2000 Claudio Gutiérrez