Generando números aleatorios usando ADN





Accidentes Para algunos, todo lo que sucede a su alrededor es un puro accidente. Y alguien afirma que no hay accidentes. Puedes filosofar y discutir sobre este tema durante muchas horas, pero aún habrá muchas conclusiones. Pasando de pensamientos metafísicos a pensamientos más reales, podemos ver que los números aleatorios han encontrado su aplicación en muchos aspectos de nuestra vida: desde máquinas tragamonedas hasta sistemas de codificación de información. El proceso durante el cual se genera una secuencia de números / símbolos aleatorios que no se puede predecir se llama generación de números aleatorios (RNG). A lo largo de la larga historia de la humanidad, se han creado muchos métodos de RNG. Algunos son bastante simples y directos: dados, monedas (cara / cruz), una baraja de cartas, etc.



Otros utilizan procesos físicos mucho más complejos: por ejemplo, debido a los movimientos de alta frecuencia de los electrones, la resistencia eléctrica del cable no es constante, es decir, varía al azar. Midiendo este ruido de fondo, se puede obtener una secuencia de números aleatorios. Pero las técnicas de RNG no se limitan solo a la física. Un grupo de científicos de la Escuela Técnica Superior Suiza de Zurich (o ETHZ para abreviar) ha creado un nuevo método para generar números aleatorios basados ​​en la síntesis de ADN. ¿Cómo se logró exactamente esto, cuán aleatorios se obtienen los números y se pueden predecir? Las respuestas a estas preguntas nos esperan en el informe de los científicos. Vamos.



Base de investigación



¿Cuál es una de las principales limitaciones de los dados como generador de números aleatorios? El hecho de que estos números no serán tanto (36 combinaciones de dados, si se exageran, es decir, sin probabilidades y otras cosas). Cuanta menos variación tengamos, más fácil será predecir el posible resultado. En consecuencia, para una codificación basada en RNG más compleja y, en consecuencia, segura, es necesario que los números generados sean mayores y ellos mismos más complejos. Esta es una explicación muy simplificada, sin embargo, transmite la esencia del asunto.





Variantes de combinaciones de dos dados.



Por lo tanto, el uso de esos procesos físicos que no se pueden predecir con precisión se ha convertido en la base de muchos métodos modernos de RNG. Sin embargo, vale la pena recordar que hay dos direcciones principales de RNG: la generación de números aleatorios (verdaderamente aleatorios) y pseudoaleatorios. En el primer caso, se utiliza una fuente no determinista (caótica) para generar números aleatorios. El segundo crea una secuencia determinista de números que depende de la entrada (semilla). Si se conoce la semilla de entrada, se puede reproducir la secuencia completa de números aleatorios. A primera vista, el pseudo-RNG parece ser menos eficiente, pero este método tiene mejores propiedades estadísticas y, a menudo, puede generar números aleatorios mucho más rápido que el RNG.



Es bastante obvio que no solo los procesos físicos o los algoritmos de software, sino también las reacciones químicas son adecuados para generar números verdaderamente aleatorios. Por un lado, las reacciones químicas son procesos estadísticos en los que la formación de productos químicos sigue una determinada distribución de probabilidad en función de la energía de activación de la reacción. Pero, por otro lado, la capacidad de identificar moléculas individuales después de la síntesis es prácticamente nula, a pesar de la capacidad de predecir estadísticamente el resultado de la reacción.



Ya se han realizado investigaciones sobre el uso de la química para generar números aleatorios. Por ejemplo, en este trabajoSe describe un dispositivo que proporciona una impresionante reserva de entropía de macroestados detectables de cristales en crecimiento en el curso de reacciones químicas. El problema es que la incapacidad para identificar moléculas individuales conduce a la pérdida de aleatoriedad al analizar procesos químicos estocásticos. En otras palabras, parece que las reacciones químicas no son adecuadas para los RNG. Sin embargo, como declaran los autores del trabajo que estamos considerando hoy, la situación con la síntesis de ADN es completamente diferente.



La producción de ADN sintético es un proceso químico estocástico con una ventaja importante: las moléculas individuales en la secuencia de ADN sintetizada pueden identificarse y analizarse fácilmente utilizando tecnologías de secuenciación modernas (NGS de secuenciación de próxima generación). La secuenciación en sí ha existido desde la década de 1970, pero las técnicas actuales le permiten leer moléculas individuales y, por lo tanto, utilizar el ADN como fuente para generar números aleatorios.



Resultados de la investigacion



Vale la pena señalar que en biología, los métodos para identificar los esquemas globales de un componente microbiano requieren la síntesis de nucleótidos aleatorios en ciertas posiciones del cebador para evaluar regiones hipervariables (por ejemplo, para el gen 16S rRNA) para la clasificación taxonómica. Otros usos de la síntesis aleatoria de nucleótidos se pueden encontrar en la codificación de barras, donde con la ayuda de identificadores únicos moleculares (UMI de identificadores moleculares únicos ) se puede eliminar la amplificación por desplazamiento de PCR * .
Reacción en cadena de la polimerasa (PCR) * : un método que le permite lograr un aumento significativo en pequeñas concentraciones de ciertos fragmentos de ácido nucleico (ADN) en material biológico.
Los científicos señalan que tales nucleótidos aleatorios están marcados con la letra N (de acuerdo con los estándares NC-IUB, es decir, el comité de nomenclatura de la comunidad internacional sobre bioquímica). En consecuencia, los científicos aprovecharon la oportunidad para sintetizar un nucleótido aleatorio para cada posición indicada por la letra N en el diseño del ADN utilizado.





Imagen # 1 Las



hebras de ADN utilizadas en el estudio se diseñaron de tal manera que una región aleatoria de 64 nucleótidos fluye desde una región predeterminada del cebador directo * en un extremo y una región predeterminada del cebador inverso en el otro extremo (Fig.1).
El cebador * es un fragmento de ácido nucleico corto.
La longitud total de la cadena de ADN modificada fue de 105 nucleótidos, incluidas dos regiones de cebadores y una región aleatoria.





Imagen # 2 La



hebra de ADN diseñada se implementó posteriormente físicamente utilizando tecnologías modernas de síntesis de estado sólido (imagen # 2).



La mezcla de los componentes básicos de los nucleótidos del ADN también ha encontrado aplicaciones en el campo del almacenamiento de ADN. Estudios previos han demostrado que expandir el alfabeto * de ADN determinando primero la proporción de mezcla de los cuatro nucleótidos de ADN en posiciones específicas en la secuencia de ADN puede aumentar la densidad de almacenamiento lógica mediante el uso de letras compuestas para la síntesis de ADN.
* — : A ( ), T (), G () C ().
Las secuencias de ADN aleatorias se sintetizaron tres veces: dos por Microsynth y una por Eurofins Genomics . A la primera empresa se le asignó la tarea adicional de mezclar bloques de construcción antes de fusionarse (síntesis 1). La segunda empresa produjo la síntesis sin ninguna intervención adicional en el proceso (síntesis 2).



Como resultado, la síntesis 1 dio 204 µg de ADN seco sintetizado desde la dirección 3 'a 5'. Para determinar la aleatoriedad, se secuenció un conjunto de ADN y posteriormente se filtró digitalmente.



Si observa la composición de las hebras de ADN en función de la posición en una región aleatoria (imagen n. ° 3), puede ver dos tendencias generales:



  • : G , A C;
  • : A C 60 , G 5' 3', T 5' 3'. Microsynth ( ), Eurofins ( ).




Imagen # 3 Las



tendencias observadas brindan una primera indicación de la confiabilidad de los datos y pueden explicarse en parte por los procesos químicos que ocurren durante la síntesis de ADN. La discrepancia entre el porcentaje de nucleótidos G, T y A, C (desigualdad de nucleótidos) puede deberse a varios factores. Según Microsynth, los volúmenes de los bloques de construcción individuales durante la síntesis no se controlan al microlitro más cercano.



En consecuencia, las diferencias de concentración pueden conducir a una distribución menos uniforme de nucleótidos a lo largo de la cadena. Además, la eficacia de la unión difiere para cada bloque de construcción y depende de variables tales como el período de uso de los reactivos para síntesis por parte de los fabricantes o los grupos protectores unidos a cada bloque de construcción. Lo más probable es que el resultado de la diferente eficacia de unión esté asociado con la distribución desigual de los cuatro nucleótidos.



Una disminución de G y un aumento de T de 5 'a 3' (no equivalencia de posiciones) pueden ser el resultado de un procedimiento químico que experimenta la cadena de ADN durante la síntesis. A medida que la síntesis de ADN avanza en la dirección 3 '- 5', los nucleótidos en la posición 60 (imagen n. ° 3) se agregan primero a la cadena de ADN. Dado que los fragmentos de ADN sintetizados permanecen en la cámara de síntesis hasta que se obtiene la longitud deseada de la cadena de ADN, los nucleótidos añadidos a la cadena de ADN al comienzo de la síntesis permanecen en el entorno de síntesis durante más tiempo. Por lo tanto, estos nucleótidos han pasado por la mayoría de los pasos de síntesis y, por lo tanto, por la mayoría de los pasos de oxidación.



Esta característica de desempeño de la síntesis química de ADN puede ser una explicación de la tendencia # 2 (posición no equivalencia), cuando la composición G disminuye a lo largo de la cadena en la dirección 5 '- 3' y la composición T aumenta en la dirección 5 '- 3'.



La oxidación puede conducir a un fenómeno llamado transversión G-T ( 3e ), en el que la base G se altera químicamente de modo que pueda ser reemplazada por una base T durante los pasos de replicación del ADN.



Además de las tendencias descritas anteriormente, las diferencias en las curvas de los gráficos pueden estar asociadas con diferencias en una estrategia de síntesis (con y sin mezclar bloques de construcción).



Hay dos fuentes potenciales principales de sesgo que pueden afectar los resultados: sesgo de cobertura (cuando algunos de los elementos bajo investigación están fuera del ROI) y sesgo debido a errores.



La primera opción se expresa principalmente por un error, que puede asociarse con la disposición espacial en el chip de síntesis y la estocasticidad de la PCR. La segunda opción es el resultado de inserciones, deleciones (reordenamientos cromosómicos, cuando se pierde una porción del cromosoma) o sustituciones de nucleótidos erróneos en las etapas de síntesis, PCR y secuenciación.



En este estudio en particular, el sesgo de cobertura afecta la distribución de nucleótidos solo si existe una discrepancia significativa entre la cobertura de cada secuencia aleatoria. Sin embargo, el análisis de los datos mostró que esta variante del error no puede ser la causa de la no equivalencia observada de nucleótidos y la no equivalencia de posición.



Con respecto al sesgo por errores, es extremadamente difícil distinguir entre errores de síntesis y de secuenciación, ya que los dos procesos no pueden separarse completamente, ya que el acceso a la morfología molecular del ADN solo es posible mediante la secuenciación del ADN. Sin embargo, los estudios han demostrado que con el procesamiento de datos adecuado, se producen errores de secuencia en ubicaciones aleatorias.



Durante la síntesis de ADN, el crecimiento de las hebras se puede interrumpir hasta que se alcanza la longitud deseada y, por tanto, se produce un error en el conjunto. Pero el proceso de secuenciación no mostró un efecto significativo en el resultado ( 3a - 3c ). Por lo tanto, el sesgo debido a errores es causado únicamente por el proceso de síntesis de ADN y no por secuenciación.



Al normalizar la síntesis 1 ( 3a ), se obtuvo un mapa de calor que ilustra el predominio de la unión de dos nucleótidos ( 3d ). También le permite ver el tercer error: el predominio de la unión de nucleótidos.



La unión de una base única a un nucleótido existente depende en parte de la naturaleza del nucleótido existente: es menos probable que G se una a A si está libre para unirse a A, T, C o G; en este caso, G se une más a menudo a G si puede unirse libremente a A, T, C o G.



Desde el punto de vista de la síntesis, esta inexactitud puede corregirse de forma bastante sencilla. Por ejemplo, puede agregar más bloques T en lugar de G (cambiando así la proporción objetivo de nucleótidos A, G, T y C), lo que aumentará el desplazamiento de la transversión.



Sin embargo, debido a la complejidad de este proceso, los científicos decidieron no realizar ediciones "físicas" como parte del estudio, sino utilizar un algoritmo de posprocesamiento computacional para eliminar el sesgo creado durante la síntesis de ADN, aumentando la confiabilidad y reproducibilidad de todo el procedimiento.



En la etapa de procesamiento de datos (es decir, en la etapa de preparación para el RNG), se utilizó el conjunto obtenido de la síntesis 1 (Microsynth). Aunque esta variante muestra el desplazamiento más fuerte resultante de la transversión, las curvas suaves muestran la mezcla y unión más uniforme durante los pasos de síntesis.



La lectura de la aleatoriedad de las cadenas de ADN sintetizadas requiere la lectura de cadenas individuales, que se realizó mediante secuenciación (en este caso, se utilizó el sistema iSeq100). Después de la secuenciación, los datos de salida (archivo digital) se procesaron para seleccionar las secuencias correctas (es decir, sin errores) del grupo.



Los errores que pueden haber ocurrido incluyen errores de eliminación, inserción y sustitución. Pueden hacer que la hebra de ADN sea demasiado corta, demasiado larga o que contenga una base dañada. Para minimizar el impacto de los errores (especialmente los debidos a la deleción) en la aleatoriedad, todas las secuencias se redujeron a 60 nucleótidos. De las hebras obtenidas, solo se seleccionaron aquellas que contenían la longitud correcta de nucleótidos aleatorios.



Después de que se limitó el conjunto de ADN procesado por computadora (solo secuencias de 60 nucleótidos de longitud), los nucleótidos de ADN se mapearon en bits utilizando el siguiente esquema: A → 0, C → 0, T → 1, G → 1. Como resultado, la cadena de ADN digitalizada se ha convertido a binario.



Las cadenas de bits (flujos de bits) obtenidas después de la coincidencia se verificaron posteriormente para determinar su aleatoriedad utilizando el conjunto de pruebas estadísticas NIST. Los científicos afirman que su método para evaluar las posibilidades fue extremadamente difícil: la secuencia se consideró suficientemente aleatoria solo cuando todas las pruebas se aprobaron con éxito por separado (si al menos una prueba fallaba, la secuencia se excluía).



La evaluación de los flujos de bits iniciales utilizando el conjunto de pruebas estadísticas NIST mostró que no todas las pruebas pasaron con éxito. Esto significa que los flujos de bits resultantes no tienen las mismas propiedades estadísticas que una secuencia completamente aleatoria, es decir, todavía contienen algo de redundancia y sesgo. Por lo tanto, se necesitaba un procesamiento de bits adicional para eliminar el desplazamiento que había surgido en la etapa de síntesis de ADN.



Para resolver el problema de cambiar los bits de salida (cuando algunos números son más que otros), los científicos decidieron utilizar el algoritmo de von Neumann. El algoritmo considera los bits en secuencia en pares y luego realiza una de tres acciones: si dos bits consecutivos son iguales, se eliminan (se ignoran); la secuencia "1, 0" se convierte en uno; la secuencia "0, 1" se convierte en cero.



En el contexto de este estudio, se esperaba que el algoritmo de von Neumann funcionara de la siguiente manera:



  • si la entrada es "0, 1" o "1, 0", el primer dígito se convierte en la salida y el segundo dígito se descarta;
  • si la entrada es "0, 0" o "1, 1", no hay salida, por lo que ambos dígitos de entrada se descartan.


Una de las mayores desventajas de este método es la gran pérdida de datos: alrededor del 75% de los datos de entrada se descartan debido a su funcionamiento. En consecuencia, la entrada debe ser lo suficientemente grande para compensar pérdidas adicionales.





Imagen # 4



El efecto de la nivelación de compensación (diagrama de arriba) es claramente visible cuando se analiza la diferencia entre los flujos de bits sin procesar (que contienen compensación) y los flujos de bits procesados ​​(sin compensación).



La suma acumulativa de cada flujo de bits sin procesar (cada 60 nucleótidos de longitud) y cada flujo de bits procesado (cada uno de menos de 60 nucleótidos de longitud) se calculó estableciendo cada 0 en "-1" y cada 1 en "1". Además, todos los flujos de bits sin desplazamiento se combinaron en un bloque de bits.



Los científicos señalan que aunque la pérdida de datos es significativa (se pierden más del 75% de todos los bits) y la eficiencia computacional es bastante baja (la tasa de salida de datos promedio es cuatro veces más lenta que la tasa de entrada de datos promedio), la eliminación del sesgo se realizó perfectamente (en la salida, el sesgo es completamente ausente).



El bloque de bits obtenido después del procesamiento con el algoritmo de von Neumann fue reevaluado a través del sistema NIST.





Tabla 1: Resultados de la prueba estadística NIST.



Todos los flujos de bits procesados ​​pasaron las pruebas estadísticas NIST con una puntuación de aprobación de> 54/56 para cada prueba, lo que supera el mínimo estadísticamente requerido (52/56). Una evaluación adicional del flujo de bits mostró que el valor P ≥ 0,001. De ello se deduce que la secuencia es aleatoria con un nivel de confianza del 99,9%.





Imagen # 5



El diagrama de arriba es un proceso completo para generar números aleatorios usando síntesis de ADN. Como recordamos, como resultado de la síntesis se obtuvieron 204 μg de ADN, lo que corresponde aproximadamente a 4x10 15 hebras de ADN. El proceso de síntesis de esta cantidad de ADN toma alrededor de 8,75 horas y el costo de producción es de alrededor de $ 100.



La muestra de ADN seco contiene una entropía teórica de 28 PB (si no hay sesgo en los datos) y 7 PB de aleatoriedad cuando se elimina el desplazamiento utilizando el algoritmo de von Neumann (es decir, después de una pérdida de bits del 75%). Por lo tanto, a diferencia del almacenamiento de datos mediante ADN, la síntesis en sí no es un cuello de botella (un factor limitante del rendimiento) en la generación de números aleatorios, ya que puede generar aleatoriedad a una velocidad de 225 gigabytes por segundo a un costo de $ 0.000014 / GB.



Sin embargo, la secuenciación, por el contrario, es un cuello de botella en términos de tiempo y costo de procesamiento. El sistema iSeq utilizado en este trabajo tiene opciones más eficientes (por ejemplo, NovaSeq 6000), capaz de realizar hasta 20 mil millones de lecturas de secuencia en 36 horas. Los costos financieros son bastante impresionantes ($ 22,000). Por tanto, teniendo en cuenta todas las etapas del RNG, el resultado se puede obtener a una velocidad de 300 kilobytes por segundo a un precio de $ 600 por GB. Es posible reducir los costos combinando varios procesos de síntesis y secuenciación.



Para un conocimiento más detallado de los matices del estudio, le recomiendo que consulte el informe de los científicos y materiales adicionales .



Epílogo



Los generadores de números aleatorios han existido durante miles de años (los dados más antiguos encontrados en Irán tienen aproximadamente 5200 años), incluso si la gente de esa época no conocía todo su potencial. La tecnología moderna y el progreso científico les han permitido crear algoritmos y dispositivos complejos capaces de generar aleatoriedad que una persona no podría predecir. Sin embargo, cuando la persona se queda atrás, la tecnología se pone al día. En otras palabras, donde hay un cifrado, también hay un descifrador. Por lo tanto, la mejora gradual de los métodos de codificación de información, donde se utilizan generadores de números aleatorios, provoca una mejora paralela en los métodos de pirateo de dichos sistemas. Esta carrera interminable de cerraduras y ganzúas requiere que ambas partes inventen constantemente más y más métodos nuevos.



Muchos RNG modernos se basan en procesos y algoritmos físicos. Pero las reacciones químicas estuvieron al margen durante muchos años, ya que se creía que no podían ser una base confiable para un RNG. En este trabajo, los científicos han demostrado que la síntesis de ADN, al ser un proceso químico, puede ser no solo una versión digna de la base de un RNG, sino que también puede superar a sus competidores "físicos" en muchos aspectos.



Naturalmente, este método sigue siendo un diamante en bruto que requiere pulido en forma de investigación adicional, cuyo propósito será aumentar la productividad y reducir los costos. Sin embargo, la generación de números aleatorios utilizando ADN es una dirección extremadamente prometedora en este momento.



Gracias por su atención, tengan curiosidad y tengan una buena semana de trabajo, chicos.



Un poco de publicidad



Gracias por estar con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver contenido más interesante? Apóyanos haciendo un pedido o recomendando a amigos, VPS en la nube para desarrolladores desde $ 4.99 , un análogo único de los servidores de nivel de entrada que hemos inventado para usted: Toda la verdad sobre VPS (KVM) E5-2697 v3 (6 núcleos) 10GB DDR4 480GB SSD 1Gbps desde $ 19 o cómo dividir el servidor correctamente? (opciones disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).



¿Dell R730xd es 2 veces más barato en el centro de datos Equinix Tier IV en Ámsterdam? ¡Solo tenemos 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $ 199 en los Países Bajos!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡Desde $ 99! Lea sobre cómo construir la infraestructura de bldg. clase con servidores Dell R730xd E5-2650 v4 que cuestan 9000 euros por un centavo?



All Articles