CRN++ - новый язык программирования молекулярных химических процессов

16 октября 2018

Синтетическая биология является относительно новой областью современной науки. Тем не менее, она уже начала оказывать влияние на другие области, включая биологию, нанопроизводство, медицину и т.п. Однако, для дальнейшего эффективного продвижения этой области требуется решение одной возникшей проблемы - проблемы выполнения вычислений громоздких задач, оперирующих молекулярным контекстом, задач, с решением которых не очень хорошо справляются существующие процессоры и даже специализированные микроконтроллеры.

 

В основном все процессы, используемые сейчас в синтетической биологии, базируются на синтезе искусственных молекул ДНК. Для этого ученым требуется разработка правил взаимодействия молекул во время череды химических реакций, которая заканчивается желаемой целью. И теперь этот сложнейший процесс значительно упрощается за счет возможности использования специального высокоуровневого языка программирования CRN++, разработанного специалистами из Техасского университета в Остине.

Новый язык программирования позволяет запрограммировать определяемую массовыми взаимодействиями сложную химическую кинетику. Другими словами, компилятор языка CRN++ переводит программу, написанную на высокоуровневом языке и, поэтому, легко читаемую и воспринимаемую человеком, в цепочку химических реакций.

 

 

В основу языка CRN++ легла модульность и использование так называемого химического генератора. Модульность заключается в том, что в язык уже заложен базовый набор химических реакций, называемых модулями, которые можно использовать для описания и построения более сложных реакций. А собственно операции языка CRN++ как раз и представляют собой определенные действия с отдельными модулями. Химический генератор используется для оптимизации и превращения череды инструкций языка и операций с модулями с последовательность химических реакций.

Привлеченные к работе сторонние исследователи уже произвели проверку работы компилятора языка CRN++, используя, как хорошо известные цепочки химических превращений, так и абсолютно новые. Практически во всех случаях компилятор CRN++ выдавал последовательность химических реакций, которую можно воплотить в реальности, пусть и не в промышленных, а в лабораторных условиях.

Естественно, что при выполнении программ, написанных на языке CRN++, могут возникать ошибки. Но проведенные испытания показали, что количество возникающих при расчетах ошибок гораздо ниже количества ошибок, возникающих при работе других систем "цифрового химического моделирования и синтеза", построенных на традиционных вычислительных принципах. Более того, язык CRN++ в скором времени будет дополнен множеством новых модулей химических реакций и дополнительными инструкциями, что позволит при его помощи составлять даже самые сложные "молекулярные программы".

источник - https://www.dailytechinfo.org/infotech/10393-crn-novyy-yazyk-programmirovaniya-molekulyarnyh-himicheskih-processov.html