Skip to content

ayayankina/atom-mapping-ensemble

Repository files navigation

atom-mapping-ensemble

Исследовательский проект по atom-to-atom mapping химических реакций.

В рамках проекта воспроизводился подход AMNet, проводилось сравнение с LocalMapper и строилось ансамблевое решение на основе предсказаний двух моделей.

О задаче

Atom-to-atom mapping — это задача сопоставления атомов реагентов и продуктов в химической реакции. Такое сопоставление используется для анализа реакционных механизмов, построения реакционных шаблонов, retrosynthesis prediction и других задач машинного обучения в химии.

Идея проекта

В проекте рассматриваются два подхода к atom-to-atom mapping:

  • AMNet — deep graph matching подход, в котором молекулы представляются как графы, а модель строит матрицу соответствий между атомами реагентов и продуктов.
  • LocalMapper — ML-подход к atom mapping, основанный на химически размеченных реакциях.

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

Стек

  • Язык: Python
  • ML / DL: PyTorch, PyTorch Geometric
  • Хемоинформатика: RDKit, SMILES, reaction SMILES
  • Графовые модели: GNN, GIN, graph matching
  • Данные и анализ: pandas, NumPy
  • Эксперименты: Jupyter Notebook, Python scripts

Структура репозитория

Папка / файл Содержание
Atom_matching_network/ Воспроизведение и адаптация подхода AMNet
Atom_matching_network/AMNet/ Компоненты архитектуры модели
Atom_matching_network/dataset/ Подготовка данных и молекулярных графов
Atom_matching_network/train/ Скрипты обучения модели
Atom_matching_network/Test/ Тестирование и проверка модели
Atom_matching_network/utils/ Вспомогательные функции
experiment1/ Результаты одного из экспериментов
experiment_folds_0–4/ Результаты экспериментов по нескольким фолдам
full work.ipynb Ноутбук с основным ходом работы
environment.yml Описание окружения

Что было сделано

  • изучен подход AMNet к atom mapping через deep graph matching;
  • воспроизведена часть пайплайна AMNet;
  • подготовлены данные реакций для работы с моделью;
  • реакции представлены в виде молекулярных графов;
  • рассчитаны признаки атомов и связей с использованием RDKit;
  • проведены эксперименты с обучением и проверкой модели;
  • получены и проанализированы предсказания atom mapping;
  • результаты AMNet сравнивались с предсказаниями LocalMapper;
  • построен ансамблевый подход на основе двух моделей;
  • результаты экспериментов сохранялись и анализировались по фолдам.

AMNet

Воспроизводимая часть проекта основана на подходе AMNet, где atom mapping рассматривается как задача сопоставления двух графов: графа реагентов и графа продуктов.

В рамках работы:

  • молекулы переводились в графовое представление;
  • атомы рассматривались как вершины графа;
  • связи между атомами рассматривались как рёбра;
  • для атомов и связей рассчитывались признаки;
  • модель строила матрицу соответствий между атомами реагентов и продуктов;
  • качество сопоставления оценивалось по метрикам accuracy и hits@k.

LocalMapper

LocalMapper использовался как второй подход для сравнения и ансамблирования.

В рамках проекта результаты LocalMapper сопоставлялись с результатами AMNet, после чего анализировались совпадения, различия и возможность объединения предсказаний двух моделей.

Ансамблевый подход

Ансамблевое решение строилось на основе предсказаний AMNet и LocalMapper.

Цель ансамблирования — проверить, можно ли улучшить качество atom mapping за счёт объединения двух разных подходов: graph matching модели и отдельной ML-модели для atom mapping.

Эксперименты

В репозитории сохранены результаты нескольких запусков:

  • experiment1/;
  • experiment_folds_0/;
  • experiment_folds_1/;
  • experiment_folds_2/;
  • experiment_folds_3/;
  • experiment_folds_4/.

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

References

About

Воспроизведение AMNet и ансамблирование с LocalMapper для atom-to-atom mapping химических реакций

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors