CyberRXN Docs
Химия и данные

Валидация и атомная балансировка

Правила R1–R8, полное сохранение атомов и явные дополнения модели.

Строгая проверка

validate_reaction / POST /v1/chemistry/validate использует пакет reaction-validation и дополнительно проверяет все атомы, водород/изотопы и формальный заряд. Передайте reaction_smiles; режим по умолчанию — strict.

Необязательные conditions: temperature_c_min, temperature_c_max, ph, time_hours, pressure_bar. Поля патента и года помогают проверять источник. Неизвестные условия пропускайте, а не выдумывайте. include_agents_in_balance:false исключает среднюю часть SMILES из баланса расходуемых реагентов; действительно расходуемое вещество нужно указать слева.

{"reaction_smiles":"CCO>>CC=O","mode":"strict"}

В этом примере тяжёлые атомы и заряд совпадают, но водород — нет: в C₂H₆O → C₂H₄O разница ΔH = −2. Одной проверки тяжёлых атомов из исходного пакета недостаточно для полного баланса. Смотрите atom_balance, errors, warnings, validator.version, limitations.

Режим training может сохранять предупреждения при обработке датасета. Для принятия реакции используйте строгие проверки: допуск в обучающем режиме не доказывает полноту уравнения.

Коэффициенты переданных веществ

{"reaction_smiles":"[H][H].O=O>>O","method":"coefficients"}

balance_reaction находит точные положительные целые коэффициенты и не придумывает недостающее вещество. Читаемый результат: 2 H₂ + O₂ → 2 H₂O. Возможны состояния already_balanced, balanced, unsolved, ambiguous, invalid, limit_exceeded. При неоднозначности инструмент не подставляет произвольную химию.

Восстановление компонентов через SynRBL

{"reaction_smiles":"CC(=O)OCC>>CC(=O)O.CCO","method":"synrbl"}

Изолированный SynRBL может предложить недостающую воду слева. Ответ показывает imputed_species, imputed_reactants, imputed_products, диагностику модели и повторную валидацию. Сохраняйте исходное уравнение и отмечайте каждое дополнение как алгоритмическое.

Вызов модели ограничен по входу, времени, памяти и числу одновременных запусков. Если модель занята, недоступна или превысила срок, возвращается структурированная ошибка сервиса. Она не превращается в пустой или успешный баланс. Подбор коэффициентов работает независимо.

Сходящийся баланс подтверждает только согласованность подсчёта. Он не проверяет кинетику, селективность, выход, достоверность источника или факт эксперимента.

На этой странице