В 2002 в журнале Cancer Cell вышла весьма саркастическая статья Юрия Лазебника «Может ли биолог починить радиоприемник, или что я понял, изучая апоптоз».
За 20 лет много изменилось. Биологи создали графический язык SBGN (Systems Biology Graphical Notation) для представления структуры биохимических путей и XML формат SBML (Systems Biology Markup Language) для представления математических моделей.
Кроме самих стандартов, необходимо программное обеспечение, которое их поддерживает. Начиная с 2001 года наша команда разрабатывает программный комплекс BioUML для моделирования сложных биологических систем и анализа биомедицинских данных. UML в его названии – это отсылка к стандарту UML – Unified Modeling Language, языку графического описания для объектного моделирования в области разработки программного обеспечения. Используя ПК BioUML, нашей группой были построены сложные компьютерные модели биологических систем (насколько я знаю, некоторые из них — наиболее сложные в мире для соответствующих систем).
Таким образом, современные стандарты SBGN и SBML и ПК BioUML позволяют биологам создавать схемы и модели биологических систем, вполне сопоставимые по уровню формализации с инженерными схемами.
Исходная статья
В 2002 в журнале Cancer Cell вышла весьма саркастическая статья Юрия Лазебника «Может ли биолог починить радиоприемник, или что я понял, изучая апоптоз»:
-
оригинальная статья на английском (Cancer cell, 2002);
-
авторский перевод на русский (Успехи геронтологии, 2003).
В 2004 году на конференции по системной биологии в Гейдельберге мне повезло послушать этот доклад вживую в исполнении автора. Был первый день конференции и этот доклад поставили на 18 часов, а сразу после него фуршет. Во время доклада зал взрывался приступами смеха, и после этого, в приподнятом настроении, все пошли на фуршет — очень удачное открытие конференции.
Автор решил провести мысленный эксперимент, сможет ли биолог починить сломанный радиоприемник, и как он это будет делать. Ниже я буду приводить фрагменты из статьи, но рекомендую прочитать вам статью на русском целиком и получить от этого удовольствие.
«Чтобы абстрагироваться от особенностей биологических экспериментальных систем, я решил найти задачу, которая бы содержала достаточно сложную, но в то же самое время хорошо характеризованную систему. В конечном счёте, я вспомнил о старом транзисторном приёмнике, который моя жена привезла из России. В целом, приёмник работает так же, как системы передачи сигнала в клетке, преобразуя сигнал из одной формы в другую (приёмник преобразует электромагнитные волны в звуковые). В моём приёмнике около ста компонентов, резисторов, конденсаторов и транзисторов, что соответствует числу молекул в достаточно сложном клеточном пути передачи сигнала. Я стал затем представлять, как биологи будут выяснять, почему мой приемник не работает и как они попробуют его починить.»
«С чего мы начнём? Сначала мы заручимся финансовой поддержкой, чтобы купить большое количество одинаковых работающих приёмников и сравнить их с тем, который сломан. После нескольких попыток мы научимся вскрывать приёмники и найдем там объекты разной формы, размера и цвета. Мы опишем и классифицируем их в семейства на основе их внешнего вида. Мы опишем семейство металлических прямоугольных объектов, семейство ярких круглых объектов с двумя ножками, семейство цилиндрических объектов с тремя ножками и так далее. Так как объекты окрашены в разные цвета, мы будем изучать влияние смены цвета на качество звука. Хотя перекраска объектов будет иметь слабый эффект (музыка слышна, но тренированное ухо некоторых исследователей заметит некоторые искажения), этот подход произведет много публикаций и приведет к оживленным дискуссиям.»
И так далее, в таком же издевательском стиле. В конце концов, после долгих исследований биолог нарисует примерно такую схему:
И можно сравнить это со схемой (правда, другого приемника), которую использует инженер:
«В то же время, мы практически уверены, что инженер, или даже техник, с лёгкостью починит мой приёмник. В чём же разница? Я думаю разница в языках, которые биологи и инженеры используют. Биологи представляют их результаты с помощью до боли узнаваемых диаграмм, в которых их любимая молекула помещена в середину и соединена с остальным миром двусторонними стрелками. Даже если такая диаграмма в целом правильна (рис. 3, А), она обычно бесполезна для количественного анализа, что делает её возможности как инструмента для понимания изучаемой системы очень ограниченными. ...
Так как язык инженеров (рис. 3, Б) стандартизирован (элементы и их соединения описаны в соответствии с установленными правилами), любой знающий электронику инженер однозначно поймет диаграмму, описывающую как приёмник, так и любое другое электронное устройство. Как следствие, инженеры могут обсуждать работу приёмника, используя термины, которые понимаются однозначно всеми участниками дискуссии. Более того, то, что язык стандартный, позволяет инженерам узнавать знакомые модули (триггер, усилитель) в диаграммах незнакомых устройств. Так как описание количественное (описание приёмника указывает ключевые параметры каждого компонента, скажем, ёмкость конденсатора, но может не включать такие параметры, как цвет, размер, или форму), оно может использоваться для количественного анализа, включая моделирование.»
Почему не подходит MATLAB/Simulink, SimInTech и т.п.?
Первая мысль, которая приходит в голову – биологам нужно использовать зарекомендовавшие себя программы, которые уже разработали инженеры, и будет им счастье.
Такие попытки предпринимались, и даже не раз.
Например, на Хабре была опубликована статья:
Ударим ТАУ по пандемии COVID-19. Численное моделирования распространения инфекции.
В ней рассматривается самая простая модель распространения инфекции в популяции — SIR, которая описывает 3 субпопуляции:
-
Susceptible – восприимчивые,
-
Infected – инфицированные,
-
Recovered – выздоровевшие
и переходы между ними:
-
заражение – его скорость пропорциональна числу восприимчивых, инфицированных и некоторой константе 𝛽,
-
выздоровление – его скорость пропорциональна числу инфицированных и некоторой константе 𝛾.
Этой модели соответствует следующая система дифференциальных уравнений:
Решение подобной системы дифференциальных уравнений может быть произведено при помощи численного расчёта с применением теории автоматического управления и специализированных пакетов для моделирования динамики технических систем (например, Simulink, MATLAB, SimInTech). Соответствующая блок-схема динамической модели эпидемии представлена ниже:
Как видим, в этой диаграмме потеряна вся биологическая семантика. С точки зрения биолога, идеальной была бы следующая диаграмма:
Приведу еще несколько примеров мучений представить биологические модели в инженерных пакетах.
Биологи принимают вызов
Начиная с 2000 г., в биологии активно развивается новое направление – системная биология (Systems Biology) – междисциплинарная наука о жизни, направленная на исследование и моделирование сложных биологических систем.
Активную роль в этом сыграл Хироаки Китано, инженер Sony, который до этого разработал робособаку AIBO. Как видим, инженеры тоже к этому подключились.
В рамках этого направления были созданы 2 основных стандарта для графического представления и моделирования сложных биологических систем: SBGN и SBML.
SBGN – Systems Biology Graphical Notation – графическая нотация для формального описания структуры и функционирования биологических систем при помощи 3 типов диаграмм (рис. 9):
-
диаграмма процессов – предназначена для описания биологических путей;
-
диаграмма объектов и связей – описывает взаимодействия между биологическими процессами без учета временного аспекта;
-
диаграмма активностей – показывает поток информации в ходе работы биологических путей, при этом многие детали опускаются.
SBML – System Biology Markup Language – стандарт для представления математических моделей биологических систем. Его использование обеспечивает возможности для воспроизведения и переиспользования моделей широкого круга биологических систем. Этот формат поддерживает более 300 различных программ.
Изначально SBML был разработан для представления моделей, представленных в виде набора биохимических реакций, которые могут протекать в различных компартментах. В дальнейшем, для SBML level 3 была предложена модульная архитектура (Keating et al., 2020). Для этого было выделено:
-
ядро формата SBML level 3 core – лучше всего подходит для представления моделей на основе биохимических реакций или набора математических формул (алгебро-дифференциальные уравнения с событиями);
-
набор пакетов, которые расширяют ядро с помощью конструкций, подходящих для других типов моделей, включая модели на основе ограничений, модели реакции-распространения, модели логических сетей, модели на основе правил и многое другое.
Однако, в силу сложности стандарта SBML level 3 core version 2, чья спецификация занимает 182 страницы, возникают 2 проблемы:
-
полная поддержка спецификации – многие известные программы, не поддерживают отдельные конструкции спецификации, например, уравнения с задержкой по времени;
-
правильность численного моделирования – часто результаты численного моделирования, выполненные в разных программах, дают различные результаты.
Для решения этих проблем был разработан специальный набор тестов – SBML semantic test suite (https://synonym.caltech.edu/software/sbml-test-suite/).
Его текущая версия 3.4.0 содержит 1821 тестовую модель, которые покрывают все конструкции:
-
SBML level 3 core version 2;
-
пакета 'comp' для представления иерархических модульных моделей;
-
пакета 'fbc' для представления потоковых моделей (flux balance analysis).
BioUML
Кроме самих стандартов, необходимо программное обеспечение, которое их поддерживает.
Начиная с 2001 года наша команда (ООО «Биософт.Ру», Федеральный Исследовательский Центр Информационных и Вычислительных Технологий и Университет Сириус) разрабатывает программный комплекс BioUML для моделирования сложных биологических систем и анализа биомедицинских данных.
За это время состав команды много раз обновлялся. Существенную часть команды всегда составляют студенты, которые работают над этим проектом в рамках их дипломов, а также аспиранты. По BioUML и связанным темам уже защищено 3 кандидатские диссертации, в том числе моя. В общей сложности в проекте, в разное время, участвовало более 50 человек. Долгое время в нашей команде работал Тагир Валеев, известный на Хабре как @lany.
Нетрудно догадаться, что UML в названии – это отсылка к стандарту UML – Unified Modeling Language, языку графического описания для объектного моделирования в области разработки программного обеспечения. Соответственно, исходная идея была разработать набор типов диаграмм для визуального моделирования сложных биологических систем.
Ниже приведена некоторая статистика, показывающая сложность ПК BioUML:
-
период разработки 2001 — 2023 годы;
-
затрачено на разработку – 100+ человеко-лет;
-
объем кода (не включая сторонние библиотеки):
-
Java — 6 199 файлов, объем 36,8 Мб, ~1,2 млн. строк кода;
-
JavaScript — 74 файла, 1,5 Мб, ~50 000 строк кода;
-
-
количество модулей (используется архитектура OSGI) – 194.
Используя ПК BioUML, биологи могут использовать визуальное моделирование для создания моделей сложных биологических систем:
-
пользователь создаёт и редактирует модель биологической системы в виде диаграммы;
-
на основе созданной диаграммы ПК BioUML генерирует Java код, описывающий соответствующую систему дифференциальных уравнений;
-
сгенерированный Java код компилируется и используется соответствующими решателями для численного моделирования динамики исходной системы.
Стоит отметить, что по данным независимого сравнения (Maggoli et al., 2019) BioUML – самый качественный и быстрый SBML симулятор в мире.
Заключение
Таким образом, современные стандарты SBGN и SBML и ПК BioUML позволяют биологам создавать схемы и модели биологических систем, вполне сопоставимые по уровню формализации с инженерными схемами.
Используя ПК BioUML, нашей группой были построены компьютерные модели следующих биологических систем (насколько я знаю, наиболее сложные в мире для соответствующих систем):
-
наиболее полная модульная модель апоптоза (Kutumova et al., 2012), которая включает: 13 модулей, 286 белков и их комплексов, 684 реакции и 719 параметров;
-
модульная агентная модель регуляции артериального давления у человека (Kutumova et al., 2021) — 20 модулей, 25 ОДУ (обыкновенных дифференциальных уравнений), 160 алгебраических выражений, 160 переменных, 132 параметра, 10 дискретных событий;
-
модель, описывающая функционирование скелетной мышцы в норме и при разных режимах физических нагрузок на трех иерархических уровнях организации: метаболическомй, сигнальном и процессов регуляции экспрессии генов (Akberdin et al., 2021). Она включает 25 модулей, 238 сущностей (метаболиты, белки, мРНК, гены), 185 реакций, 171 ОДУ, 647 параметра.
Для их построения был использован модульный подход, который мы рассмотрим в следующей статье.
Университет «Сириус»
Сейчас основная часть команды BioUML работает в Научно-технологическом университете «Сириус», где я возглавляю направление «Вычислительная биология».
В июне 2023 г. первые магистранты (первый набор был в 2021 г.) будут защищать их дипломные проекты. Два проекта выполнено, используя ПК BioUML: «Многоуровневая математическая модель эпилептических припадков» и «Моделирование механизмов рекрутирования скелетных мышц человека при физический нагрузках». После защиты эти проекты будут открыты — можно будет их посмотреть. Наверное, даже отдельные статьи на Хабре напишем.
Сейчас, кстати, идет прием в магистратуру, в том числе, магистратуру по биоинформатике, в которой наша команда ведет лекции и занятия.
В магистратуре по биоинформатике идет специализация по 3 направлениям:
-
анализ геномных данных;
-
структурная биология и разработка лекарственных препаратов;
-
системная биология и математическое моделирование в биологии и медицине.
Для примера, можно посмотреть материалы по нескольким курсам:
Подать документы и сдать экзамены можно онлайн. Прием заявок на вторую волну заканчивается 28 июля.
Колпаков Федор,
Научный руководитель направления «Вычислительная биология»
Научный центр информационных технологий и искусственного интеллекта
Университет Сириус
Автор: Федор Колпаков