CRN ++ : A New Molecular Programming Language

358 0

Synthetic biology is a relatively new field of modern science. However, it has already begun to influence other areas, including biology, nano-production, medicine, etc. However, further progress in this area requires the solution of one problem that has arisen – the problems of performing computations of cumbersome tasks operating with the molecular context, problems that are not handled by existing processors and even specialized microcontrollers.

Basically, all processes used now in synthetic biology are based on the synthesis of artificial DNA molecules. To do this, scientists need to develop rules for the interaction of molecules during a series of chemical reactions, which ends with the desired goal. And now this complex process is greatly simplified due to the possibility of using a special high-level programming language CRN ++, developed by specialists from the University of Texas at Austin.

A new programming language allows you to program complex chemical kinetics determined by mass interactions. In other words, the CRN ++ compiler translates a program written in a high-level language and, therefore, easily readable and perceived by a person, into a chain of chemical reactions.

The basis of the CRN ++ language lay modularity and the use of the so-called chemical generator. Modularity lies in the fact that the language has already laid a basic set of chemical reactions, called modules, which can be used to describe and build more complex reactions. And the actual operations of the CRN ++ language are just certain actions with separate modules. A chemical generator is used to optimize and transform a sequence of language instructions and operations with modules with a sequence of chemical reactions.

Third-party researchers involved in the work have already tested the work of the CRN ++ compiler using both well-known chains of chemical transformations and completely new ones. In almost all cases, the CRN ++ compiler produced a sequence of chemical reactions that can be translated into reality, albeit not in industrial, but in laboratory conditions.

Naturally, when executing programs written in the CRN ++ language, errors may occur. But the tests carried out showed that the number of errors arising in the calculations is much lower than the number of errors arising from the operation of other “digital chemical modeling and synthesis” systems built on traditional computational principles. Moreover, the language of CRN ++ will soon be supplemented by many new modules of chemical reactions and additional instructions, which will allow even the most complex “molecular programs” to be compiled with it.

Source: Arxiv