Data Structures Module

Module contents

class beautifuljason.data.Image(h5_group)

Bases: IDedObject

Represents an image data object /JasonDocument/General/Pixmaps/<N>

class List(h5_group)

Bases: GroupList

Represents a list of image data objects

property class_: bytes
Returns:

The image class attribute.

Return type:

bytes

property depth: int
Returns:

The image depth. 24 for RGB and 32 for RGBA

Return type:

int

property height: int
Returns:

The image height.

Return type:

int

property interlace_mode: bytes
Returns:

The image interlace mode attribute.

Return type:

bytes

property min_max_range: ndarray[uint8]
Returns:

The image min max range attribute.

Return type:

np.ndarray of np.uint8

property subclass: bytes
Returns:

The image subclass attribute.

Return type:

bytes

property version: bytes
Returns:

The image version attribute.

Return type:

bytes

property width: int
Returns:

The image width.

Return type:

int

class beautifuljason.data.Molecule(h5_group)

Bases: IDedObject

Represents a molecule data object from /JasonDocument/Molecules/Molecules/<N> groups.

class Atom(h5_group)

Bases: H5Group

Represents an atom.

class List(h5_group)

Bases: GroupList

Represents a list of atoms.

class NuclType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Nuclide types enumeration.

Ag107 = 60
Ag109 = 61
Al27 = 18
As75 = 43
Au197 = 111
B10 = 8
B11 = 9
Ba135 = 77
Ba137 = 78
Be9 = 7
Bi209 = 117
Br79 = 45
Br81 = 46
C13 = 10
Ca43 = 26
Cd111 = 62
Cd113 = 63
Cl35 = 22
Cl37 = 23
Co59 = 35
Cr53 = 32
Cs133 = 76
Cu63 = 37
Cu65 = 38
Dy161 = 91
Dy163 = 92
Er167 = 94
Eu151 = 86
Eu153 = 87
F19 = 14
Fe57 = 34
Ga69 = 40
Ga71 = 41
Gd155 = 88
Gd157 = 89
Ge73 = 42
H1 = 1
H2 = 2
H3 = 3
He3 = 4
Hf177 = 100
Hf179 = 101
Hg199 = 112
Hg201 = 113
Ho165 = 93
I127 = 73
In113 = 64
In115 = 65
Ir191 = 108
Ir193 = 109
K39 = 24
K41 = 25
Kr83 = 47
La138 = 79
La139 = 80
Li6 = 5
Li7 = 6
Lu175 = 98
Lu176 = 99
Mg25 = 17
Mn55 = 33
Mo95 = 54
Mo97 = 55
N14 = 11
N15 = 12
Na23 = 16
Nb93 = 53
Nd143 = 82
Nd145 = 83
Ne21 = 15
Ni61 = 36
O17 = 13
Os187 = 106
Os189 = 107
P31 = 20
Pb207 = 116
Pd105 = 59
Pr141 = 81
Pt195 = 110
Rb85 = 48
Rb87 = 49
Re185 = 104
Re187 = 105
Rh103 = 58
Ru101 = 57
Ru99 = 56
S33 = 21
Sb121 = 69
Sb123 = 70
Sc45 = 27
Se77 = 44
Si29 = 19
Sm147 = 84
Sm149 = 85
Sn115 = 66
Sn117 = 67
Sn119 = 68
Sr87 = 50
Ta181 = 102
Tb159 = 90
Te123 = 71
Te125 = 72
Ti47 = 28
Ti49 = 29
Tl203 = 114
Tl205 = 115
Tm169 = 95
U235 = 118
Undef = 0
V50 = 30
V51 = 31
W183 = 103
Xe129 = 74
Xe131 = 75
Y89 = 51
Yb171 = 96
Yb173 = 97
Zn67 = 39
Zr91 = 52
class Type(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Atom elements enumeration.

A = 152
Ac = 89
Ag = 47
Al = 13
Am = 95
Ar = 18
As = 33
At = 85
Au = 79
B = 5
Ba = 56
Be = 4
Bh = 107
Bi = 83
Bk = 97
Br = 35
C = 6
Ca = 20
Cd = 48
Ce = 58
Cf = 98
Cl = 17
Cm = 96
Cn = 112
Co = 27
Cr = 24
Cs = 55
Cu = 29
Db = 105
Ds = 110
Dy = 66
El119 = 119
El120 = 120
El121 = 121
El122 = 122
El123 = 123
El124 = 124
El125 = 125
El126 = 126
El127 = 127
El128 = 128
El129 = 129
El130 = 130
El131 = 131
El132 = 132
El133 = 133
El134 = 134
El135 = 135
El136 = 136
El137 = 137
El138 = 138
El139 = 139
El140 = 140
El141 = 141
El142 = 142
El143 = 143
El144 = 144
El145 = 145
El146 = 146
El147 = 147
El148 = 148
El149 = 149
El150 = 150
Er = 68
Es = 99
Eu = 63
F = 9
FV = 151
Fe = 26
Fl = 114
Fm = 100
Fr = 87
Ga = 31
Gd = 64
Ge = 32
H = 1
He = 2
Hf = 72
Hg = 80
Ho = 67
Hs = 108
I = 53
In = 49
Ir = 77
K = 19
Kr = 36
L = 154
La = 57
Li = 3
Lr = 103
Lu = 71
Lv = 116
Mc = 115
Md = 101
Mg = 12
Mn = 25
Mo = 42
Mt = 109
N = 7
NL = 155
NONE = 0
Na = 11
Nb = 41
Nd = 60
Ne = 10
Nh = 113
Ni = 28
No = 102
Np = 93
O = 8
Og = 118
Os = 76
P = 15
Pa = 91
Pb = 82
Pd = 46
Pm = 61
Po = 84
Pr = 59
Pt = 78
Pu = 94
Q = 153
Ra = 88
Rb = 37
Re = 75
Rf = 104
Rg = 111
Rh = 45
Rn = 86
Ru = 44
S = 16
Sb = 51
Sc = 21
Se = 34
Sg = 106
Si = 14
Sm = 62
Sn = 50
Sr = 38
Ta = 73
Tb = 65
Tc = 43
Te = 52
Th = 90
Ti = 22
Tl = 81
Tm = 69
Ts = 117
U = 92
V = 23
W = 74
Xe = 54
Y = 39
Yb = 70
Zn = 30
Zr = 40
property bonded_atom_numbers: ndarray[uint32]
Returns:

The bonded atom numbers of the atom.

Return type:

np.ndarray of np.uint32

property bonded_atoms: list[Atom]
Returns:

The bonded atoms of the atom.

Return type:

list of Molecule.Atom

property bonds: ndarray[uint32]
Returns:

The bonds of the atom.

Return type:

np.ndarray of np.uint32

property charge: int | None
Returns:

The charge of the atom.

Return type:

int | None

property isotope: int | None
Returns:

The isotope of the atom.

Return type:

int | None

property nh: int
Returns:

The number of hydrogen atoms attached to the atom.

Return type:

int

property type: Type
Returns:

The type of the atom.

Return type:

Type

property valence: int | None
Returns:

The valence of the atom.

Return type:

int | None

property x: float
Returns:

The X coordinate of the atom.

Return type:

float

property y: float
Returns:

The Y coordinate of the atom.

Return type:

float

property z: float | None
Returns:

The Z coordinate of the atom if present.

Return type:

float | None

class Coupling(h5_group)

Bases: H5Group

Represents a j-coupling.

class List(h5_group)

Bases: GroupList

Represents a list of j-couplings.

property acount1: int
Returns:

The number of identical atoms of the first coupling partner.

Return type:

int

property acount2: int
Returns:

The number of identical atoms of the second coupling partner.

Return type:

int

property error_spheres: int
Returns:

The error spheres of the coupling.

Return type:

int

property ignored_auto: bool
Returns:

Whether the coupling is ignored automatically.

Return type:

bool

property ignored_user: bool
Returns:

Whether the coupling is ignored by the user.

Return type:

bool

property is_exchangeable1: bool
Returns:

Whether the first coupling partner is exchangeable.

Return type:

bool

property is_exchangeable2: bool
Returns:

Whether the second coupling partner is exchangeable.

Return type:

bool

property jvalue: int
Returns:

Number of bonds between the coupling partners.

Return type:

int

property mark1: str | None
Returns:

The mark of the first coupling partner if present.

Return type:

str | None

property mark2: str | None
Returns:

The mark of the second coupling partner if present.

Return type:

str | None

property n1: uint32
Returns:

The first atom number of the coupling.

Return type:

np.uint32

property n2: uint32
Returns:

The second atom number of the coupling.

Return type:

np.uint32

property nucl1: NuclType
Returns:

The nuclide type of the first coupling partner.

Return type:

Molecule.Atom.NuclType

property nucl2: NuclType
Returns:

The nuclide type of the second coupling partner.

Return type:

Molecule.Atom.NuclType

property value: ndarray[float64]
Returns:

array of experimental and calculated J values of the coupling. The value at index 0 is the experimental J value.

Return type:

np.ndarray of np.float64

property value_error: ndarray[float64]
Returns:

array of calculated J value errors of the coupling. The value at index 0, corresponding to the experimental J value, is -1.

Return type:

np.ndarray of np.float64

property value_method: ndarray[int32]
Returns:

array of value calculation methods of the coupling.

Return type:

np.ndarray of np.int32

property value_spheres: int
Returns:

The value spheres of the coupling.

Return type:

int

class List(h5_group)

Bases: GroupList

Represents a list of molecules.

class Ring(h5_group)

Bases: H5Group

Represents a ring.

class List(h5_group)

Bases: GroupList

Represents a list of rings.

Parameters:

h5_group (h5py.Group) – The H5 group.

property atoms: ndarray[uint32]
Returns:

The atoms of the ring.

Return type:

np.ndarray of np.uint32

property is_aromatic: bool
Returns:

Whether the ring is aromatic.

Return type:

bool

class Spectrum(h5_group)

Bases: H5Group

Represents a prediction spectrum.

class List(h5_group)

Bases: GroupList

Represents a list of prediction spectra.

class Shift(h5_group)

Bases: H5Group

Represents a chemical shift.

class List(h5_group)

Bases: GroupList

Represents a list of chemical shifts.

property acount: int
Returns:

The number of identical atoms of the chemical shift.

Return type:

int

property error_spheres: int
Returns:

The error spheres of the chemical shift.

Return type:

int

property ignored_auto: bool
Returns:

Whether the chemical shift is ignored automatically.

Return type:

bool

property ignored_user: bool
Returns:

Whether the chemical shift is ignored by the user.

Return type:

bool

property is_exchangeable: bool
Returns:

Whether the chemical shift is exchangeable.

Return type:

bool

property mark: str | None
Returns:

The mark of the chemical shift if present.

Return type:

str | None

property nh: int
Returns:

The number of hydrogen atoms attached to the atom.

Return type:

int

property nums: ndarray[uint32]
Returns:

The atom numbers of the chemical shift.

Return type:

np.ndarray of np.uint32

property value: ndarray[float64]
Returns:

The experimental and calculated chemical shift values. The value at index 0 is the experimental chemical shift.

Return type:

np.ndarray of np.float64

property value_error: ndarray[float64]
Returns:

The calculated chemical shift errors. The value at index 0, corresponding to the experimental chemical shift, is -1.

Return type:

np.ndarray of np.float64

property value_method: ndarray[int32]
Returns:

The value calculation methods of the chemical shift.

Return type:

np.ndarray of np.int32

property value_spheres: int
Returns:

The value spheres of the chemical shift.

Return type:

int

class Type(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Spectrum types enumeration.

ADEQUATE = 16
APT = 4
All = 28
C13 = 27
COLOC = 14
COSY = 5
Chrom = 23
DEPT135 = 3
DEPT45 = 24
DEPT90 = 2
H1 = 26
H2BC = 15
HETCOR = 12
HMBC = 13
HMQC = 10
HSQC = 9
HSQC_DEPT135 = 25
HSQC_TOCSY = 11
INADEQUATE = 17
IR = 21
Long_2D = 19
Mass = 20
NOESY = 7
Near_2D = 18
ROESY = 8
STD = 1
TOCSY = 6
UV = 22
Undef = 0
property nucleus: NuclType
Returns:

The nucleus of the spectrum.

Return type:

Molecule.Atom.NuclType

property origin: int
Returns:

The origin of the spectrum.

Return type:

int

property shifts: List
Returns:

The chemical shifts of the spectrum.

Return type:

Shift.List

property spec_type: Type
Returns:

The type of the spectrum.

Return type:

Type

class Symmetry(h5_group)

Bases: H5Group

Represents atom symmetry.

property items: Iterable[int]
Returns:

The symmetry items.

Return type:

Iterable of int

property atoms: List
Returns:

The atoms of the molecule.

Return type:

Atom.List

property couplings: List
Returns:

The j-couplings of the molecule.

Return type:

Coupling.List

property rings: List
Returns:

The rings of the molecule.

Return type:

Ring.List

property spectra: List
Returns:

The prediction spectra of the molecule.

Return type:

Spectrum.List

property symmetry: Symmetry
Returns:

The symmetry of the molecule.

Return type:

Symmetry

class beautifuljason.data.NMREntry(h5_group)

Bases: H5Group

Represents an NMR entry encapsulated within an HDF5 group.

Parameters:

h5_group (h5py.Group) – The actual HDF5 group object.

property ndim
Returns:

Number of dimensions for the NMR data.

Return type:

int

class beautifuljason.data.NMRMultiplet(h5_group)

Bases: IDedObject

Represents an NMR multiplet stored within an HDF5 group.

Parameters:

h5_group (h5py.Group) – The actual HDF5 group object.

class List(h5_group)

Bases: IDedObject, GroupList

Represents a list of NMR multiplets.

Parameters:

h5_group (h5py.Group) – The actual HDF5 group object.

property auto_baseline
Returns:

True if the baseline is automatically calculated, otherwise False.

Return type:

bool

property integral_lvl
Returns:

integral level of the multiplets.

Return type:

float

property integral_scale
Returns:

integral scale of the multiplets.

Return type:

float

property integral_scale_scoped
Returns:

array of scoped integral scales of the multiplets.

Return type:

numpy.ndarray of numpy.float64 or None

property integral_tlt
Returns:

integral tilt of the multiplets.

Return type:

float

property integral_total
Returns:

total integral of the multiplets.

Return type:

float

property integral_vscale
Returns:

integral vertical scale of the multiplets.

Return type:

float

property integral_vshift
Returns:

integral vertical shift of the multiplets.

Return type:

float

property pos_units
Returns:

A tuple of position units.

Return type:

tuple of Units

class ShowType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Enumeration representing the types of display for the multiplet.

Integral = 1
Multiplet = 0
property all_peaks: list[NMRPeak]
Returns:

All peaks associated with the multiplet.

Return type:

list of NMRPeak

property curve: ndarray[float64]
Returns:

The curve data for the multiplet.

Return type:

numpy.ndarray with dtype numpy.float64

property flags: int32
Returns:

The flags associated with the multiplet.

Return type:

int

property integral_scope: int32
Returns:

The scope for the integral. Defaults to 0 if not specified in the HDF5 group.

Return type:

numpy.int32

property js: ndarray[float64]
Returns:

The J values for the multiplet. If not present, returns an empty array.

Return type:

numpy.ndarray with dtype numpy.float64

property jtree
Returns:

The J coupling tree data, represented as a list of dictionaries with ‘groups’ and ‘positions’ as keys.

Return type:

list of dict with keys ‘groups’ and ‘positions’

property moments: ndarray[float64]
Returns:

The moments associated with the multiplet.

Return type:

numpy.ndarray with dtype numpy.float64

property multiplets
Returns:

The associated list of multiplets.

Return type:

NMRMultiplet.List or None if not present.

property multiplicities: ndarray[int32]
Returns:

The multiplicities for the multiplet. If not present, returns an empty array.

Return type:

numpy.ndarray with dtype numpy.int32

property multiplicities_str: str | None
Returns:

The multiplicities for the multiplet as a string.

Return type:

str or None if not present.

property normalized_value
Returns:

The normalized value of the multiplet.

Return type:

numpy.float64

property peaks: list[NMRPeak]
Returns:

The peaks associated with the multiplet.

Return type:

list of NMRPeak

property pos: ndarray[float64]
Returns:

The position of the multiplet.

Return type:

numpy.ndarray of shape (3,) with dtype numpy.float64

property range: tuple[ndarray, ndarray, ndarray]
Returns:

The multiplet range as a tuple of np.array objects.

Return type:

tuple of shape (3,) of numpy.ndarray with dtype numpy.float64

property show_type: ShowType
Returns:

The display type of the multiplet.

Return type:

ShowType

property value
Returns:

The value of the multiplet.

Return type:

numpy.float64

property value_hz
Returns:

The value in Hertz (Hz) of the multiplet.

Return type:

numpy.float64

property value_hz_factor
Returns:

The factor to convert the value to Hertz (Hz). Defaults to 1.0 if not specified in the HDF5 group.

Return type:

numpy.float64

class beautifuljason.data.NMRPeak(h5_group)

Bases: IDedObject

Represents an NMR peak stored within an HDF5 group.

Parameters:

h5_group (h5py.Group) – The actual HDF5 group object.

class List(h5_group)

Bases: IDedObject, GroupList

Represents a list of NMR peaks.

Parameters:

h5_group (h5py.Group) – The actual HDF5 group object.

property pos_units: tuple[Units, Units, Units]

Returns the position units of the peaks.

Returns:

A tuple of position units.

Return type:

tuple of base.Units

class PeakClassification(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Enumeration representing the classifications of peaks.

C13Satellite = 4
Compound = 0
Contaminant = 1
NMRSolvent = 2
ReactionSolvent = 3
SSSideband = 5
class PeakType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Enumeration representing the types of peaks.

GenLorentz = 1
PseudoVoigt = 0
property area: float64
Returns:

The area of the peak.

Return type:

numpy.float64

New in version 1.0.4.

Note

Requires JASON 4.1 or later.

property area_sigma: float64
Returns:

The area sigma of the peak.

Return type:

numpy.float64

New in version 1.0.4.

Note

Requires JASON 4.1 or later.

property classification: PeakClassification

The classification of the peak.

Getter:

Returns the classification of the peak.

Return type:

PeakClassification

Setter:

Sets the classification of the peak.

Parameters:

new_classification (PeakClassification) – The new classification of the peak.

property height: float64
Returns:

The height of the peak.

Return type:

numpy.float64

property label

The label of the peak.

Getter:

Returns the label of the peak.

Return type:

str

Setter:

Sets the label of the peak.

Parameters:

new_label (str) – The new label of the peak.

property offset: float64
Returns:

The offset of the peak.

Return type:

numpy.float64

property pos: ndarray[float64]
Returns:

The position of the peak.

Return type:

numpy.ndarray of shape (3,) with dtype numpy.float64

property shape_par: ndarray[float64]
Returns:

The shape parameter of the peak.

Return type:

numpy.ndarray of shape (3,) with dtype numpy.float64

property type
Returns:

The type of the peak.

Return type:

PeakType

property width: ndarray[float64]
Returns:

The width of the peak.

Return type:

numpy.ndarray of shape (3,) with dtype numpy.float64

class beautifuljason.data.NMRProcessing(h5_group)

Bases: IDedObject

Represents an NMR processing step stored within an HDF5 group.

Parameters:

h5_group – The actual HDF5 group object.

class List(h5_group)

Bases: GroupList

Represents a list of NMR processing steps.

Parameters:

h5_group – The actual HDF5 group object.

class EndType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Enumeration representing the types of endpoints.

Full = 0
Orig = 1
postFT = 3
preFT = 2
property end_point_dim: int32
Returns:

The dimension of the endpoint.

Return type:

numpy.int32

property end_point_type: EndType
Returns:

The type of endpoint.

Return type:

EndType

class Parameter(h5_group)

Bases: H5Group

Represents a parameter for an NMR processing step.

class List(h5_group)

Bases: GroupList

Represents a list of parameters for an NMR processing step.

property current_index: int32 | None
Returns:

The current index for the parameter.

Return type:

numpy.int32 or None if not present.

property decimals: int32 | None
Returns:

The number of decimals for the parameter.

Return type:

numpy.int32 or None if not present.

property max_value: Any | None
Returns:

The maximum value for the parameter.

Return type:

Any or None if not present.

property min_value: Any | None
Returns:

The minimum value for the parameter.

Return type:

Any or None if not present.

property name: str
Returns:

The name of the parameter.

Return type:

str

property step: float64 | None
Returns:

The step size for the parameter.

Return type:

numpy.float64 or None if not present.

property tip: str
Returns:

The tip for the parameter.

Return type:

str

property units: Units
Returns:

The units for the parameter.

Return type:

base.Units

property value: Any
Returns:

The value of the parameter.

Return type:

Any

property value_type: QMetaType_Type
Returns:

The type of the parameter.

Return type:

base.QMetaType_Type

class Type(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Enumeration representing the types of processing steps.

Abs = 8
Apodize = 2
CSSF = 19
DC = 26
DOSY = 24
DTA = 25
External = 14
FT = 4
Flatten = 12
Lp = 3
NUS = 15
NextDim = 9
PeakRef = 29
Phase = 6
PhaseFID = 23
PolyBC = 11
PrepIndir = 5
Real = 13
Reverse = 7
Rot = 21
SGFilter2D = 18
SGSmooth = 10
Scale = 27
Sim = 20
Sub = 17
Sum = 28
Sym = 16
T1Sup = 30
Unknown = 0
ZF = 1
iFT = 22
property active: bool
Returns:

True if the processing step is active, otherwise False.

Return type:

bool

property name: str
Returns:

The name of the processing step.

Return type:

str

property type: Type
Returns:

The type of the processing step.

Return type:

Type

class beautifuljason.data.NMRSpecInfo(h5_group, ndim)

Bases: H5Group

Represents spectral information for an NMR dataset encapsulated within an HDF5 group.

Parameters:
  • h5_group (h5py.Group) – The actual HDF5 group object.

  • ndim (int) – The number of dimensions for the NMR data.

get_orig_param(group_name, param_name)

Retrieve an original parameter value from a specified group within the ‘OriginalParameters’ section of the HDF5 group.

Parameters:
  • group_name (str) – Name of the group under ‘OriginalParameters’ to search in.

  • param_name (str) – Name of the parameter to retrieve.

Returns:

Value of the specified parameter if found; None otherwise.

Return type:

Any or None

get_param(param_name)

Retrieve a parameter value from the HDF5 group.

Parameters:

param_name (str) – Name of the parameter to retrieve.

Returns:

Value of the specified parameter if found; None otherwise.

Return type:

Any or None

property nuclides
Returns:

A tuple of nuclide strings for each dimension.

Return type:

tuple

class beautifuljason.data.NMRSpectrum(h5_group)

Bases: NMREntry, IDedObject

Represents an NMR spectrum stored within an HDF5 group.

Parameters:

h5_group – The actual HDF5 group object.

class List(h5_group)

Bases: GroupList

Represents a list of NMR spectra.

Parameters:

h5_group – The actual HDF5 group object.

property multiplets: List
Returns:

The associated list of multiplets.

Return type:

NMRMultiplet.List.

property peaks: List
Returns:

The associated list of peaks.

Return type:

NMRPeak.List.

property proc_list: List
Returns:

The associated list of processing steps.

Return type:

NMRProcessing.List.

class beautifuljason.data.Text(h5_group)

Bases: IDedObject

Represents a text data object /JasonDocument/General/TextDocuments/<N>

class List(h5_group)

Bases: GroupList

Represents a list of text data objects

property html: str

The HTML text.

Getter:

Returns the HTML text.

Return type:

str

Setter:

Sets the HTML text.

Parameters:

new_html (str) – The new HTML text.