












































































































Desde fines de los 80, inspirado por clásicos como el juego Life de John Conway, y las ideas de David Griffeath, Michael Palmiter y, fundamentalmente, Richard Dawkins, experimenté con programas que, de un modo u otro, utilizan principios de genética para producir imágenes o palabras, o definir el comportamiento de seres virtuales.
Leer GENOMA, de Matt Ridley, avivó el interés que siempre tuve por la genética.
Mis dos proyectos de Net.Art anteriores se valieron, en cierto grado, de muchas de las ideas con las que había experimentado antes, aunque las imágenes que generen nada tengan que ver con biología o vida artificial. El motor detrás de esas 'máquinas de hacer cuadros', en cambio, especialmente en Sherezada Lovelace Project, viene de aquellos experimentos con genética digital de hace casi quince años. Ya era hora, entonces, de hacer más evidente lo que subyace en los otros trabajos.
Bacteria 1.0 presenta un espacio de experimentación en el que el usuario selecciona un grupo de bacterias para realizar un cultivo. Del código genético de las bacterias elegidas dependerá cómo interactúen, combatiendo y apareándose para producir una nueva generación de bacterias, las que a su vez podrán utilizarse como la base para nuevos cultivos. El ADN de las bacterias no determinará solamente el aspecto exterior de las mismas, sino también el comportamiento que tendrán al encontrarse con las demás bacterias del cultivo. En caso de apareamineto, la información genética de los padres influirá en el número de descendientes, y será la base para determinar el ADN de los mismos.

Pueden encontrar más información sobre las ideas que inspiraron BACTERIA en estas direcciones:
La página no oficial autorizada de Richard Dawkins
Incluye información sobre los libros de Dawkins, programas y links a diversos sitios relacionados con los trabajos de RD sobre la evolución, así como a otros sitios sobre evolución, vida artificial, memética.
genetic-programming.org
Un excelente centro de información sobre programación genética, un método automático de crear programas basado en los principios de la selección natural y otras operaciones inspiradas en genética.
Life de John Conway
El artículo de Martin Gardner para Scientific American que popularizó Life. En él se explican el origen y las reglas de Life, el juego matemático inventado por John Horton Conway a comienzos de 1970. Suele afirmarse que, desde entonces, se ha dedicado más tiempo de computación a Life que a cualquier otra tarea en particular.
Un artículo más en profundidad, que incluye numerosos ejemplos y una interfaz en línea para 'jugar' Life puede encontrarse en
math.com
La página de David Griffeath
Pese al énfasis que se hace en torno a la cocina, el tema principal del sitio son los Autómatas Celulares producidos por Griffeath, creador de CSPAC4, uno de los AC más conocidos.
Simulated Evolution de Michael Palmiter
Un breve artículo del propio Palmiter sobre Simulated Evolution, simulador de un ambiente evolutivo con depredadores y presas. Desgraciadamente el software no es gratuito, pero puede encontrarse uno similar, desarrollado en Java por
Matthew Caryl sobre la idea original de Palmiter, que se ejecuta en línea.
GENOMA de Matt Ridley (reseña)
El libro de Ridley constituye una lectura imprescindible para cualquiera interesado en comprender los alcances del descubrimiento más importante de la humanidad: el genoma humano. Una lectura informativa y atrapante, y aunque no está directamente relacionado con este proyecto de Net.Art, leerlo fue una de las razones de que me decidiera a 'sacar del cajón' esta idea y llevarla a la realidad.
El futuro de Bacteria
Desarrollar Bacteria 1.0 fue un proceso complejo. A medida que el proyecto tomaba forma en la pantalla, algunas de las ideas originales fueron cambiando para mejorar la interfaz, para facilitar el funcionamiento del sitio, para incluir opciones que en un comienzo había pasado por alto.
La meta de completar la versión 1.0 a tiempo para Interfaces 2, en mayo de 2002, me obligó a poner en orden lo que hasta unos meses antes eran ideas más o menos relacionadas aunque poco desarrolladas, y que probablemente hubiesen seguido siendo poco más que eso por bastante tiempo, de no contar con una fecha concreta para presentar una versión funcionando del proyecto.
Por otro lado, la inminencia del evento me obligó a descartar momentáneamente algunas de esas ideas, que quedan pendientes para futuras versiones de Bacteria. A ellas se unen otras ideas que surgieron sobre la marcha, y que pienso ir agregando en el futuro.
A continuación se listan algunos de los items que quedan en la bandeja de 'tareas pendientes'.
Genoma -
El genoma que define las bacterias está formado por 18 pares de genes, cada uno definido mediante 12 'bases' (letras), y tiene la capacidad de definir mucho más que la forma y el color de las bacterias, que es la única función que cumple en la versión 1.0. En el futuro, el resto de los genes cumplirá con las funciones que originalmente les estaban destinadas, o tal vez con otras más interesantes (y realistas).
No quiero entrar en demasiado detalle sobre cuáles son estas funciones o cómo se implementarían, pero sí vale la pena mencionar algunas de las cosas que podrían afectar: la reacción de cada bacteria participante en un encuentro, que tanto podría derivar en un apareamiento como en un enfrentamiento a muerte, el indice de fertilidad, la necesidad de alimento, la longevidad, etc.
Un gen en la naturaleza puede estar definido por miles de bases, y el proceso mediante el cual un gen determina una característica es mucho más complejo que el que se utiliza en esta simulación, pero es factible que futuras versiones de Bacteria se aproximen más (aunque sea sólo un pequeño paso) a la forma en que los genes funcionan en los seres vivos, por lo que es probable que deje de existir una relación directa entre un cierto gen y una característica específica, para dar lugar a un mecanismo en el que una única característica (física o de comportamiento) sea influenciada por más de un gen, y un único gen pueda, a la vez, afectar varias facetas del aspecto exterior y del funcionamiento interno de las bacterias.
Registro de generaciones -
La idea es que el programa lleve un registro de cada uno de los individuos que cobre vida, conservando al menos información sobre su aspecto externo y probablemente el aspecto de los progenitores.
De esa manera , luego de dejar actuar el cultivo durante una serie de generaciones, se podría estudiar el árbol genealógico de las bactarias, ver las ramas que se extinguieron y las que prosperaron, conocer el aspecto de los ancestros de una bacteria en particular, etc.
Aumentar el área de reserva -
Se podría contar con mucho más que los seis depósitos actuales para las muestras. Probablemente la mejor opción sea sustituir el área de reserva actual por una ventana específica para esta función, con un número mayor de depósitos y tal vez el agregado de una colección inicial de bacterias bastante amplia o inclusive herramientas para generar artificialmente bacterias con las características que se quiera.
Condiciones de cultivo variables -
Conjuntamente con una mayor complejidad en el genoma y las características de comportamiento de las bacterias, se podrían agregar factores que modifiquen las condiciones en las que se lleva a cabo el cultivo, tales como la cantidad y tipo de alimento que tengan disponible las bacterias o condiciones ambientales como humedad, temperatura o exposición a la luz.
Ampliar el área de análisis -
La zona de análisis de bacterias podría mejorarse mucho con la inclusión de herramientas más potentes y cómodas para la modificación del genoma que la ventana actual donde es necesario editar a ciegas (no se conoce el resultado que tendrán las modificaciones que se realizan).
Como en el caso de la reserva, probablemente la ampliación de este sector implique trasladarlo a una ventana aparte, donde se pueda contar con más espacio para las nuevas herramientas.
Entre las herramientas que se podrían agregar, las primeras que se me ocurren son: identificación de genes por función, para facilitar la modificación de características concretas; biblioteca de genes, con trozos de ADN clasificados por el efecto que producen; herramientas para provocar mutaciones, que permitan modificar los genes mediante 'errores de copiado' del genoma (omisión de una o más bases consecutivas, inversión de segmentos, inserción de segmentos, repetición de segmentos, etc.).
Indudablemente hay muchas otras mejoras que se podrían hacer en próximas versiones de Bacteria. Cualquier sugerencia al respecto será bienvenida.
Pueden escribirme un e-mail o usar el formulario de mi página para hacerme llegar comentarios, preguntas y sugerencias. Serán tenidos en cuenta.

Bacteria simula un laboratorio de experimentación genética en el que se llevan a cabo experimentos de cultivo de bacterias.
La interfaz se divide en tres áreas:
RESERVA
Contiene seis depósitos de reserva de muestras, donde almacenar individuos para ser usados en los cultivos.
Junto a cada depósito hay un botón de encendido/apagado que permite agregar el ejemplar correspondiente al cultivo, o quitarlo una vez agregado.
El icono del ojo envía la bacteria al área de análisis.
El icono con el tarro de basura elimina la muestra y la sustituye por otro individuo generado al azar.
La opción LIMPIAR, debajo de los depósitos de reserva, elimina el contenido de los seis depósitos simultaneamente, sustituyéndolos por seis nuevas bacterias.
ANALISIS
El área de análisis permite consultar el código genético de las bacterias en la reserva o en el cultivo (haciendo clic directamente sobre las bacterias).
También es posible alterar el código genético de la bacteria, ver los resultados de dichos cambios (haciendo clic sobre el botón VER en la esquina inferior derecha), y enviar la bacteria del área de análisis a cualquiera de los seis depósitos de reserva (eliminando automáticamente la bacteria que ocupaba dicho depósito).
El genoma se divide en dos cadenas de 216 caracteres: una con los genes heredados de la madre, y otra con los del padre. Al igual que el ADN real, el ADN en BACTERIA está formado por cadenas de Adenina (A), Citosina (C), Guanina (G) y Timina (T). Así, las modificaciones deberán utilizar exclusivamente las letras A, C, G y T.
El valor más alto de cada par materno/paterno determinará la forma y color de la bacteria, lo que hace posible que una bacteria formada con genes recesivos heredados de sus progenitores sea diferente a ellos.