Вторая половина XX века была полностью определена
технологической революцией:
революцией программного обеспечения.
Возможность программирования электронов на кремниевых материалах
дала начало таким технологиям, компаниям и индустриям,
которые многие из нас не могли себе даже представить,
но которые уже полностью изменили нашу жизнь.
Однако первая половина нынешнего столетия
будет изменена революцией нового программного обеспечения:
революцией программного обеспечения живых систем.
Это возможно посредством биохимического программирования
на биологических материалах.
Это позволит нам использовать биологические свойства
для создания новых видов терапии,
восстановления повреждённых тканей,
перепрограммирования неисправных клеток
или даже создания программируемых операционных систем с помощью биохимии.
Если мы это поймём, а нам нужно это понять,
влияние новой технологии будет настолько огромным,
что по сравнению с ней первая программная революция будет ничтожна.
Потому что революция живого ПО перевернёт всю медицину,
сельское хозяйство и энергетику,
и это секторы перегоняют те, в которых доминируют IT-технологии.
Представьте себе программируемые растения, фиксирующие азот более эффективно
или противостоящие возникающим грибковым патогенам,
или даже модификацию урожая в многолетний вместо годичного,
чтобы вы смогли каждый год удваивать свой урожай.
Это изменит сельское хозяйство
и то, как мы будем кормить растущее мировое население.
Или же представьте себе программируемый иммунитет:
созданные и использующиеся молекулярные устройства, благодаря которым иммунитет
распознаёт, уничтожает или даже предотвращает болезни.
Это изменит медицину
и то, как мы будем поддерживать здоровье растущего и стареющего населения.
У нас уже есть много инструментов для осуществления ПО живых систем.
Мы можем редактировать гены с помощью CRISPR.
Мы можем переписывать генетический код
по одному нуклеотиду зараз.
Мы даже можем создавать функционирующие синтетические цепи из ДНК.
Мы ещё не знаем, как с этим обращаться:
мы всё ещё идём по пути проб и ошибок,
и для этого требуются глубокие знания и годы специализации.
А экспериментальные закономерности трудно обнаружить
и ещё чаще трудно воспроизвести.
Биологи обычно сосредоточиваются на отдельных частях,
но мы все понимаем, что нельзя понять полёт,
изучая только перья.
Поэтому биопрограммирование сложнее компьютерного программирования.
Более того,
живые системы в основном непохожи на инженерные системы,
разрабатываемые нами ежедневно.
По сравнению с инженерными, живые системы самогенерируемы,
они самоорганизованы
и работают на молекулярном уровне.
И эти молекулярные взаимодействия
приводят к надёжному результату на макроуровне.
Они могут даже самовосстанавливаться.
Представьте себе, например, скромное домашнее растение,
как то, что стоит у вас на камине,
которое вы забываете поливать.
Каждый день, несмотря на вашу забывчивость, растению нужно проснуться
и понять, как распределить свои ресурсы.
Будет ли оно расти, фотосинтезировать, давать семена или цвести?
И это решение должно быть принято на уровне всего организма.
Но у растения нет мозга, чтобы обо всём этом думать.
Ему приходится обходиться клетками листьев.
Они должны среагировать на среду
и принять решение, которое затронет всё растение.
Должна быть какая-то программа, которая работает внутри этих клеток,
которая отвечает на входящие сигналы
и определяет дальнейшее действие клетки.
Затем эти программы должны распределиться
по отдельным клеткам,
чтобы те скоординировались, а растение смогло расти и цвести.
Если мы поймём работу этих биологических программ,
если мы поймём биопрограммирование,
это перевернёт наше понимание того, как и почему
клетки делают то, что они делают.
Потому что, если мы поймём эти программы,
мы сможем исправлять их при необходимости.
Или же они могли бы научить нас проектировать синтетические цепи,
использующие вычислительную мощь биохимии в полной мере.
Увлечённость этой идеей привела меня к научной карьере
на стыке математики, компьютерных технологий и биологии.
В своей работе я фокусируюсь на концепции о том,
что биология — это вычислительные операции.
Отсюда возникает вопрос: что же вычисляют клетки,
и как мы можем выявлять, как работают эти биологические программы?
Я начала задавать эти вопросы вместе со своими замечательными коллегами
в Microsoft Research и Кембриджском университете.
Мы все хотели разобраться
в биологической программе, выполнямой в уникальных клетках —
это эмбриональные стволовые клетки.
Они уникальны, потому что совершенно «наивны».
Они могут стать любой другой клеткой:
клеткой мозга, сердца, костной ткани, лёгкого,
любой клеткой взрослого человека.
«Наивность» является их отличительной чертой,
но она поразила воображение научного сообщества,
осознавшего потенциал этих клеток
для использования в медицине.
Если мы поймём, как такие клетки принимают решение
стать тем или иным типом клеток,
мы могли бы использовать их
для генерирования клеток, нужных для замены повреждённых тканей.
Но при осуществлении этой идеи возникают проблемы,
во многом потому, что эти клетки
образуются всего лишь через шесть дней после зачатия.
А затем примерно за один день исчезают.
Они расходятся в разных направлениях,
формирующих структуру и органы взрослого организма.
Но оказывается, что судьба клеток более пластична,
чем мы это себе представляли.
Около 13 лет назад учёные показали нечто по-настоящему революционное.
Вживив всего несколько генов во взрослую клетку,
например, в эпителиальную клетку,
можно вернуть эту клетку обратно в «наивное» состояние.
Такой процесс называется «перепрограммированием».
Он позволяет нам представить себе своего рода утопию стволовых клеток,
возможность взять образец клеток пациента,
вернуть их в «наивное» состояние
и использовать их для пациента,
в каких бы клетках он ни нуждался — мозга или сердца.
Но в последнее десятилетие
изменение предназначения клетки
всё так же остаётся процессом проб и ошибок.
Даже в тех случаях, когда мы выработали успешные экспериментальные инструкции,
они по-прежнему неэффективны,
и у нас нет фундаментальных знаний о том, как и почему они работают.
Если вы выяснили, как превратить стволовую клетку в клетку сердца,
это не значит, что вы также можете превратить стволовую клетку
в клетку мозга.
Поэтому мы хотели понять биологический процесс,
протекающий внутри эмбриональных стволовых клеток,
а понимание вычислений, произведённых живой системой,
начинается с невероятно простого вопроса:
«Что на самом деле должна делать система?»
В информатике есть набор стратегий для определения того,
что собственно делают программные и аппаратные средства.
Когда вы пишете программу, вы кодируете часть ПО
и хотите, чтобы ПО работало правильно,
было достаточно быстрым и функциональным,
а также не содержало ошибок.
Они могут дорого обойтись.
Когда разработчик пишет программу,
он может записать набор спецификаций,
которые ваша программа должна осуществить.
Возможно, она должна сравнить два числа
или расположить числа в возрастающем порядке.
Существует технология, позволяющая автоматически проверять,
удовлетворены ли спецификации,
выполняет ли программа то, что она должна делать.
Наша идея заключалась в том, что аналогичным образом
экспериментальные наблюдения и измерения в лаборатории
соответствуют спецификациям того, что должна делать биопрограмма.
Нужно было найти способ
закодировать эту новую спецификацию.
Допустим, вы занимаетесь исследованием генов в лаборатории,
и вы обнаружили, что если ген А активен,
то гены В или С тоже активны.
Можно записать это наблюдение как математическое выражение,
используя язык логики:
если А, тогда В или С.
Это очень простой пример,
всего лишь для иллюстрации.
Можно закодировать сложные выражения,
отражающие поведение во времени различных генов и белков
в разных экспериментах.
Перевод наблюдений
в математические выражения
позволяет проверить, могут ли эти наблюдения
быть результатом генетических взаимодействий.
И именно для этого мы разработали один метод.
С его помощью мы кодировали наблюдения
в математические выражения,
а потом выясняли, какая генетическая программа
может всё это объяснить.
Мы применяем этот метод,
чтобы раскрыть генетическую программу внутри эмбриональных стволовых клеток
и узнать, как привести эти клетки в «наивное» состояние.
Этот метод был создан на основе программы,
широко используемой для обычной проверки ПО.
Мы начали с набора из 50 спецификаций,
созданных нами на основании экспериментальных наблюдений
над эмбриональными стволовыми клетками.
Закодировав эти наблюдения,
мы смогли обнаружить первую молекулярную программу,
объясняющую их.
Это само по себе достижение, не так ли?
Вы не сможете сопоставить все эти наблюдения
в спешке на клочке бумаге,
даже если он очень большой.
Поняв это,
мы смогли продвинуться ещё на один шаг.
Мы смогли использовать эту программу для предсказания действий клетки
в ещё не изученных нами условиях.
Мы смогли попробовать программу в компьютерной симуляции.
Мы поступили так:
мы выдвинули предположения и протестировали их в лаборатории.
Мы обнаружили, что программа даёт очень предсказуемые результаты.
Благодаря ей мы поняли, как ускорить превращение
в «наивное» состояние быстро и эффективно.
Мы узнали, на какие гены ориентироваться
и какие гены могут задерживать этот процесс.
Оказалось даже, что программа предсказала порядок, в котором гены будут включаться.
Этот подход помог нам раскрыть динамику
действий клеток.
Это подход можно применять не только к стволовым клеткам.
Он позволяет понять вычисления,
производимые клетками
в контексте генетических взаимодействий.
Это лишь кирпичик.
Этой области срочно нужны новые подходы,
чтобы понять биологические вычисления шире
и на разных уровнях,
начиная с ДНК и заканчивая информационным потоком между клетками.
Только такое понимание
даст нам возможность использовать биологию прогнозируемо и надёжно.
Но чтобы запрограммировать биологию, нам нужно создать
инструменты и языки взаимодействия,
которые бы позволили и экспериментаторам, и специалистам по теории вычислений
конструировать биологические функции
так, чтобы они составляли машинный код клетки,
её биохимию,
чтобы мы могли выстроить такие структуры.
Это что-то сродни живому программному компилятору,
и я горжусь тем, что работаю в группе Microsoft,
занимающейся его созданием.
Хоть и будет преуменьшением назвать это большим вызовом,
но если это получится,
это свяжет окончательно ПО с «мозгами» живых систем.
В широком смысле, программируемая биология будет возможно только тогда,
когда мы сможем сделать эту область междисциплинарной.
Нужно соединить физические и биологические науки,
и учёные из этих сфер
должны быть способны сотрудничать, используя общий язык
и решая научные вопросы, интересующие и тех, и других.
Это долгая перспектива, но нужно помнить, что многие корпорации ПО
и технологии, используемые нами ежедневно,
было невозможно представить себе
в ту пору, когда мы начинали программирование на кремниевых микрочипах.
Задумавшись о потенциале этой технологии,
возможной благодаря вычислительной биологии,
мы увидим те шаги, которые нам следует предпринять,
чтобы претворить это в жизнь.
Отрезвляет мысль о том, что подобными технологиями
могут злоупотребить.
Если мы говорим о возможности программирования
иммунных клеток,
то должны думать о возможных бактериях,
созданных, чтобы заразить их.
Кто-то может захотеть это сделать.
Обнадёживает то,
что — ну, учёных не очень, —
что биология — деликатная штука.
Программной биологией
невозможно заниматься у себя в сарае.
Так как мы только начинаем,
то можем двигаться с широко раскрытыми глазами.
Можем ставить трудные вопросы,
заручиться необходимыми гарантиями
и, соответственно, задуматься об этике.
Нам надо задуматься об ограничениях при применении
биологической функции.
Исследования в области биоэтики должны стать приоритетом.
Их нельзя считать второстепенными,
воодушевляясь научными новшествами.
Но самый главная награда, конечная цель этого путешествия —
прорыв во всех областях,
от агрикультуры и медицины до энергетики и ресурсов,
и даже в области компьютерной обработки данных.
Представьте себе, когда-нибудь
мы могли бы экологично снабжать планету зелёной энергией,
если бы мы смогли повторить то, до чего давно додумались растения:
использовать энергию солнца с эффективностью,
несравнимой с солнечными батареями.
Если бы мы поняли процесс квантовых взаимодействий,
позволяющий растениями так эффективно использовать солнечный свет,
мы смогли бы использовать его при построении синтетических сетей ДНК,
чтобы улучшить солнечные батареи.
Сейчас над этими работают группы учёных,
так что если мы привлечём к этому инвесторов,
то сможем осуществить это через 10–15 лет.
Мы на пороге технологической революции.
Понимание элементарных биологических вычислений —
важнейший первый шаг.
Претворяя это в жизнь,
мы начнём эру операционных систем,
обслуживающих ПО живых систем.
Спасибо вам большое.
(Аплодисменты)