Bee Chemical Database
The Bee database allows to store and manage molecules along with different conformers and properties, including information on the computational source of these data.
The main interface is a REST-API documented by OpenAPI but it includes also a basic Command-line Interface.
Architecture
For an easier understanding of its concepts, the following diagram shows their relations:
The arrows mean an object referencing another.
- Molecule
The central database object Molecule contains information about the atoms and their bonds on a qualitative level - basically all the information which can be obtained from a SMILES string. Additionally, there is the information about multiplicity and optionally identifiers and tags.
- Conformer
While a Molecule stores only the set of atoms and their bonds, each Conformer contains a representation of the exact coordinates of each atom. Upon adding a Molecule to the database, Bee creates an initial Conformer using RDKit. Optionally, a Conformer may contain the trajectory_step as part of an optimisation, and tags. For the sake of clarity, a Conformer is a technical term, it can represent a minimum structure, or an off-equilibrium structure.
- Simulation
Each Simulation uses a Conformer as its source and creates, depending on its simulation type, Properties for this source conformer, e.g. in case if single point calculations, or it creates new Conformers in case of e.g. an optimisation or a conformer generation. A Simulation contains information about the used software, method, basis sets, and solvent, as well as additional meta information such as timings and errors.
- Properties
Each Properties entry belongs to a Conformer and to a Simulation as its source. It contains the computed physical properties of the conformer, its atoms and bonds, e.g. single point energy, atom forces, bond types, etc. Hence, each Conformer may contain different sets of Properties obtained by different Simulations using different methods, solvents, etc.
- Workflow
A Workflow bundles several Simulations, each indexed by a simulation_step. It also contains the used software and meta information such has timestamps, errors, and optionally tags.
- Recipe
A Recipe is a standard playbook for running several Workflows on a Molecule also allowing customised dependencies.