Cybersecurity News

Publicada la presentación sobre #Biohacking "Almacenando datos en bacterias" mostrada en @RootedCon 2018

Buenos a todos, el pasado viernes 2 de marzo a las 10:00h, la Dra. Patricia Rada y un servidor, el Dr. Juan Antonio Calles (CEO de Zerolynx), presentamos en el congreso internacional de ciberseguridad de la información, RootedCON 2018, una investigación conjunta acerca del almacenamiento de información en ADN en organismos vivos, concretamente en bacterias. A lo largo de los últimos días hemos recibido tanto en Zerolynx, como a nivel personal, un gran número de peticiones de personas que no pudieron asistir al evento, y tienen un gran interés en la propuesta que hicimos a nivel informático para mejorar el sistema de codificación y empaquetado de datos en ADN de organismos vivos, partiendo de las investigaciones existentes hasta el momento, por lo que hemos decidido publicar este artículo en nuestro blog y compartir con todos vosotros las slides de nuestra presentación, las cuales encontraréis al final del post.

Antecedentes

En el verano del año 2017 se publicó un gran trabajo en una de las revistas científicas más importantes del mundo dentro del campo de la Biomedicina, la revista Nature, que hablaba sobre un grupo de investigación que había sido capaz de codificar varias imágenes y un gif en el ADN bacteriano mediante la técnica CRISPR, descubierta por primera vez por el español Francis Mójica.




Fuente: Shipman, S. L. et al. 2017

Los loci CRISPR son familias de secuencias de ADN viral insertadas en el cromosoma bacteriano. Estas secuencias contienen fragmentos de ADN del virus invasor, denominado protospacer, que han infectado por primera vez a las bacterias. Estos fragmentos son utilizados por la bacteria para detectar y destruir el ADN de nuevos ataques de virus similares, y así poder defenderse eficazmente de ellos. Estas secuencias juegan un papel clave en los sistemas de defensa bacterianos, y forman la base de una tecnología conocida como CRISPR/Cas9.

En términos técnicos, el sistema CRISPR/Cas9 es un sistema inmune procariótico que confiere resistencia a agentes externos como plásmidos y fagos,​ y provee una forma de inmunidad adquirida. Los protospacers o secuencias de los CRISPR reconocen secuencias específicas y guían a las nucleasas cas (“tijeras moleculares”) para cortar y degradar esos elementos génicos exógenos.

Cuando estuvimos analizando este trabajo, vimos que desde el punto de vista bioquímico era un paso de gigante que iba a ser la base de muchos avances futuros, pero nos dimos cuenta que desde el punto de vista informático podría ser mejorado a nivel de compactación y de automatización.

En el trabajo que hemos presentado en RootedCon 2018, hemos mostrado dos versiones del software Bacter10, una aplicación que hemos desarrollado para generar automáticamente los protospacers utilizados para integrar en el ADN bacteriano cualquier tipo de dato, y en cualquier codificación, partiendo de un archivo como pueda ser una imagen, un video, una canción o un fichero de texto plano, por ejemplo. 

La primera versión de Bacter10 utilizaba un diccionario común para codificar todos los protospacers. Para el análisis estadístico, realizamos un estudio procesando más de 10.000 archivos con diferentes posibles secuencias de ADN para probar su eficacia y eficiencia. Tras este estudio, cuyos resultados pueden observarse en las gráficas siguientes y en el que hemos recuadrado en rosa los mejores casos, nos dimos cuenta de que, a día de hoy con la tecnología actual, no es viable, porque la desviación media de Citosinas y de Guaninas difiere demasiado del 50% en algunos protospacers. Este número es al que deben aproximarse para que los datos codificados sean integrados en el cromosoma bacteriano con éxito.


Resumen estadístico tras codificar 10.000 archivos en bases de ADN

Tras llegar a un camino sin salida con el primer algoritmo, diseñamos una segunda versión que utilizaba diccionarios diferentes para cada protospacer, y lo fuimos puliendo hasta encontrar el algoritmo más óptimo de codificación que solventase ciertas restricciones que tenía la codificación en bacterias, como eran por ejemplo el tener que contar con un número limitado de bases iguales repetidas (3 o más), el tener que contar con un número equilibrado de Citosinas y de Guaninas, frente a Timinas y Adeninas, o la mera limitación de espacio de 35 bases por protospacer.


Ejemplo de ejecución del software Bacter10 v2.0 sobre un archivo de 100 bytes

Aunque el límite de almacenamiento de datos en bacterias con estas técnicas es aún teórico, debido a las restricciones técnicas del sistema, la ciencia y la tecnología avanzan muy rápido, y no es descabellado pensar que podremos almacenar hasta 455 exabytes por gramo de ADN. 

De acuerdo con la IDC (International Data Corporation), se estima que el volumen de datos mundial de Internet alcanzará los 40 Zetta Bytes, ZB (40.000.000.000 Tera Bytes) en 2020. Por tanto, en base a los cálculos teóricos, estos 40 ZB podrían almacenarse en ~90 gramos de ADN, es decir, en menos de lo que ocupa la lata de un refresco.

Sólo para hacer una estimación, el ADN de una sola célula humana que contiene 3.3 x 109≈3.3 mil millones de bases, pesa 3.6 picogramos. Es decir, cada humano tenemos alrededor de 200 gramos de ADN en nuestro interior. 

¿Futuro o presente? Pronto lo sabremos.


Si queréis contar con más detalle sobre el trabajo, o hacernos alguna propuesta de colaboración, podéis enviarnos un email a [email protected]




Fotografías del evento RootedCON 2018