covnmr_sudoku
Assign every atom of a KNOWN molecule from several experiments at once (1H, 13C, APT, DEPT-135, DEPT-90, HSQC, HMBC, COSY), by constraint propagation across all of them.
Absorbs the retired covnmr_multi_analyze (`output="table"`: one row per
atom, per-experiment summaries, publication NMR strings, and the atoms
nothing could be assigned to with a reason) and the 2D form of
covnmr_assign (`paths_2d`: [{"experiment": "HSQC"|"HMBC"|"COSY",
"path": "<url>"}]). Default `output="assignments"` returns the solver's
assignment with `explanation`, which says why atoms stayed unassigned.
The carbon-edited slots say different things: an APT shows every carbon
and separates them by the PARITY of the proton count; a DEPT-135 shows only
protonated carbons (CH2 negative); a DEPT-90 shows CH only. Supply a
DEPT-135 together with a plain 13C whenever you have both: the quaternary
carbons come from the difference. The file decides which sequence it is --
a spectrum in the wrong slot is analysed as what it is and named in
`experiment_warnings`, as is every experiment that did not enter the
solve. `path` takes one 1D file whose own nucleus picks the slot.
Omit `tolerance_ppm` and each experiment gets its nucleus' window (1H 0.3
ppm, 13C 3.0). In the table, `sudoku_result.verdict` is the most cautious
of the per-nucleus verdicts; `match_score` is coverage and decides nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| output | No | ||
| smiles | Yes | ||
| api_key | No | ||
| path_1h | No | ||
| solvent | No | CDCl3 | |
| max_rows | No | ||
| path_13c | No | ||
| path_apt | No | ||
| paths_2d | No | ||
| field_mhz | No | ||
| path_cosy | No | ||
| path_dept | No | ||
| path_hmbc | No | ||
| path_hsqc | No | ||
| path_dept90 | No | ||
| path_dept135 | No | ||
| tolerance_ppm | No | ||
| max_crosspeaks | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |