Победители хакатона запускают пилот для химиков
В ноябре 2019 года состоялся хакатон Hack.Genesis, в котором участвовали 130 человек и две компании-партнеры — ЦВТ «ХимРар» и технологическая компания UMA.TECH. Представитель победителя трека «ХимРар», команды Chain++, Анна Чухнина рассказывает о киллер-фичах их решения и работе над запуском пилота.
На работу с научными статьями и патентами, в которых встречаются формулы веществ, химики тратят порядка 2.5 часов в день: чтобы найти информацию о молекулах в электронных библиотеках, приходится вручную вводить громоздкие формулы в «правильном» формате.
Проблема существует не один год, поэтому компания «ХимРар» поставила на хакатон задачу создать прототип, который распознает химическую формулу вещества по фотографии.
Требования к конечной версии продукта были следующими:
- реализация на Android и IOS;
- распознавание нарисованной рукой структуры молекулы;
- наличие редактора структур;
- способность генерировать формулу в формате SMILES или в другой номенклатуре по фотографии.
Что такое формат SMILES?
Одним из способов записи химической формулы является SMILES-кодирование, которое решает проблему соответствия одной формуле нескольких веществ. Такая сложность существует из-за изомерии — отличия в пространственном расположении атомов в молекулах с одинаковой молекулярной формулой.
SMILES расшифровывается как Simplified Molecular-Input Line-Entry Specification (Спецификация Упрощенного Представления Молекул в Строке Ввода) и используется при работе молекулярных редакторов и электронных баз данных химических соединений. Cтрока SMILES однозначно преобразуется в структурную двумерную или трёхмерную молекулярную формулу.
Если добавить лишний или потерять символ (O1C=CC=C1C=O ⇎ O1C=CCC1CO ) при введении структурной формулы, найти молекулу не удастся. Подробнее с принципами SMILES можно ознакомиться по ссылке.
Решение поставленной задачи
Наша команда разработала решение, которое определяет по фотографии строение органических веществ, состоящих из атомов углерода и водорода, и переводит их в формат SMILES. Если же в молекулах присутствуют другие атомы или у фотографии низкое качество, можно вручную провести корректировку с помощью диалоговых команд.
В будущем мы планируем переводить любые органические молекулы за доли секунды в SMILES с учетом зарядов атомов, хиральности и изомерии молекул.
Идея прототипа появилась прямо на хакатоне. Нам удалось создать функциональный, насколько это возможно за два дня, MVP. На основании проведенного custdev среди химиков-органиков возникло представление об интерфейсе.
Изначально планировалось использование сверточных нейронных сетей (CNN), которые несколько лет назад взорвали мир computer vision. Для их применения требуется большой размеченный датасет, и в дальнейшем длительное переобучение, что может вызвать проблемы на практике.
В итоге, наша команда выбрала классический алгоритм computer vision — преобразование Хафа, которое применяется для распознавания фигур на изображении; за основу решения использовался открытый исходный код OpenCV.
Вся задача сводилась к распознанию прямых линий между атомами, которые соответствуют химическим связям, их взаимного расположения и информации об узлах.
«ХимРар» запросил простой функционал решения, поэтому мы упаковали все наработки в виде телеграм-бота: химик загружает фотографию молекулы в чат с ботом, где можно вручную редактировать неточности алгоритма. Таким образом, наша команда представила не просто «распознавалку», а полноценную демо-версию бота с проработанным интерфейсом.
На данный момент состоялись три встречи с представителями компании «ХимРар», после которых мы подписали договор о запуске пилота и определили срок сдачи доработки — конец января 2020 года.
Бэкграунд команды
Наша команда состоит из трех человек: я работаю со стартапами на стыке биотехнологий и IT; Михаил Коновалов занимается Python разработкой и является бронзовым призером Kaggle Competition по предсказанию свойств молекул – оба закончили химфак МГУ; и Алексей Агафонов - студент МФТИ, разработчик. Для меня и Алексея Hack.Genesis не был первым хакатоном – мы уже участвовали в хакатонах от Phystech.Genesis. Для Михаила же это был первый опыт и сразу победный.
Сейчас наша команда работает над созданием рентабельного для бизнеса продукта, который может перерасти в стартап и увеличить прибыль «ХимРара». Все это стало возможным благодаря опыту каждого из нас в сфере программирования, компьютерного зрения, биотехнологии, химии, машинного обучения и работы с бизнес-проектами.