После шести с половиной лет разработки увидела свет первая стабильная версия универсального SDK для химической информатики под названием Indigo. История Indigo как проекта с открытыми исходниками ведёт отсчёт от ноября 2009 года, когда был опубликован комплект утилит с ограниченным API.
На данный момент Indigo предоставляет унифицированный программный интерфейс для разработчиков на C/C++, Java, C# и Python. Краткий список возможностей:
- Поддержка форматов представления структур молекул и реакций: Molfile, Rxnfile, SDF, RDF, CML, SMILES, SMARTS
- Двумерный рендеринг структур молекул и реакций по стандартам IUPAC (в качестве движка используется cairo). Автоматическое вычисление координат атомов в 2D
- Вычисление «Canonical SMILES» — представления молекулярной структуры, инвариантного относительно перестановок атомов
- Проверка точного совпадения структур молекул или реакций (Exact matching), проверка наложения по подструктуре (Substructure matching)
- Поддержка таутомеров и резонансных форм
- Вычисление битовых кодов структур (fingerprints)
- Процедуры перебора подграфов, поддеревьев, колец в молекулярной структуре
- Вычисление молекулярного веса и молекулярной формулы
- Разложение структур по заместителям (R-Group deconvolution). Автоматическое определение максимальной общей подструктуры (MCS) множества структур.
- Комбинаторный перебор продуктов химической реакции
На основе Indigo создан Bingo — картридж для Oracle и MS SQL Server, представляющий возможности Indigo пользователям этих реляционных СУБД; в первую очередь быстрый поиск структур молекул и реакций по подструктуре и по SMARTS-выражению. Картридж для PostgreSQL находится в разработке.
Также на основе Indigo созданы следующие небольшие утилиты:
- indigo-depict — для рендеринга молекул и реакций в PNG/SVG/PDF/EPS
- indigo-cano — для вычисления Canonical SMILES
- indigo-deco — для разложения структур по заместителям
- ChemDiff — для просмотра структур и нахождения различий между двумя наборами структур
- Legio — для перебора продуктов реакции
В результате сотрудничества с командой KNIME эта открытая платформа для анализа данных, построенная на базе Eclipse, приобрела расширения для работы с химическими структурами, сделанные на базе Indigo.
Все продукты распространяются на условиях GPLv3 аутсорсинговой компанией GGA Software Services. Офис по разработке находится в Санкт-Петербурге. На сайте компании доступны сборки библиотек и утилит для Linux, Windows и Mac OS X.
>>> Подробности