Язык программирования для живых клеток

Язык программирования для живых клеток
Биоинженеры MIT разработали язык программирования, который можно использовать для придания клеткам новых функций.

Биоинженеры MIT создали язык программирования, позволяющий быстро разрабатывать сложные закодированные в ДНК схемы, придающие новые функции живым клеткам.

Используя этот язык, любой желающий может запрограммировать какую-либо функцию, например — обнаружения и реакции на определённые условия окружающей среды. Затем можно генерировать последовательность ДНК, которая будет выполнять поставленную задачу.

«Это буквально язык программирования для бактерий, — говорит Кристофер Войт (Christopher Voigt), профессор биологической инженерии в Массачусетском технологическом институте. — Вы можете использовать текстовый язык, так же, как вы программируете компьютер. Затем вы берёте этот текст, компилируете его и превращаете его в последовательности ДНК, которые вы помещаете в клетку, и схема работает внутри клетки».

Войт и его коллеги из Бостонского университета и Национального института стандартов и технологий использовали этот язык, описанный ими в апрельском выпуске Science, чтобы построить схемы, которые могут обнаруживать до трёх логических входов и различным образом реагировать. Предполагается, что в будущем такого рода программы помогут создать бактериальные клетки, вырабатывающие лекарство от рака, когда они обнаруживают опухоль, или дрожжевые клетки, которые могут остановить собственный процесс ферментации, если возникло слишком много токсичных побочных продуктов.

Исследователи планируют создать доступный в Интернете интерфейс.

Опыт не требуется

За последние 15 лет биологи и инженеры разработали множество генетических элементов, таких как датчики, переключатели памяти и биологические часы, которые можно объединить, чтобы модифицировать существующие клеточные функции и добавлять новые.

Тем не менее, разработка каждой схемы представляет собой трудоёмкий процесс, требующий большого опыта, и сопряжена с множеством проб и ошибок. «У вас должны быть действительно глубокие знания о том, как эти компоненты будут работать, и взаимодействовать», — говорит Войт.

Пользователям нового языка программирования, однако, не требуется никаких специальных знаний о генной инженерии.

«Вы можете быть совершенно наивны в том, как что-то из этого работает. Вот что на самом деле в этом примечательно, — говорит Войт. — Вы можете быть учеником в средней школе, зайти на веб-сервер и ввести программу, которую хотите, и она выдаст вам последовательность ДНК».

Язык основан на Verilog, который обычно используется для программирования компьютерных микросхем. Чтобы создать версию языка для программирования клеток, исследователи разработали вычислительные элементы, такие как логические элементы и датчики, которые могут быть закодированы в ДНК бактериальной клетки. Датчики могут обнаруживать различные соединения, такие как кислород или глюкоза, а также реагировать на свет, температуру, кислотность и другие параметры окружающей среды. Пользователи также могут добавлять свои собственные датчики. Самой большой проблемой была разработка 14 логических элементов, используемых в схемах, так чтобы они не мешали друг другу, после того как помещены в сложную среду живой клетки.

В текущей версии языка программирования, эти генетические компоненты оптимизированы для кишечной палочки, но исследователи работают над расширением языка для других штаммов бактерий, включая Bacteroides, которые обычно встречаются в кишечнике человека, Pseudomonas, живущей в корнях растений, а также дрожжей Saccharomyces cerevisiae. Это позволит пользователям записывать одну программу, а затем компилировать её для различных организмов, чтобы получить правильную последовательность ДНК для каждого из них.

Биологические схемы

Используя этот язык, исследователи запрограммировали 60 схем с различными функциями, и 45 из них работали правильно в первый же раз, когда они были протестированы. Многие из схем были разработаны для измерения одного или более параметров окружающей среды, таких как уровень кислорода или концентрация глюкозы, и для соответствующей на этот параметр реакции. Ещё одна схема была разработана для ранжирования трёх различных логических входов и последующей реакции на основе приоритета каждого из них.

Одной из новых схем является крупнейшая когда-либо созданная биологическая цепь, содержащая семь логических вентилей и около 12 000 пар оснований ДНК.

Ещё одним преимуществом этого метода является скорость. «Прежде потребовались бы годы, чтобы построить эти типы схем. Теперь вы просто нажимаете кнопку и сразу же получаете последовательность ДНК», — говорит Войт.

Его команда планирует разработать несколько различных приложений, основанных на этом подходе: бактерии, которые могут помочь в переваривании лактозы, бактерии, которые могут жить в корнях растений и производить инсектицид, если они чувствуют, что растению угрожают вредители, и дрожжи, которые «отключаются», когда производят слишком много токсичных побочных продуктов в ферментационном реакторе.