Химинформатика
Биотех и фармакология
Система поиска химических соединений и проектирования химических реакций
Создали высокопроизводительный инструмент для поиска химических соединений и моделирования реакций для крупной исследовательской компании. Решение позволило интегрировать систему в существующую инфраструктуру, ускорить фармакологические исследования и улучшить точность результатов.
Клиент
Крупная коммерческая исследовательская компания, специализирующаяся на разработке новых химических соединений и реакций.
Команда
Разработчики, аналитики и тестировщики совместно работали над созданием и оптимизацией системы.
Общие задачи
Быстрый и точный поиск химических соединений в обширных базах данных.
Моделирование возможных химических реакций для ускорения процессов разработки.
Критическая необходимость точности и скорости фармакологических исследований.
Кейс 1
Поиск в базе данных химических соединений
Задача
Клиенту была необходима система, способная быстро и точно находить химические соединения в базе данных, чтобы ускорить процесс научных исследований и разработок. Необходимо было создать инструмент, который мог бы интегрироваться в существующую инфраструктуру и обеспечить высокую производительность.
Процесс работы
Мы начали с анализа требований клиента, что оказалось непростой задачей из-за их нечеткости и некоторых противоречий. На многочисленных встречах и консультациях мы сформировали точное техническое задание. Создание базового прототипа поисковой системы, включавшего основные функции, позволило нам получить первоначальную обратную связь от клиента и внести необходимые корректировки.
Основной технический вызов заключался в оптимизации скорости поиска. Мы применили графовые алгоритмы для построения хэшей химических соединений. Это значительно повысило производительность системы. Проведение обширного тестирования позволило выявить и устранить узкие места, что обеспечило стабильность и высокую производительность системы.
Интеграция в существующую инфраструктуру клиента потребовала адаптации нашей разработки к их бизнес-логике и текущим процессам. Мы разделили монолитную систему на микросервисы, что обеспечило гибкость и возможность масштабирования.
Технологии
Java и Angular
для стабильности и производительности как на стороне фронтенда, так и бэкенда.
API-интеграция
с медицинской информационной системой клиники для обработки данных пациентов в реальном времени.
Мобильная адаптация
Мы разработали адаптивную верстку, которая позволила сделать личный кабинет удобным для пользователей на мобильных устройствах, планшетах и ПК.
Кейс 2
Моделирование и поиск химических реакций
Задача
Задача заключалась в создании инструмента, который не только облегчит поиск химических соединений, но и предоставит пользователям возможность предсказывать результаты взаимодействий, повышая точность исследований. Такая система позволила бы моделировать теоретические результаты химических реакций.
Процесс работы
Мы поняли, что существующие решения не удовлетворяют требованиям клиента, и решили создать специализированный язык для описания химических реакций (DSL). Этот язык включал выбор катализаторов и расчет пропорций, что значительно упростило процесс моделирования.
Разработка backend-сервиса на базе библиотеки Indigo позволила нам обрабатывать и хранить данные о химических реакциях. Мы создали систему, которая позволяла вводить данные о реакциях, получать теоретические результаты и сохранять их для дальнейшего использования.
Обширное тестирование и оптимизация системы, включая разработку тестовых кейсов для различных сценариев использования, позволили нам выявить и устранить узкие места. Мы задокументировали все логики и примеры, включая результаты тестирования, чтобы обеспечить прозрачность и воспроизводимость процессов.
Технологии
Прогнозирование химических реакций
Использование готовых алгоритмов для предсказания результатов химических реакций.
Специализированный язык DSL
Уникальный язык для описания химических реакций, включающий выбор катализаторов и расчет пропорций.
Библиотека Indigo
Надежная основа для обработки и хранения данных о химических реакциях.
Вызовы и их преодоление
Неполные и противоречивые требования клиента
Регулярное взаимодействие с клиентом и экспертами позволило уточнить и доработать требования, что помогло избежать недоразумений и обеспечить точное соответствие ожиданиям.
Оптимизация скорости поиска
Применение графовых алгоритмов для построения хэшей химических соединений значительно повысило скорость поиска.
Отсутствие готовых решений для моделирования реакций
Мы разработали собственный DSL и использовали библиотеку Indigo для построения и обработки химических реакций.
Интеграция в существующую систему
Адаптация наших разработок к бизнес-логике и текущим процессам клиента обеспечила беспрепятственную интеграцию в существующую инфраструктуру.
Результаты
Функциональная поисковая система, полностью соответствующая требованиям клиента.
Высокоэффективная система для моделирования и поиска химических реакций.
Улучшенная производительность, скорость и точность поиска по химическим соединениям.
Расширение функционала – новые инструменты, соответствующие бизнес-целям.
Гибкость благодаря микросервисной архитектуре.
Уникальный язык DSL для описания реакций.
Выводы
Этот проект продемонстрировал важность детального анализа требований и регулярной обратной связи с клиентом, особенно в таких сложных и специализированных областях, как фармакология и химия. Наличие экспертов в узкоспециализированных областях значительно повысило качество конечного продукта и позволило нам учитывать все специфические потребности клиента.
Преимущества микросервисной архитектуры для обеспечения масштабируемости и гибкости системы оказались крайне полезными. Этот подход не только улучшил производительность и надежность системы, но и облегчил её интеграцию в существующую инфраструктуру клиента.
Автоматизация процессов, таких как поиск и моделирование химических реакций, значительно повысила эффективность работы команды клиента и сократила время на проведение исследований. Разработка специализированных инструментов, таких как DSL для описания химических реакций, улучшила функциональные возможности системы и упростила её использование.
Этот проект подчеркнул важность тесного взаимодействия с клиентом и экспертами на всех этапах разработки, что позволило достичь высоких результатов и удовлетворить все требования клиента.
Предыдущий кейс
Система автоматизации образовательного процесса БаРС
Следующий кейс
Система сравнения трехмерных моделей