• Home
  • Química
  • Astronomia
  • Energia
  • Natureza
  • Biologia
  • Física
  • Eletrônicos
  • Uma nova linguagem de programação molecular:CRN ++

    O algoritmo de Euclides e como ele será escrito no CRN ++. Crédito:Vasic et al.

    A biologia sintética é uma área de pesquisa relativamente nova que pode impactar significativamente uma série de campos, incluindo biologia, nanofabricação e medicina. Um desafio principal neste campo emergente é o de incorporar a computação em contextos moleculares, em situações onde os microcontroladores eletrônicos não podem ser inseridos. Fazer isso requer o desenvolvimento de métodos que podem representar efetivamente cálculos usando componentes moleculares.

    Uma equipe de pesquisadores da Universidade do Texas em Austin criou o CRN ++, uma nova linguagem para programar cinética química determinística (ação em massa) na realização de cálculos. Em seu jornal, pré-publicado em arXiv , os pesquisadores esboçam essa nova linguagem e constroem um compilador que traduz os programas CRN ++ em reações químicas.

    "Um dos principais desafios técnicos da biologia sintética é projetar um controlador químico que interaja dentro de um ambiente celular, realizar uma tarefa particular, "Marko Vasic, um dos pesquisadores que realizou o estudo, contado Tech Xplore . "Para alcançar isto, é necessário projetar moléculas sintéticas e programá-las. As moléculas interagem por meio de reações químicas, e programando moléculas, queremos dizer definir regras de interação (reações químicas) entre eles. "

    Melhorias recentes na síntese de DNA abriram novos, possibilidades emocionantes para a engenharia de moléculas. Contudo, pesquisadores em biologia sintética precisam primeiro conceber maneiras de projetar as regras de interação (reações químicas) para atingir um objetivo desejado. O objetivo principal deste estudo recente foi projetar uma linguagem de alto nível que pudesse expressar o comportamento das reações químicas de uma forma mais intuitiva.

    "Na engenharia de software, um programador escreve em uma linguagem de alto nível fácil de entender, e tal programa é compilado para o código de máquina, o que é difícil de entender por um humano, mas compreensível por uma máquina, "Vasic explicou." Tentamos construir uma analogia em programação molecular, definindo uma linguagem de alto nível que é mais fácil de raciocinar e é compilada em química 'complexa'. "

    A saída do compilador, bem como os resultados da simulação para o programa CRN ++. Crédito:Vasic et al.

    O CRN ++ é baseado em duas idéias:modularidade e o uso de um oscilador. Modularidade significa que a linguagem inclui um conjunto de reações químicas chamadas módulos que podem ser compostas sem interferência entre diferentes conjuntos de reações. Para alcançar isto, os pesquisadores mapearam as operações básicas do CRN ++ para esses módulos. Eles também usaram um oscilador químico para ordenação temporal, o que lhes permitiu traduzir comandos imperativos ordenados da linguagem para a química.

    "Para o melhor de nosso conhecimento, somos os primeiros a fornecer uma linguagem de programação imperativa que está em conformidade com as redes de reação química, "Disse Vasic." Abrimos o código-fonte do nosso código, incluindo CRN ++, bem como estrutura de simulação, pois esperamos que isso torne mais fácil para os pesquisadores experimentarem novas abordagens, e assim avançar ainda mais a área. "

    Os pesquisadores avaliaram o CRN ++ e provaram sua viabilidade em uma série de algoritmos para computação discreta e de valor real. A nova linguagem também pode ser facilmente estendida para suportar novos comandos ou implementações, tornando-se a base ideal para o desenvolvimento de programas moleculares mais avançados.

    "Programas traduzidos de CRN ++ para química contêm alguma quantidade de erro, que pode ser muito baixo em algumas classes de programas, mas pode ser alto ou aumentar com o tempo em outras, ", Disse Vasic." Portanto, planejamos investigar mais as fontes de erro e criar programas que garantam que o erro não se acumule além de um determinado limite. "

    Vasic e seus colegas também estão procurando ampliar sua linguagem de programação, incluindo novos módulos, definido como conjuntos de reações químicas que podem realizar operações básicas.

    © 2018 Tech Xplore




    © Ciência https://pt.scienceaq.com