Игорь Градов
Игорь Градов
6 мин
ai

Машинное обучение в химии: как найти кандидата в лекарство за дни вместо 15 лет

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

Машинное обучение в химии: как найти кандидата в лекарство за дни вместо 15 лет
Почему это важно

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

Туториал воспроизводит полный цикл поиска молекул-кандидатов для подавления мутантного рецептора EGFR (рецептор эпидермального фактора роста, белок на поверхности раковых клеток, который заставляет их бесконтрольно делиться). Мутация C797S делает опухоль устойчивой к осимертинибу, препарату третьего поколения. Задача: научить модель на известных данных о молекулах-ингибиторах EGFR и предложить новые, не описанные ранее аналоги как стартовые точки для лекарства четвёртого поколения.

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

Что понадобится

  • Google Colab (бесплатный аккаунт) или локальный Python 3.9+
  • Библиотеки: RDKit (работа с молекулами), scikit-learn (машинное обучение), SHAP (объяснение предсказаний модели), matplotlib (графики), requests (доступ к API)
  • Открытые базы данных: ChEMBL (база биоактивности), UniProt (данные о белках), PubChem (проверка новизны молекул)
  • Время: 2 до 4 часов на первый полный прогон с разбором результатов
  • Знания: базовый Python, общее понимание органической химии (подробные пояснения даны по ходу шагов)

Пошаговая инструкция

  1. Установите зависимости и настройте среду. В Colab или терминале выполните установку пакетов. Код ниже проверяет наличие каждой библиотеки и доустанавливает недостающие:
import subprocess, sys
for pkg in ["rdkit", "shap", "requests"]:
    subprocess.run([sys.executable, "-m", "pip", "install", "-q", pkg], check=False)

Импортируйте основные модули: numpy, pandas, RDKit, sklearn, matplotlib, SHAP. Зафиксируйте случайное зерно (random seed = 42), чтобы результаты воспроизводились.

  1. Определите биологическую мишень. Через API ChEMBL найдите запись EGFR человека (идентификатор CHEMBL203). Скрипт автоматически выбирает мишень с наибольшим числом записей биоактивности IC50. Дополнительно подтяните описание функции белка из UniProt по идентификатору accession.
TARGET_CHEMBL_ID = "CHEMBL203"
# запрос к ChEMBL API:
url = "https://www.ebi.ac.uk/chembl/api/data/target/CHEMBL203"
  1. Извлеките данные биоактивности из ChEMBL. Запросите все записи IC50 с указанным pChEMBL value (логарифмическая мера активности: чем выше значение, тем сильнее молекула подавляет мишень). Ограничьте выборку до 9 000 записей и до 4 000 уникальных молекул, чтобы обучение проходило на рабочей машине.

  2. Очистите и стандартизируйте молекулы. С помощью RDKit:

  3. удалите соли и противоионы из записей
  4. стандартизируйте структуры (канонические SMILES, линейная запись структуры молекулы)
  5. объедините повторные измерения (медиана pIC50 для одной молекулы)

  6. Вычислите молекулярные дескрипторы. Для каждой молекулы рассчитайте:

  7. Отпечатки Моргана (Morgan fingerprints, 2048 бит, радиус 2) : бинарное представление фрагментов структуры
  8. Физико-химические свойства: молекулярная масса, логарифм липофильности (logP), число доноров и акцепторов водородных связей
  9. Проанализируйте разнообразие скаффолдов (скаффолд, «скелет» молекулы по Murcko)

  10. Разделите данные по скаффолдам и обучите модель. Scaffold-split (разбиение, при котором молекулы с одинаковым скелетом попадают только в одну выборку) гарантирует, что модель проверяется на структурно новых соединениях. Обучите Random Forest (случайный лес) на тренировочной выборке:

from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor(n_estimators=500, random_state=42)
model.fit(X_train, y_train)

Оцените качество по R², RMSE и коэффициенту корреляции Спирмена на тестовой выборке.

  1. Интерпретируйте модель через SHAP. Библиотека SHAP (SHapley Additive exPlanations) показывает, какие именно фрагменты молекулы толкают предсказание активности вверх или вниз. Визуализируйте субструктуры, которые модель считает важными для подавления EGFR.

  2. Сгенерируйте новые молекулы-кандидаты. Метод BRICS (разрезание молекулы по синтетически реалистичным связям) разбивает активные молекулы на фрагменты. Скрипт рекомбинирует фрагменты от 60 наиболее активных «родителей», выполняя до 4 000 попыток сборки. Каждый результат проходит фильтры:

  3. предсказанная pIC50 выше 7.0 (граница активности)
  4. соответствие критериям drug-likeness (пригодности к разработке как лекарства)
  5. оценка синтезируемости (насколько реально синтезировать молекулу в лаборатории)
  6. проверка новизны: не совпадает ли со структурами в PubChem

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

Что получается на практике

На входе: идентификатор мишени CHEMBL203 (EGFR) и параметры модели (500 деревьев, отпечатки 2048 бит). На выходе после полного прогона: таблица из 12 молекул-кандидатов с предсказанной pIC50 выше 7.0, оценками QED (drug-likeness), SA Score (синтезируемость) и подтверждением, что структура отсутствует в PubChem. Каждая молекула визуализирована с подсветкой фрагментов, которые SHAP отметил как значимые для активности. Полный ноутбук занимает около 300 строк кода и выполняется в Google Colab за 15 до 40 минут в зависимости от скорости API.

Частые ошибки
  • Случайное разбиение вместо scaffold-split. Если тренировочная и тестовая выборки содержат молекулы с одинаковым скелетом, метрики раздуваются: модель «запоминает» скаффолд, а не учится обобщать. Всегда используйте scaffold-split для QSAR.
  • Игнорирование агрегации повторов. Одна молекула может иметь 5 до 10 измерений IC50 из разных лабораторий. Без усреднения (медианы) модель получает противоречивые метки и учится на шуме.
  • Доверие к предсказанной pIC50 без экспериментальной проверки. Модель QSAR прогнозирует, но не доказывает активность. Каждый кандидат требует синтеза и биологического тестирования.
  • Пропуск проверки новизны. Без сопоставления с PubChem вы рискуете «открыть» уже известное вещество или запатентованную структуру.
  • Ошибки при стандартизации SMILES. Соли, таутомеры (разные формы записи одной молекулы), нестандартные заряды искажают отпечатки. Всегда пропускайте входные данные через rdMolStandardize.

Что делать с этим прямо сейчас?

Хемоинформатику и разработчику лекарств в РФ: весь процесс запускается бесплатно и легально. ChEMBL, UniProt и PubChem доступны без ограничений по региону. Замените CHEMBL203 на идентификатор вашей мишени и повторите пайплайн для собственного проекта.

Автору Дзена, который пишет о науке и технологиях: сам факт, что полный цикл drug discovery укладывается в один Colab-ноутбук, отличная основа для разбора или серии постов. Покажите скриншоты визуализации SHAP: они наглядно объясняют, «почему модель считает эту молекулу активной».

Предпринимателю в биотехе: если в команде есть хотя бы один Python-разработчик с базовым пониманием химии, этот workflow заменяет первичный скрининг, на который в CRO (контрактная исследовательская организация) уходят недели и сотни тысяч рублей. Результат не замена полного цикла R&D, но качественный входной фильтр.

Мнение редакции dzen.guru

По моим наблюдениям, главная ценность подобных открытых пайплайнов не в том, что они выдают готовое лекарство. Они снижают порог входа: аспирант в Томске или Казани получает тот же инструментарий, что и группа в Бостоне. Честная оговорка: от кандидата в ноутбуке до реальной молекулы в клинике по-прежнему лежат годы мокрой химии, доклинических испытаний и регуляторных процедур. Модель Random Forest на отпечатках Моргана не учитывает трёхмерную структуру белка и динамику связывания. Для серьёзного проекта стоит дополнить пайплайн докингом (моделирование посадки молекулы в активный сайт белка) и молекулярной динамикой. Но как первый фильтр и обучающий проект это рабочий инструмент, который стоит попробовать.

Научитесь использовать ИИ для своих задач

В dzen.guru мы разбираем практические сценарии применения нейросетей от контента до науки. Подпишитесь, чтобы не пропустить следующие гайды.

Подписаться на dzen.guru

Двенадцать молекул в таблице не вылечат рак, но они делают кое-что важнее: доказывают, что первый этап поиска лекарства больше не заперт за дверью с бюджетом в миллиард.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Tencent открыла Hy3: mixture of experts модель на 295B параметров бесплатна до 2026 года
ai

Tencent открыла Hy3: mixture of experts модель на 295B параметров бесплатна до 2026 года

Tencent второго июля выпустила Hy3, открытую модель на 295 миллиардов параметров с архитектурой MoE (mixture of experts, «смесь экспертов», когда из сотен…

6 мин
Что такое ИИ-агент: кейс Vercel, где 3 млн развёртываний в день идут без людей
ai

Что такое ИИ-агент: кейс Vercel, где 3 млн развёртываний в день идут без людей

Чтобы понять, что такое ИИ-агент (AI agent, программа, которая сама выбирает инструменты и выполняет цепочку действий для достижения цели), достаточно…

6 мин
OpenAI выпустила GPT Realtime 2.1: голосовые агенты рассуждают вслух втрое дешевле
ai

OpenAI выпустила GPT Realtime 2.1: голосовые агенты рассуждают вслух втрое дешевле

OpenAI 12 июня выпустила два голосовых ИИ-агента нового поколения, и младшая модель впервые умеет рассуждать в реальном времени, отвечая голосом втрое дешевле…

5 мин