Skip to content

ggeorg0/molecule-design-hack

Repository files navigation

Molecule Design Hack

Инструмент, генерирующий офтальмологические препараты с использованием обучения с подкреплением (Reinforcement Learning)

  1. Реализованы модели для предсказания свойств лекарственных препаратов
  2. RL-модель генерации молекул учитывает свойства капель и связывание с белком COX-2
  3. Лучшие молекулы отбираются по критериям SAscore, QED

Проект разработан в рамках хакатона ПРОСТО x СБЕР x ИТМО

image

Об обучении моделей

Для подсчета reward-а для RL-модели, мы используем классический Machine Learning для предсказания свойств молекул.

Свойства:

  • Проницаемость через роговицу. Капли должны преодолеть естественный барьер роговицы, чтобы достичь эффекта.
    • Данное свойство было посчитано с помощью модели ExtraTreesRegressor
  • Связывание с меланином. Позволяет лекарству дольше оставаться в тканях глаза, продлевая действие капель.
    • Данное свойство было посчитано с помощью модели XGBoostClassifier
  • Раздражение. Симптом раздражения глаз означает, что лекарство имеет токсическую нагрузку на организм.
    • Данное свойство было посчитано с помощью модели RandomForest

Также, предварительно были посчитаны дескрипторы для молекул в формате SMILES с помощью библиотеки RDKit.

Требования

  • Python 3.10+
  • ОС: Linux, macOS, Windows
  • Conda

Установка (Linux)

Клонируйте этот репозиторий и спуститесь в его директорию

git clone https://github.com/ggeorg0/molecule-design-hack.git
cd molecule-design-hack

Клонируйте репозиторий REINVENT 4

git clone https://github.com/MolecularAI/REINVENT4.git

Создайте окружение в Conda

conda create -n "hack" python=3.10
conda activate hack

Установите зависимости

pip install -r requirements.txt
pip install -r REINVENT4/requirements-linux-64.lock

Последняя версия REINVENT 4 требует установки утилиты iSIM, которая не включена по-умолчанию в требованиях для установки REINVENT 4. Утилиту необходимо поставить с помощью следующих команд:

conda config --add channels conda-forge
conda config --set channel_priority strict
conda install isim

Наконец, можно установить сам пакет reinvent из локального репозитория:

pip install ./REINVENT4

Семплинг молекул на основе обученых моделей

Чтобы запустить процесс обучения с подкреплением для генерации молекул, необходимо активировать окружение conda, а также экспортировать путь для интерпретатора Python, чтобы REINVENT 4 мог корректно найти метрики, реализованные в этом репозитории.

conda activate hack
export PYTHONPATH=$(env)

1 Этап. Дообучение модели reinvent с подкреплением с оценкой обученых моделей.

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

reinvent reinvent_config/rl_stage_1.toml

2 Этап. Дообучение модели reinvent с использованием энергии связывания

reinvent reinvent_config/rl_stage_2.toml

Молекулы, которые были сгенерированы в результате такого семплинга будут находиться в папке rl_stage2_1.csv

Данные

Данные белка COX-2 и данные для вычисления проницаемости через роговицу, связывания с меланином и раздражения, были предоставлены сотрудниками Центра ИИ в химии.

Пример данных проницаемости через роговицу

SMILES logPerm
CC1CC2C3CCC(C3(CC(C2(C4(C1=CC(=O)C=C4)C)F)O)C)(C(=O)C)O 5.135798437050
CC(C1=CC(=C(C=C1)C2=CC=CC=C2)F)C(=O)O 5.347107530717

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •