• Home
  • Química
  • Astronomía
  • Energía
  • Naturaleza
  • Biología
  • Física
  • Electrónica
  • Un nuevo lenguaje de programación molecular:CRN ++

    El algoritmo de Euclides y cómo se escribirá en CRN ++. Crédito:Vasic et al.

    La biología sintética es un área de investigación relativamente nueva que podría tener un impacto significativo en varios campos, incluida la biología, nanofabricación y medicina. Un desafío principal en este campo emergente es el de incorporar la computación en contextos moleculares, en situaciones en las que no se pueden insertar microcontroladores electrónicos. Hacer esto requiere el desarrollo de métodos que puedan representar de manera efectiva cálculos usando componentes moleculares.

    Un equipo de investigadores de la Universidad de Texas en Austin ha creado CRN ++, un nuevo lenguaje para programar la cinética química determinista (acción de masas) al realizar cálculos. En su papel prepublicado el arXiv , los investigadores describen este nuevo lenguaje y construyen un compilador que traduce los programas CRN ++ en reacciones químicas.

    "Un desafío técnico clave de la biología sintética es diseñar un controlador químico que interactúe dentro de un entorno celular, lograr una tarea en particular, "Marko Vasic, uno de los investigadores que realizó el estudio, dicho Tech Xplore . "Lograr esto, es necesario diseñar moléculas sintéticas y programarlas. Las moléculas interactúan a través de reacciones químicas, y programando moléculas, nos referimos a definir reglas de interacción (reacciones químicas) entre ellos ".

    Las recientes mejoras en la síntesis de ADN han abierto nuevas interesantes posibilidades para la ingeniería de moléculas. Sin embargo, Los investigadores en biología sintética primero deben idear formas de diseñar las reglas de interacción (reacciones químicas) para lograr un objetivo deseado. El principal objetivo de este reciente estudio fue diseñar un lenguaje de nivel superior que pudiera expresar el comportamiento de las reacciones químicas de una manera más intuitiva.

    "En ingeniería de software, un programador escribe en un lenguaje de alto nivel que es fácil de entender, y dicho programa se compila en el código de máquina, que es difícil de entender para un humano, pero comprensible para una máquina, ", Explicó Vasic." Intentamos construir una analogía en la programación molecular mediante la definición de un lenguaje de alto nivel sobre el que es más fácil razonar y se compila en química 'compleja' ".

    La salida del compilador, así como los resultados de la simulación para el programa CRN ++. Crédito:Vasic et al.

    CRN ++ se basa en dos ideas:modularidad y el uso de un oscilador. La modularidad significa que el lenguaje incluye un conjunto de reacciones químicas llamadas módulos que se pueden componer sin interferencia entre diferentes conjuntos de reacciones. Lograr esto, los investigadores mapearon las operaciones básicas de CRN ++ a estos módulos. También utilizaron un oscilador químico para el ordenamiento temporal, lo que les permitió traducir comandos imperativos ordenados del idioma a la química.

    "A lo mejor de nuestro conocimiento, somos los primeros en proporcionar un lenguaje de programación imperativo que cumple con las redes de reacción química, ", Dijo Vasic." Abrimos nuestro código, incluido CRN ++, así como el marco de simulación, ya que esperamos que esto facilite a los investigadores la prueba de nuevos enfoques, y así avanzar el área más ".

    Los investigadores evaluaron CRN ++ y demostraron su viabilidad en una serie de algoritmos para el cálculo discreto y de valor real. El nuevo lenguaje también se puede ampliar fácilmente para admitir nuevos comandos o implementaciones, por lo que es la base ideal para el desarrollo de programas moleculares más avanzados.

    "Los programas traducidos de CRN ++ a química contienen algunos errores, que puede ser muy bajo en algunas clases de programas, pero puede ser alto o acumularse con el tiempo en otros, ", Dijo Vasic." Por lo tanto, planeamos investigar más a fondo las fuentes de error y diseñar programas que garanticen que el error no se acumule más allá de cierto límite ".

    Vasic y sus colegas también buscan ampliar su lenguaje de programación al incluir nuevos módulos, definido como conjuntos de reacciones químicas que pueden realizar operaciones básicas.

    © 2018 Tech Xplore




    © Ciencia https://es.scienceaq.com