Инструмент, генерирующий офтальмологические препараты с использованием обучения с подкреплением (Reinforcement Learning)
- Реализованы модели для предсказания свойств лекарственных препаратов
- RL-модель генерации молекул учитывает свойства капель и связывание с белком COX-2
- Лучшие молекулы отбираются по критериям SAscore, QED
Проект разработан в рамках хакатона ПРОСТО x СБЕР x ИТМО
Для подсчета reward-а для RL-модели, мы используем классический Machine Learning для предсказания свойств молекул.
- Проницаемость через роговицу. Капли должны преодолеть естественный барьер роговицы, чтобы достичь эффекта.
- Данное свойство было посчитано с помощью модели ExtraTreesRegressor
- Связывание с меланином. Позволяет лекарству дольше оставаться в тканях глаза, продлевая действие капель.
- Данное свойство было посчитано с помощью модели XGBoostClassifier
- Раздражение. Симптом раздражения глаз означает, что лекарство имеет токсическую нагрузку на организм.
- Данное свойство было посчитано с помощью модели RandomForest
Также, предварительно были посчитаны дескрипторы для молекул в формате SMILES с помощью библиотеки RDKit.
- Python 3.10+
- ОС: Linux, macOS, Windows
- Conda
Клонируйте этот репозиторий и спуститесь в его директорию
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.10conda activate hackУстановите зависимости
pip install -r requirements.txtpip 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)Оценкой качества сгенерированных молекул является среднеквадратичная оценка из предсказаний моделей предсказывающих проницаемость через роговицу, связывание с меланином и раздражение глаза, о которых говорилось в предыдущих пунктах. Для того, чтобы запустить семплинг, нужно выполнить команду:
reinvent reinvent_config/rl_stage_1.tomlreinvent 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 |