Оплата по факту
Размещённый MCP-доступ без обязательств.
500 бесплатных вызовов каждый месяц
Ранний доступГрафовая база химических реакций
CyberRXN Base помогает искать химические трансформации, сравнивать исходные наблюдения и исследовать связи веществ. Подключайте базу через Python, CLI или MCP и получайте данные вместе с их происхождением и статусом проверки.
Уравнение после SynRBL
C(N1CCNC(=O)C1=O)C.C=O.Cl>>C(N1CCN(CO)C(=O)C1=O)C.[H+].[Cl-]
добавлено балансировкой
paragraph_text
To a solution of 1-ethylpiperazine-2,3-dione (2.13 g, 15 mmol) in 30% aqueous (methanol free) formaldehyde (15 mmol) potassium hydroxide (150 mg, 2.7 mmol) was added and the mixture stirred at 50° C. for 7 days. It was neutralized with 5 N aqueous hydrochloric acid (50 μl) to pH=7. The mixture was evaporated at 15 mm and then dried in high vacuo (0.0013 mbar) (0.001 mm) to give 1-ethyl-4-(hydroxymethyl)-piperazine-2,3-dione as a colourless solid (100%).
Температура · Почему это важно
Явно связана с выдерживанием реакционной смеси: «stirred at 50° C. for 7 days».
Рис. 1 — Макет интерфейса на реальной записи корпуса (US06482818B2_57). Каждое поле прослежено до абзаца патента; ошибки извлечения видны, а не исправлены молча.
01 — Корпус
Локальный снимок на основе USPTO: собран 26.10.2026, статистика повторно сверена 27.10.2026. Наблюдения, трансформации, наборы продуктов и молекулы — разные единицы, поэтому мы их не складываем.
1 256 084
наблюдений с условиями и источником
1 198 868
уникальных трансформаций (канонические реагенты → продукты)
1 081 490
наборов продуктов в индексе сходства
1 389 716
уникальных структур во всех ролях
7
MCP-инструментов на чтение
94
автоматических тестов проходят
Доля наблюдений с заполненным нормализованным полем.
1 100 997 из 1 256 084
1 124 673 из 1 256 084
45 075 из 1 256 084
28 540 из 1 256 084
Заполненное поле показывает покрытие извлечения, а не то, что значение относится к нужной стадии реакции.
911 43072,6 %
положительный автоматический вердикт химии
Импортированная исходная проверка, часто по уравнению после SynRBL. Не экспертная оценка.
5130,041 %
записей в карантине
Непарсящаяся исходная химия сохранена вместе с исходными полями и ошибками.
0
экспертных подтверждений
Сервис не присваивает их программно.
SQLite 7,3 GB + индекс сходства 349 MB · поставляются отдельно от кода
5 678 827 участий реагентов и продуктов · 1 868 232 участий агентов · 14 исходных отчётов с SHA256
02 — Зачем это нужно
Одна и та же трансформация может встречаться в нескольких источниках с разными условиями. CyberRXN Base сохраняет каждое наблюдение отдельно: вы видите конкретные значения, исходные поля и результаты автоматической обработки, а затем можете проверить первичный источник.
Получить найденный факт и понять, откуда он появился.
Одна каноническая трансформация
C=O.CCN1CCNC(=O)C1=O>>CCN1CCN(CO)C(=O)C1=O
Патент A · 2002
50 °C · давление неизвестно · агент Cl
Патент B · 2011
20–25 °C · 1 bar · растворитель: water
Патент C · 2017
температура неизвестна · агенты не указаны
Хранятся отдельными наблюдениями — никогда не сводятся к одному «лучшему» набору.
03 — Возможности
Всё перечисленное входит в версию 0.1 и одинаково работает из Python, CLI и MCP.
с картами атомов
[CH2:1]=[O:2].CCN1CCNC(=O)C1=O>>CCN1CCN([CH2:1][OH:2])C(=O)C1=O
другой порядок фрагментов
CCN1CCNC(=O)C1=O.C=O>>CCN1CCN(CO)C(=O)C1=O
канонический ключ
C=O.CCN1CCNC(=O)C1=O>>CCN1CCN(CO)C(=O)C1=O
SHA256 → 52bab621…bd32
Ищите по SMILES реакции, каноническим реагентам или продуктам. Нормализация учитывает порядок фрагментов и удаляет карты атомов из ключа, сохраняя стереохимию, заряды и соли.
search_reactions(temperature_min=20, temperature_max=30)
Неизвестное никогда не проходит числовой фильтр.
Фильтруйте наблюдения по температурному интервалу, давлению, агенту и метке растворителя. Пропуски остаются явно неизвестными; числовые значения сопровождаются единицами и происхождением.
Morgan r = 2 · 2048 бит · хиральность
Сходство ≠ осуществимость, выход или безопасность.
Найдите исходные наборы продуктов с похожим Morgan fingerprint и оценкой Tanimoto. Используйте результат для исследования корпуса; сходство структуры само по себе не подтверждает осуществимость реакции.
molecule_reactions(role="agent") · Граф одного наблюдения · до 1000 узлов
Найдите записи, где вещество встречается как реагент, продукт или агент. Получите JSON-граф выбранного наблюдения для анализа или визуализации в своём приложении.
imputed_components → algorithmic_balance
Получите нормализованные условия и сохранённые исходные поля по идентификатору. Различайте исходную реакцию, восстановленное уравнение и программно добавленные компоненты.
Импорт JSONL: прогнозы моделей с версией, бинами и вероятностями
Используйте общий сервис из Python, CLI и MCP-клиентов. Передавайте результаты внешних моделей через JSONL как отдельные наблюдения с версией, бинами и вероятностями.
04 — Как это работает
SMILES, температурный интервал, давление или участие вещества.
Выдача содержит структуры, условия и статусы; стабильная пагинация до 100 на страницу.
Перейдите к исходным полям, происхождению, автоматической проверке и графу записи.
Подключите Python, CLI или MCP; применимость оценивайте после проверки источника.
05 — Интеграция
SQLite хранит данные и связи, RDKit отвечает за структуры, а единый сервис предоставляет Python API, CLI и MCP. Локальный stdio подходит для одной машины; Streamable HTTP с Bearer-токеном и Docker-конфигурация — для собственного сервера.
Один и тот же Service под всеми интерфейсами — поиск, карточки и графы в виде обычных словарей.
readOnlyHint = true; SQLite открывается в mode=ro с query_only. Импорта, правки и удаления через MCP нет.
Локальные ИИ-клиенты — по stdio, удалённые — по HTTPS /mcp с заголовком Authorization: Bearer.
CSV-отчёты и JSONL (включая прогнозы моделей) через CLI и Python, с атомарной публикацией.
from reaction_kb.service import Service
with Service("data/reactions.sqlite") as kb:
result = kb.search_reactions(
products="CC=O", temperature_min=20, temperature_max=30, limit=5
)
for item in result["items"]:
details = kb.get_observation(item["observation_id"], include_raw=True)
graph = kb.graph(item["observation_id"])Пример показывает программный API и не является рекомендацией химической реакции.
{
"match": "exact_original_transformation",
"agents_used_in_identity": false,
"items": [{
"observation_id": "6d5502d7d4006bdc…",
"reaction_id": "52bab621ec95bd4f…",
"reaction_smiles": "C=O.CCN1CCNC(=O)C1=O>>CCN1CCN(CO)C(=O)C1=O",
"conditions": {
"temperature": { "value": 50, "min": 50, "max": 50, "unit": "C",
"status": "extracted", "raw": "50° C" },
"pressure": { "value": 0.000001, "unit": "bar", "kind": "unknown",
"status": "extracted", "raw": "0.0013 mbar" },
"agents": { "smiles": "Cl", "solvent_label": "methanol",
"catalysts": null, "roles_resolved": false, "status": "reported" }
},
"evidence": { "kind": "patent_extraction", "patent": "US06482818B2",
"year": 2002, "expert_confirmed": false },
"validation": { "upstream_chemistry_valid": true, "applies_to": "rebalanced",
"conditions_validated": false },
"balancing": { "solved": true, "method": "rule_based",
"confidence": null, "confidence_calibrated": false }
}],
"has_more": false
}| Инструмент | Обязательно | Результат |
|---|---|---|
| stats | — | Размеры корпуса, покрытие условий, карантин, версия схемы, состояния импорта |
| search_reactions | — | Страница наблюдений, подходящих под все фильтры (AND) |
| lookup_reaction | reaction_smiles | Наблюдения точной канонической трансформации |
| get_observation | observation_id | Полная карточка, источник и абзац; исходные поля по запросу |
| similar_products | smiles | Похожие наборы продуктов, Tanimoto и примеры наблюдений |
| molecule_reactions | smiles | Наблюдения, где молекула — реагент, продукт или агент |
| graph | observation_id | Узлы и направленные связи одного наблюдения |
06 — Происхождение
Исходные поля сохраняются вместе с записью. Неизвестные условия не превращаются в значения по умолчанию. Автоматически восстановленные уравнения и результаты внешних моделей отделены от исходных сведений, а статус проверки показывает, что именно проверялось.
Импорт
10 шардов отчётов + 4 repair-файла
Сверка
record_id и SHA256 каждого отчёта
Канонизация
Канонические SMILES через RDKit
Карантин
Непарсящаяся химия сохраняется, а не «чинится»
Хранение
SQLite с таблицами участия
Индекс
mmap-индекс Morgan fingerprints
✓импортпрочитано 1 338 346 строк · 82 261 повтор заменён по record_id
✓сверка1 256 084 уникальных записи · row_0…row_1256083 без пропусков
✓канонизациякарты атомов вне ключа · стереохимия, заряды, соли сохранены
✓карантин513 записей сохранены с исходными полями и ошибками (0,041%)
✓хранение5 678 827 участий · integrity_check ok
✓индекс1 081 490 наборов продуктов · 349 МБ · ревизия manifest проверена
Отчёт, строка происхождения и SHA256 исходного файла остаются у каждого наблюдения.
null и unknown вместо выдуманной точности — никакой комнатной температуры или атмосферного давления по умолчанию.
Исходная структура, SynRBL-уравнение и модельные данные разделены, у каждого — свой вид доказательства.
Корпус содержит автоматически извлечённые данные и требует проверки первичного источника. Автоматическая проверка не заменяет экспертную химическую оценку.
07 — Скорость
Точный поиск использует B-tree-индексы; сходство продуктов перебирает только кандидатов после popcount-фильтра в mmap-индексе.
Локальные измерения 26.10.2026, без SLA. Python Service без JSON и транспорта (MCP измерялся отдельно), по 30 запросов, Windows 10, Python 3.11.2, SQLite 7,3 ГБ; кэш ОС не сбрасывался, оборудование не стандартизировано.
08 — Для кого
Найти трансформацию и сравнить наблюдения
→ Структуры, условия и исходная запись для дальнейшей проверки
Исследовать участие веществ и похожие продукты
→ Канонические SMILES, Morgan/Tanimoto и JSON-граф
Подключить корпус реакций к ассистенту
→ Семь MCP-инструментов и ограниченная структурированная выдача
Добавить источник или прогнозы внешней модели
→ JSONL-контракт и раздельное происхождение наблюдений
Развернуть поиск в собственном окружении
→ Локальный режим, контейнеры, HTTPS с Bearer-токеном
Предполагаемые сценарии по возможностям кода, а не список существующих клиентов или внедрений.
09 — Что дальше
Версия 0.1 — это фундамент. Мы будем расширять продукт и дополнять информацию здесь по мере того, как каждая возможность будет готова и проверена.
Опишите превращение или ограничения словами — и получите подходящие сохранённые наблюдения.
Интерфейс поиска с редактором структур, карточками наблюдений и интерактивным графом.
SMARTS-подструктуры, названия IUPAC/CAS и синонимы молекул.
Управляемый эндпоинт с личными ключами, ролями и SSO.
Время, выход, pH, атмосфера, год и номер патента как полноценные фильтры.
Дополнительные источники и процесс экспертного подтверждения наблюдений.
Цифры на этой странице относятся к снимку 26–27.10.2026 и будут обновляться с каждой новой проверенной сборкой.
10 — Вопросы
11 — Тарифы
Платите за вызовы, подпишитесь на предсказуемый объём или лицензируйте развёртывание у себя. Условия раннего доступа — окончательные цены появятся вместе с размещённым доступом.
Размещённый MCP-доступ без обязательств.
500 бесплатных вызовов каждый месяц
Ранний доступДля химиков и хемоинформатиков.
20 000 вызовов / мес. включено, далее $3 за 1 000
Ранний доступОбщий доступ для исследовательских и дата-команд.
150 000 вызовов / мес., далее $2 за 1 000 · доп. ключ $39
Ранний доступРазвёртывание у себя и лицензии на корпус.
Лицензия согласуется под развёртывание
Связаться с намиОбсудим ваш корпус, необходимые фильтры и способ интеграции — Python, CLI или MCP.