Язык программирования для живых клеток
Биоинженеры MIT создали язык программирования, позволяющий быстро проектировать сложные схемы, закодированные в ДНК, которые придают живым клеткам новые функции.
С помощью этого языка можно написать программу для нужной функции, например, обнаружения и реакции на определённые условия окружающей среды, и затем сгенерировать соответствующую последовательность ДНК.
"Это буквально язык программирования для бактерий", — говорит Кристофер Войт, профессор биологической инженерии MIT. — "Вы используете текстовый язык, как при программировании компьютера. Затем этот текст компилируется в последовательность ДНК, которую помещают в клетку, и схема начинает работать внутри неё".
Войт и его коллеги из Бостонского университета и Национального института стандартов и технологий использовали этот язык (описан в выпуске Science от 1 апреля) для создания схем, способных обнаруживать до трёх входных сигналов и реагировать различными способами. Будущие применения включают создание бактериальных клеток, производящих лекарство от рака при обнаружении опухоли, или дрожжевых клеток, останавливающих процесс ферментации при накоплении токсичных побочных продуктов.
Исследователи планируют сделать веб-интерфейс для пользователей общедоступным.
Опыт не требуется
За последние 15 лет были созданы многие генетические части (сенсоры, переключатели памяти, биологические часы), которые можно комбинировать для изменения функций клеток. Однако проектирование каждой схемы — трудоёмкий процесс, требующий экспертных знаний и часто множества проб и ошибок.
Пользователям нового языка программирования специальные знания генной инженерии не нужны.
"Вы можете быть совершенно незнакомы с тем, как это работает. В этом главное отличие", — говорит Войт. — "Вы можете быть школьником, зайти на веб-сервер, набрать нужную программу, и он выдаст последовательность ДНК".
Язык основан на Verilog, используемом для программирования компьютерных чипов. Для работы в клетках исследователи разработали вычислительные элементы (логические вентили и сенсоры), кодируемые в ДНК бактериальной клетки. Сенсоры могут обнаруживать различные соединения (кислород, глюкозу), а также свет, температуру, кислотность и другие условия среды. Пользователи могут добавлять свои собственные сенсоры.
Главной сложностью было спроектировать 14 логических вентилей так, чтобы они не мешали друг другу в сложной среде живой клетки.
В текущей версии языка генетические части оптимизированы для E. coli, но ведутся работы по расширению для других штаммов бактерий (Bacteroides, Pseudomonas) и дрожжей Saccharomyces cerevisiae. Это позволит компилировать одну программу для разных организмов.
Биологические схемы
Используя этот язык, исследователи запрограммировали 60 схем с разными функциями, 45 из которых сработали правильно с первого раза. Многие схемы измеряли одно или несколько условий среды (уровень кислорода, концентрацию глюкозы) и реагировали соответственно. Одна схема ранжировала три разных входных сигнала по приоритету.
Одна из новых схем — крупнейшая из когда-либо созданных биологических схем, содержащая семь логических вентилей и около 12 000 пар оснований ДНК.
Ещё одно преимущество — скорость. До сих пор на создание таких схем уходили годы. Теперь можно просто нажать кнопку и мгновенно получить ДНК-последовательность для тестирования.
Команда планирует работать над несколькими приложениями: бактерии для помощи в переваривании лактозы; бактерии на корнях растений, производящие инсектицид при атаке на растение; дрожжи, отключающиеся при производстве слишком большого количества токсичных побочных продуктов в ферментационном реакторе.
