Serialization
- class scine_molassembler.JsonSerialization
Class representing a compact JSON serialization of a molecule
>>> # Demonstrate a serialize-deserialize loop >>> spiro = io.experimental.from_smiles("C12(CCCC1)CCC2") >>> serializer = JsonSerialization(spiro) >>> bson_format = JsonSerialization.BinaryFormat.BSON >>> spiro_as_bson = serializer.to_binary(bson_format) >>> bson_in_b64 = serializer.base_64_encode(spiro_as_bson) >>> reverted_bson = JsonSerialization.base_64_decode(bson_in_b64) >>> serializer = JsonSerialization(reverted_bson, bson_format) >>> reverted = serializer.to_molecule() >>> reverted == spiro # Compare the deserialized molecule True
- class BinaryFormat
Specifies the type of JSON binary format
Members:
CBOR : Compact Binary Object Representation
BSON : Binary JSON
MsgPack : MsgPack
UBJSON : Universal Binary JSON
- BSON = <BinaryFormat.BSON: 1>
- CBOR = <BinaryFormat.CBOR: 0>
- MsgPack = <BinaryFormat.MsgPack: 2>
- UBJSON = <BinaryFormat.UBJSON: 3>
- __init__(self: scine_molassembler.JsonSerialization.BinaryFormat, value: int) None
- property name
- property value
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: scine_molassembler.JsonSerialization, json_string: str) -> None
Parse a JSON molecule serialization
__init__(self: scine_molassembler.JsonSerialization, molecule: scine_molassembler.Molecule) -> None
Serialize a molecule into JSON
__init__(self: scine_molassembler.JsonSerialization, bytes: bytes, binary_format: scine_molassembler.JsonSerialization.BinaryFormat) -> None
Parse a binary JSON molecule serialization
- static base_64_decode(base_64_string: str) bytes
Decode base-64 string into binary
- static base_64_encode(binary: bytes) str
Encode binary format as base-64 string
- static equal_decision_lists(string_a: str, string_b: str) bool
Compare the decision lists given as strings. For each of the decision list elements,the symmetry number has to be identical and the angle has to be within the intervalof the corresponding other decision list entry.
- static equal_molecules(string_a: str, string_b: str, binary_format: scine_molassembler.JsonSerialization.BinaryFormat = <BinaryFormat.CBOR: 0>) bool
Compare the molecules given by the string representation.
- standardize(self: scine_molassembler.JsonSerialization) scine_molassembler.JsonSerialization
Standardize the internal JSON serialization (only for canonical molecules)
- to_binary(self: scine_molassembler.JsonSerialization, binary_format: scine_molassembler.JsonSerialization.BinaryFormat) bytes
Serialize a molecule into a binary format
- to_molecule(self: scine_molassembler.JsonSerialization) scine_molassembler.Molecule
Construct a molecule from the serialization
- to_string(self: scine_molassembler.JsonSerialization) str
Dump the JSON serialization into a string