NMR
Completed results expose both chemical shifts and typed J-coupling predictions through
result.predicted_couplings.
NMR workflow - predict Nuclear Magnetic Resonance spectra.
NMRCoupling
dataclass
NMRCoupling(nuclei: tuple[int, int], atom_pairs: tuple[tuple[int, int], ...], bond_distance: int, coupling: float, uncertainty: float | None, conformer_deviation: float | None, model: str)
Predicted scalar coupling between symmetry-equivalent atom pairs.
Attributes:
| Name | Type | Description |
|---|---|---|
nuclei |
tuple[int, int]
|
atomic numbers of the coupled nuclei |
atom_pairs |
tuple[tuple[int, int], ...]
|
symmetry-equivalent pairs of 0-indexed atom indices |
bond_distance |
int
|
number of bonds separating the nuclei |
coupling |
float
|
predicted coupling constant, in Hz |
uncertainty |
float | None
|
model uncertainty, in Hz |
conformer_deviation |
float | None
|
standard deviation across conformers, in Hz |
model |
str
|
model used for the prediction |
NMRResult
dataclass
NMRResult(workflow_data: dict[str, Any], workflow_type: str, workflow_uuid: str, complete: bool = True)
Bases: WorkflowResult
Result from a Nuclear Magnetic Resonance (NMR) workflow.
chemical_shifts
property
Per-atom NMR chemical shifts (Boltzmann-weighted ensemble average).
Index corresponds to atom index in the molecule. Returns None for atoms without NMR-active nuclei (e.g., oxygen).
per_conformer_chemical_shifts
property
Chemical shifts for each conformer before Boltzmann averaging.
Outer list is per-conformer, inner list is per-atom.
boltzmann_weights
property
Boltzmann weights for each conformer (sum to 1.0).
predicted_peaks
property
Predicted NMR peaks grouped by nucleus atomic number.
Keys are atomic numbers (1 for 1H, 6 for 13C). Peaks with equivalent atoms are merged and shifts are averaged.
predicted_couplings
property
Predicted scalar coupling constants.
submit_nmr_workflow
submit_nmr_workflow(initial_molecule: StructureInput, solvent: SolventInput = 'chloroform', do_csearch: bool = False, do_optimization: bool = True, name: str = 'NMR Workflow', folder_uuid: str | None = None, folder: Folder | None = None, max_credits: int | None = None, webhook_url: str | None = None, is_draft: bool = False) -> Workflow[NMRResult]
Submits a Nuclear Magnetic Resonance (NMR) prediction workflow to the API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
initial_molecule
|
StructureInput
|
molecule to predict NMR spectra for |
required |
solvent
|
SolventInput
|
solvent for NMR calculation (default: chloroform). Must be an NMR-supported solvent (see rowan.NMR_SUPPORTED_SOLVENTS); others raise ValueError. A solvated AIMNet2 singlepoint reweights the conformer ensemble, using CPCM-X where supported and otherwise ALPB |
'chloroform'
|
do_csearch
|
bool
|
whether to perform a conformational search. Requires do_optimization |
False
|
do_optimization
|
bool
|
whether to optimize conformer geometries |
True
|
name
|
str
|
name of the workflow |
'NMR Workflow'
|
folder_uuid
|
str | None
|
UUID of the folder to store the workflow in |
None
|
folder
|
Folder | None
|
destination folder |
None
|
max_credits
|
int | None
|
maximum credits for the workflow |
None
|
webhook_url
|
str | None
|
URL that Rowan will POST to when the workflow completes |
None
|
is_draft
|
bool
|
save as a draft without starting execution |
False
|
Returns:
| Type | Description |
|---|---|
Workflow[NMRResult]
|
submitted workflow |
Raises:
| Type | Description |
|---|---|
HTTPStatusError
|
request to the API fails |