Создан новый язык программирования молекулярных химических процессов
Синтетическая биология является относительно новой областью современной науки. Тем не менее, она уже начала оказывать влияние на другие области, включая биологию, нанопроизводство, медицину и т.п. Однако, для дальнейшего эффективного продвижения этой области требуется решение одной возникшей проблемы - проблемы выполнения вычислений громоздких задач, оперирующих молекулярным контекстом, задач, с решением которых не очень хорошо справляются существующие процессоры и даже специализированные микроконтроллеры.
В основном все процессы, используемые сейчас в синтетической биологии, базируются на синтезе искусственных молекул ДНК. Для этого ученым требуется разработка правил взаимодействия молекул во время череды химических реакций, которая заканчивается желаемой целью. И теперь этот сложнейший процесс значительно упрощается за счет возможности использования специального высокоуровневого языка программирования CRN++, разработанного специалистами из Техасского университета в Остине, сообщает dailytechinfo.org.
Новый язык программирования позволяет запрограммировать определяемую массовыми взаимодействиями сложную химическую кинетику. Другими словами, компилятор языка CRN++ переводит программу, написанную на высокоуровневом языке и, поэтому, легко читаемую и воспринимаемую человеком, в цепочку химических реакций.
В основу языка CRN++ легла модульность и использование так называемого химического генератора. Модульность заключается в том, что в язык уже заложен базовый набор химических реакций, называемых модулями, которые можно использовать для описания и построения более сложных реакций. А собственно операции языка CRN++ как раз и представляют собой определенные действия с отдельными модулями. Химический генератор используется для оптимизации и превращения череды инструкций языка и операций с модулями с последовательность химических реакций.
Привлеченные к работе сторонние исследователи уже произвели проверку работы компилятора языка CRN++, используя, как хорошо известные цепочки химических превращений, так и абсолютно новые. Практически во всех случаях компилятор CRN++ выдавал последовательность химических реакций, которую можно воплотить в реальности, пусть и не в промышленных, а в лабораторных условиях.
Естественно, что при выполнении программ, написанных на языке CRN++, могут возникать ошибки. Но проведенные испытания показали, что количество возникающих при расчетах ошибок гораздо ниже количества ошибок, возникающих при работе других систем "цифрового химического моделирования и синтеза", построенных на традиционных вычислительных принципах. Более того, язык CRN++ в скором времени будет дополнен множеством новых модулей химических реакций и дополнительными инструкциями, что позволит при его помощи составлять даже самые сложные "молекулярные программы".