covnmr_rank_candidates
Rank several candidate structures against one measured spectrum.
GIVE `path` IF YOU HAVE THE FILE. It is not a convenience -- it is the
difference between a ranking and a wrong ranking. Two axes exist: peak-list
overlap, and overlap of the full predicted curve against the measured one.
Only `path` makes the curve axis available.
Measured through this route in production on a real 13C APT of a
triterpene (correctly phased), ranking the correct structure against
n-hexadecane and glucose:
structure curve_score peak axis (evidence LLR)
correct 0.3697 22.8 <- rank 1 on both
glucose 0.0777 -6.6
n-hexadecane 0.0618 -3.8
With `path` the order is the curve axis and each row says whether the peak
axis agrees (`agreement`). With a peak list only, the order is the evidence
log-likelihood ratio (`ranking_basis` "evidence_log_likelihood_ratio"; each
row also carries its own `verdict` and `evidence_z`). The peak axis declines
-- `ranking_basis` "declined_unassessable_peak_list", every `rank` null,
`ranking_decline_reason` saying why -- when a candidate's evidence cannot be
computed (19F/31P) or was predicted by the fallback predictor.
So: read `ranking_basis` before reading `ranked`. A null `rank` is the tool
declining to answer, not a tie.
Candidates: `candidates_csv` ("CCO,CC(=O)O") or `candidates_json` (a JSON
array). Spectrum: `path`, else `peaks_json` / `experiments_json` for the
peak axis only. Capped at `max_candidates` (50) -- the curve axis renders a
predicted spectrum per candidate.
With `path` the FILE decides nucleus, solvent and field, and says so in
`nucleus_scored` / `nucleus_source`. Without one, a peak list that declares
its own nucleus outranks the `nucleus` argument, as in covnmr_verify_peaks.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| api_key | No | ||
| nucleus | No | ||
| solvent | No | CDCl3 | |
| field_mhz | No | ||
| peaks_json | No | ||
| tolerance_ppm | No | ||
| candidates_csv | No | ||
| max_candidates | No | ||
| candidates_json | No | ||
| experiments_json | No |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |