Прогнозирование термостабильности ферментов во время рождественских каникул

Когда приближается Рождество, все с нетерпением ждут елки, может быть, снега, подарков, Деда Мороза и Нового года. Для нас в ML6 есть нечто большее! Мы освобождаемся от наших обычных проектов и проводим время, изучая новые горизонты для ML6: новые технологии, новые приложения, новые области интересов. Как это круто?

Итак, мы (Томас, Томас, Андрес и я) приготовились к тому, чтобы расширить границы применения ML6 в науках о жизни. Мы решили принять участие в конкурсе Kaggle: вызов стабильности ферментов Novozymes. Целью задачи было предсказание термостабильности ферментов. Но прежде чем мы займемся тем, что мы сделали, сначала немного контекста.

Почему ИИ актуален в науках о жизни?

Биология сложна и разнообразна. Несмотря на десятилетия исследований, природа по-прежнему хранит множество тайн. Сегодня у ИИ есть возможность поддерживать экспертов: сопоставлять входные и выходные данные эксперимента с очень сложными биологическими функциями.

Одним из хорошо известных примеров является сворачивание белка. До недавнего времени было невозможно предсказать структуру с высокой достоверностью, все изменилось с выходом AlphaFold 2 от DeepMind в 2020 году.

AlphaFold 2.0 (и RosettaFold, ESMFold,…) показал, что может точно прогнозировать трехмерные модели белковых структур и ускоряет исследования практически во всех областях биологии. Это чрезвычайно ускорило исследование биоинженерных решений, которые могут революционизировать борьбу с пластиковым загрязнением с проблемой резистентности к антибиотикам.

Но это не останавливается на достигнутом. Машинное обучение предоставляет широкий спектр решений, которые могут ускорить работу компаний в области биотехнологии и здравоохранения. AI/ML оказывает влияние на

  • Производство персонализированной медицины, обещающей минимальное потребление лекарств, максимальный результат без использования ненужных лекарств.
  • Как разрабатывают и производят лекарства. Лучшее прогнозирование функциональности ферментов позволяет сделать химию более экологичной, а также лучше ориентироваться на определенные ферменты (например, антибиотики).
  • Ускорение выхода на рынок новых лекарств: напр. AI/ML используется для разработки лучших клинических испытаний.
  • Как химические процессы могут стать более экологичными. Разрабатывая ферменты, которые могут проводить химические реакции в умеренных условиях, для которых в прошлом требовались суровые условия, снижая воздействие на окружающую среду.
  • Предсказуемость клеток и организмов, стимулирующая развитие биотехнологий.

В заключение можно сказать, что машинное обучение может принести большую пользу в различных аспектах наук о жизни.

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

Ферменты? Белки? Стабильность?

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

Почти все эти биохимические реакции выполняются (катализируются) ферментами. Ферменты — это белки, способные превращать одну молекулу в другую. И это может быть что угодно. Отрежьте кусок, склейте молекулы вместе и так далее.

По своей природе эти ферменты нестабильны.

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

Ферменты, как и все белки, представляют собой сложные молекулы, состоящие из множества связанных друг с другом аминокислот, что можно сравнить с ожерельем из бисера, где аминокислоты представляют собой бусины. Эти длинные молекулы будут скручиваться, образуя трехмерную структуру (белковую складку), которая определяет его функцию.

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

Исходная длинная последовательность аминокислот является информационной полной, поскольку определена полная складка и, следовательно, ее функция.

Возможен обмен некоторых аминокислот без нарушения функции фермента. Однако эти замены (точечные мутации) могут влиять на стабильность белка.

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

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

И именно здесь вступает в игру конкурс Kaggle. Может ли ML помочь? Может ли модель извлечь информацию из экспериментальных данных и помочь предсказать, какие белки/мутации должны быть более стабильными?

Каггл конкурс

Каггл

Kaggle — это организация, которая хочет продвигать ML вперед. Для достижения этой цели он организует, среди прочего, соревнования, в которых может принять участие каждый.
Для этих соревнований Kaggle предоставляет некоторые обучающие данные, а также набор тестовых данных. Результаты могут быть отправлены, и ваши решения будут оценены в наборе тестов, что приведет к рейтингу в таблице лидеров. Однако внешний вид может быть обманчивым, так как есть также скрытый тестовый набор, и в конце соревнования команда, набравшая наибольшее количество очков по скрытому тестовому набору, становится фактическим победителем соревнования. Берегитесь оверфиттеров!

Начиная

Для этого конкурса Kaggle предоставила обучающий набор данных, состоящий из 28 000 экспериментально подтвержденных измерений термостабильности для различных белков (77), вариантов белков и значения pH. Набор тестов ограничен точечными мутациями одного белка дикого типа и состоит из 2400 строк. Набор данных не содержал какой-либо информации о сворачивании белков, что является важным примечанием, поскольку получение этих сгибов из последовательности является нетривиальной задачей, и сегодня она обычно решается с помощью ресурсоемких решений, таких как AlphaFold и RosettaFold.
Заявки оценивались по коэффициенту корреляции Спирмена между достоверностью данных и предсказанной термостабильностью.

Поехали!

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

К счастью, Kaggle — это очень удобная платформа для совместной работы, и мы смогли относительно быстро наверстать упущенное в современных решениях. Kaggle не только имеет дискуссионные форумы, на которых участники могут обмениваться информацией, но и платформа позволяет пользователям делиться своими наборами данных, а также имеет собственный полноценный вариант ноутбука Jupyter с инфраструктурой для их запуска. Это означает, что людям действительно легко обмениваться данными и опираться на результаты работы друг друга. К счастью для нас, это также означало, что мы смогли многому научиться и пойти намного дальше, чем мы смогли бы сделать сами за несколько дней, читая последние темы обсуждений и просматривая блокноты и наборы данных, которыми поделились участники. .

Концептуально это был план, который мы придумали для начала:

  1. разобрать белковые последовательности
  2. извлечь как можно больше функций из последовательностей с помощью различных инструментов
  3. объединить результат рассчитанных функций в модель, подобную регрессору, для прогнозирования.

Должно быть ясно, что 2. происходит волшебство. Использование 3D-моделей, созданных с помощью ML, NLP и даже простых функций, основанных на правилах, будет здесь драйвером.

Предварительная обработка и внешние данные

Нам потребовалось некоторое время, чтобы понять, насколько разными были данные обучения и тестирования. Набор обучающих данных охватывал очень разные белки, в то время как тестовые данные были сосредоточены исключительно на одном белке.

Вместо того, чтобы сразу использовать все белковые последовательности обучающего набора, эти данные пришлось разбить на подгруппы, чтобы охватить только варианты белков (белки, которые очень похожи и отличаются друг от друга только некоторыми точечными мутациями). Идея состоит в том, чтобы рассчитать разницу в стабильности между природным белком и точечным мутантом, а не вычислять абсолютную стабильность. Эта дельта стабильности может быть перенесена в тестовый набор данных. Чтобы сделать это, нам сначала нужно было вычислить дикие типы (исходные белки) в обучающих данных (это выходит за рамки этого поста в блоге).

Еще одним важным уроком является ценность внешних данных за пределами обучающего набора, предоставляемого Kaggle. Данные Jinyuan Sun, например. сыграли решающую роль и были необходимы для значительного увеличения нашего счета. Набор данных Jin представляет собой набор экспериментально определенных данных о стабильности для различных белков.

Как упоминалось во введении, трехмерные структуры очень важны для стабильности ферментов. Рассчитанные Alphafold2 3D-структуры диких типов на группу групповой последовательности также были разделены и использованы.

Разработка функций

Основные характеристики

Мы начали с простого, создав массу основных характеристик цепочек аминокислот. Например, длина, молекулярная масса, количество атомов кислорода… Это дало незначительное улучшение предсказательной способности окончательной модели. Этого следовало ожидать, поскольку поиск стабильности в белках представляет собой сложный процесс.

Эволюционное масштабное моделирование (ESM)

Затем мы хотим извлечь выгоду из больших предварительно обученных моделей, чтобы извлечь интерпретацию структуры белка. Интересно, что структура белка представлена ​​последовательностью, немного похожей на язык. Это позволяет использовать архитектуру, подобную преобразователям, для предварительной подготовки модели на большом наборе данных о белках для общей задачи и тонкой настройки ее на конкретном наборе данных для последующей задачи.

В этом случае мы использовали ESM (моделирование эволюционного масштаба) Meta. ESMFold извлекает полную структуру белка из аминокислотной последовательности. Это отличается от Alpha Fold 2, где фактическим началом является множественное выравнивание последовательностей. Оба имеют свои достоинства.

ESM и ESMFold можно элегантно извлечь из библиотеки преобразователей HuggingFace. Оригинальный репозиторий используемой модели трансформера можно найти здесь.

При использовании ESM для этого варианта использования нас напрямую не интересует окончательный результат модели ESM (фактические структуры белка). Нас интересуют особенности структуры, которые можно использовать для прогнозирования термической стабильности. Для этого мы извлекли встраивание последнего активационного слоя модели. Наряду с этим мы также извлекли некоторые функции, которые представляют вероятность мутации и энтропию мутации из задачи предварительной подготовки MLM. Извлечение встраивания дало нам множество функций для работы (более 1000), но поскольку у нас был довольно небольшой набор для обучения, мы решили использовать PCA, чтобы уменьшить количество функций.

Функции на основе правил

Наконец, мы добавили некоторые химические свойства, полученные из последовательности сырого белка с помощью модуля анализа белка BioPython. Этими характеристиками являются ароматичность, индекс нестабильности, изоэлектрическая точка, доля вторичной структуры, молярный коэффициент экстинкции, GRAVY (большое среднее гидропатии) и заряд белка при pH 7 и 8. Большинство из них слишком сложны, чтобы в них углубляться. хотя в приведенной выше ссылке BioPython есть ссылки на литературу, из которой они происходят. Суть для нас в том, что эти функции относительно недороги и их легко вычислить (с помощью BioPython), но они предоставляют информацию, которая может иметь отношение к стабильности, согласно литературе.

Одна модель, чтобы управлять ими всеми

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

Полученные результаты

Благодаря нашему лучшему представлению мы оказались в верхней половине таблицы лидеров с общим баллом 0,499, заняв 1042 места из 2482 команд. Абсолютным лидером стал гроссмейстер Kaggle Крис Деотте с результатом 0,86514. Однако, глядя на личный счет, мы набрали 0,47248 на позиции 1027, в то время как лидер доски Eggplanck закончил с 0,54541. Это результат, которым мы гордимся. За то время, которое мы вложили в этот проект (пять дней), мы многое узнали о биологии и белковой инженерии, при этом получив массу удовольствия. Несмотря на то, что мы многому научились, мы до сих пор не коснулись того, что возможно с ML в контексте биологии. Так что впереди у нас еще много возможностей.

Результаты конкурса также показывают, насколько сложными могут быть биологические прогнозы (коэффициент корреляции 0,54 между предсказанной и фактической термостабильностью приличный и, вероятно, полезный в промышленности, но проблема далека от полного решения).

Уроки/выводы

Как же крутой был этот рождественский проект! Нам было очень весело, мы узнавали что-то новое.

Удовольствие от конкурса Kaggle — это не только сам конкурс, но и поддержка сообщества на форумах. Мы многому научились.

С точки зрения моделирования мы уже знали из работы над ML6, что очистка данных и предварительная обработка данных имеют решающее значение для машинного обучения, чтобы приносить пользу. Способ предварительной обработки данных из-за разницы между обучающей и тестовой выборками был решающим первым шагом.

И, наконец, с точки зрения биологии, когда инженеры, не имеющие образования в области биологии и биотехнологии, узнали больше об аминокислотах и ​​белках, а также о том, как машинное обучение может принести пользу в этой области. Это открывает новые возможности для нас и ML6, чтобы войти в эту область.

Крики

Спасибо Томасу Вранкену, Томасу Янссенсу и Андресу Верваке, моим коллегам-агентам ML6 по этому проекту.