The AC NMR Document format¶
For the storage in the database and for an exchange file format the AC-NMR DB uses a JSON file format. This format encodes the structure formula and the literature reference.
The atom and bonds objects in this file format are modeled as closely as possible to the CML XML format in terms of label names and options.
The NMR Document Object JSON Format¶
The ‘*‘ signifies a required Field.
Data format for molecules and NMR data.
Type: | object |
---|---|
Contains: | _rev, _id, docid, owner, date, molecule*, NMRDatasets*, sdf, Litref, Annotations, Error |
Required: | True |
JSON Path: |
Example JSON:
{
"NMRDatasets": [],
"molecule": {
"Mol_ID": "",
"bonds": [],
"atoms": []
}
}
_rev¶
Revision ID as used by the document store.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"_rev": ""}
_id¶
Document ID GUID as used by the document store.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"_id": ""}
docid¶
Unique document ID. This is used as ID throughout the application.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"docid": ""}
date¶
UTC Time of last edit as Unix time stamp. (seconds since epoc)
Type: | number |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"date": 0}
molecule¶
Contains molecule data. Data, like atoms, bonds and color coding.
Type: | object |
---|---|
Contains: | InChI, InChIKey, Mol_ID*, MolLinked, Mol_Name, CAS_RN, SMILES, Stereoinformation, BoilingPoint, MSPeakListPeaks, MSPeakListSourceID, MeltingPoint, FORMULA, Comment, atoms*, bonds* |
Required: | True |
JSON Path: |
Example JSON:
{"molecule": {"Mol_ID": "","bonds": [],"atoms": []}}
InChI¶
International chemical identifier.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"InChI": ""}
InChIKey¶
International chemical identifier hashed. If available, it will be used for finding data sets with the same chemical structure.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"InChIKey": ""}
Mol_ID¶
Arbitrary ID for molecule. This is used if InChI is not available.
Type: | string |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"Mol_ID": ""}
MolLinked¶
Flag for deciding if changes on this molecule structure should affect the others with the same ID
Type: | boolean |
---|---|
Required: | False |
Default: | False |
JSON Path: |
Example JSON:
{"MolLinked": false}
CAS_RN¶
Compound number from the American Chemical Society.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"CAS_RN": ""}
SMILES¶
SMILES Code. This represents the connection graph of the molecule and is used for substructure and similarity search.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"SMILES": ""}
Stereoinformation¶
Marker for molecules containing chiral structure.
Type: | boolean |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Stereoinformation": true}
BoilingPoint¶
Boiling point [°C].
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"BoilingPoint": ""}
MSPeakListPeaks¶
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"MSPeakListPeaks": ""}
MSPeakListSourceID¶
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"MSPeakListSourceID": ""}
MeltingPoint¶
Melting point [°C].
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"MeltingPoint": ""}
atoms¶
Type: | array() items: {2d, 3d, elementType, hydrogenCount, formalCharge, role, properties} |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"atoms": []}
2d¶
2D atom coordinates for structure diagrams. [a.u]
Type: | array(2) items: number |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"2d": []}
3d¶
3D atom coordinates for 3d structure (crystal-structure). [a.u]
Type: | array(3) items: number |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"3d": []}
elementType¶
Symbol of chemical Element. Allowed are the symbols as defined in CML.
Type: | string |
---|---|
values: | [H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Po, At, Rn, Fr, Ra, Ac, Th, Pa, U, Np, Pu, Am, Cm, Bk, Cf, Es, Fm, Md, No, Lr, Rf, Db, Sg, Bh, Hs, Mt, Ds, Rg, Cn, Uuq, Uuh, Du, R] |
Required: | True |
JSON Path: |
|
Example JSON:
{"elementType": "H"}
hydrogenCount¶
Hydrocen-count as defined in CML.
Type: | number |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"hydrogenCount": 0}
formalCharge¶
Formal charge as defined in CML.
Type: | number |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"formalCharge": 0}
role¶
The role is used to further describe ‘R’ or ‘Du’ pseudo Atoms. May be used to describe polymeres by using ‘*’
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"role": ""}
properties¶
Properties of the atom that are not directly related to the molecular structure, such as coloring, and other annotations.
Type: | object |
---|---|
Contains: | |
Required: | False |
JSON Path: |
|
Example JSON:
{"properties": {}}
color¶
Color code of atom to hilight or mark atom or set of atoms.
Type: | string or null |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"color": null}
bonds¶
Array of bonds.
Type: | array() items: {id, bond, order, stereoType} |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"bonds": []}
bond¶
Indices of atoms which are connected via this bond. Index starts with 1.
Type: | array(2) items: number |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"bond": []}
order¶
The type or ‘order’ of this bond. The bond order values are as defined in CML.
Type: | string |
---|---|
values: | [1, hbond, partial01, partial12, 2, partial23, 3, A] |
Required: | True |
JSON Path: |
Example JSON:
{"order": "1"}
stereoType¶
Stereo-type as defined in CML.
Type: | string |
---|---|
values: | [C, T, W, H] |
Required: | False |
JSON Path: |
|
Example JSON:
{"stereoType": "C"}
NMRDatasets¶
Chemical shifts and couplings.
Type: | array() items: {Shifts, Nucleus, Solvent, Standard, Method, Temp} |
---|---|
Required: | True |
JSON Path: |
|
Example JSON:
{"NMRDatasets": []}
Shifts¶
List of shifts for from one nucleus, standard, solvent, temperature ... -combination.
Type: | |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Shifts": []}
Shift¶
Numerical value of chemical shift in [ppm].
Type: | number or object |
---|---|
Contains: | |
Required: | False |
JSON Path: |
|
Example JSON:
{"Shift": null}
from¶
Type: | number |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"from": 0}
to¶
Type: | number |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"to": 0}
ColorRef¶
Colour label to match the colors in molecular structure.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"ColorRef": ""}
Comment¶
Comment for shift.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Comment": ""}
J¶
List of coupling constants for this shift.
Type: | |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"J": []}
ftype¶
Coupling type including text formatting information.
Type: | string |
---|---|
Required: | True |
Default: | J() |
JSON Path: |
|
Example JSON:
{"ftype": "J()"}
textval¶
Unparsed text value if availabe.
Type: | string |
---|---|
Required: | True |
JSON Path: |
|
Example JSON:
{"textval": ""}
type¶
Coupling type whithout text formatting information.
Type: | string |
---|---|
Required: | True |
JSON Path: |
|
Example JSON:
{"type": ""}
unit¶
Unit of numeric value.
Type: | string |
---|---|
Required: | False |
Default: | Hz |
JSON Path: |
|
Example JSON:
{"unit": "Hz"}
value¶
Numeric value of coupling constant.[Hz]
Type: | number |
---|---|
Required: | True |
JSON Path: |
|
Example JSON:
{"value": 0}
Nucleus¶
Type of nucleus used in NMR, ‘29Si’, for example.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Nucleus": ""}
Solvent¶
Solvent in which NMR measurement took place.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Solvent": ""}
Standard¶
Reference compount for shift.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Standard": ""}
Method¶
NMR Method.
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Method": ""}
Temp¶
Sample teperature. [°C]
Type: | string |
---|---|
Required: | False |
JSON Path: |
|
Example JSON:
{"Temp": ""}
sdf¶
Field to store legacy sdf source if available.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"sdf": ""}
Litref¶
Literature reference. Each data document may be associated with one literature reference.
Type: | object |
---|---|
Contains: | LitrefLinked, Author, YEAR, Title, DOCTYPE, Page, REFNO*, Source, Volume, Keyword, Editor, CASAN, DOI |
Required: | False |
JSON Path: |
Example JSON:
{"Litref": {"REFNO": ""}}
LitrefLinked¶
Flag for deciding if changes on this literature reference should be changed in all documents.
Type: | boolean |
---|---|
Required: | False |
Default: | True |
JSON Path: |
|
Example JSON:
{"LitrefLinked": true}
DOCTYPE¶
Journal, book, thesis ...
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"DOCTYPE": ""}
REFNO¶
This is an ID for the reference. Many documents may come from the same Literature reference.
Type: | string |
---|---|
Required: | True |
JSON Path: |
Example JSON:
{"REFNO": ""}
Source¶
Journal name, for example.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"Source": ""}
Keyword¶
List of keywords seperated by ‘ ‘ or ‘,’.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"Keyword": ""}
CASAN¶
Chemical Abstract Service reference id of the American Chemical Society.
Type: | string |
---|---|
Required: | False |
JSON Path: |
Example JSON:
{"CASAN": ""}
DOI¶
Digital Object Identifier for the literature reference.
Type: | string |
---|---|
Required: | False |
Default: | |
JSON Path: |
Example JSON:
{"DOI": ""}
Annotations¶
This may contain arbitrary data and comments.
Type: | object |
||
---|---|---|---|
Contains: |
False |
||
JSON Path: |
|
Example JSON:
{"Annotations": {}}