Querying the database
Finding Molecules
The REST-API endpoint GET /api/v1/molecule supports filtering
the database's molecules for SMARTS, tags, and Identifier.
Here are some examples:
SMARTS search for
COC:$ bee mol list --output=id,canonical_smiles SOC | id | canonical_smiles | +-----+---------------------------------------------------+ | 23 | O=C(Nc1ccccc1)c1ccccc1OS(=O)(=O)c1ccccc1 | | 100 | COc1cccc(N2CCN(C(=O)Nc3ccc(OS(N)(=O)=O)cc3)CC2)c1 |
Search for the tag
secret:$ bee mol list --output=id,canonical_smiles,tags --tag=secret | id | canonical_smiles | tags | +----+--------------------------------------------------------+--------------+ | 24 | Cc1c2c(cc3oc(C(=O)O)cc(=O)c13)OC(C)(C)c1ccccc1-2 | secret, aiqu | | 42 | COc1c(Cl)cc(-c2cc(F)c(F)cc2-c2ccc(S(N)(=O)=O)cc2)cc1Cl | secret, aiqu | | 52 | Cc1cc(C)cc(NC(=O)c2cnn(-c3ccc(C)c(C)c3)c2C2CCNCC2)c1 | secret, aiqu |
Search for the identifier
CHEMBL1364480:$ bee mol list --brief --identifier=CHEMBL1364480 | id | canonical_smiles | recipe_ids | identifiers | tags | +----+------------------+------------+---------------+-----------+ | 10 | Cc1nccn1CC(=O)O | 10 | CHEMBL1364480 | aiqu, pub |
The different filters may be combined to narrow down the results.
Retrieving a Molecule's data
The REST-API endpoint for receiving a molecule's contents in the database
as JSON is GET /api/v1/molecule/<ID>?depth=<DEPTH> where <ID> is the
unique molecule id in the database and the optional parameter <DEPTH>
allows to restrict the number of layers of the nested tree structure to
be retrieved. By setting this value to -1, Bee sends the entire tree.
For an explanation of how the nested tree of Conformers and Simulations describes the dependency of Conformers being a Simulation's source and Simulations being the origin of new Conformers, see Browsing the results.
Here is an example tree for the full Recipe aiqu-large running COOC:
$ bee mol tree --show-workflows --show-methods --show-solvents 101
Molecule 101: COOC
└── Conformer 103
└── Conformer Generation (CREST-RDKIT) in Gas 2 [Workflow 2: aiqu_confsearch]
├── Conformer 104
│ └── Simulation (XTB) in GAS 8 [Workflow 2: aiqu_confsearch]
├── Conformer 105
│ ├── Simulation (XTB) in GAS 3 [Workflow 2: aiqu_confsearch]
│ └── Optimisation (XTB) in GAS 9 [Workflow 2: aiqu_confsearch]
│ └── Conformer 110
│ └── Optimisation (r2SCAN-3c) in GAS 15 [Workflow 2: aiqu_confsearch]
│ └── Conformer 116
│ └── Optimisation (wB97M-V) in GAS 18 [Workflow 2: aiqu_confsearch]
│ ├── Conformer 119
│ ├── Conformer 120
│ ├── Conformer 121
│ └── Conformer 122
│ ├── Simulation (wB97M-V) in Water 67 [Workflow 4: aiqu_sp_water]
│ ├── Simulation (wB97M-V) in Acetonitrile 81 [Workflow 6: aiqu_sp_acetonitrile]
│ ├── Simulation (wB97M-V) in Chloroform 85 [Workflow 7: aiqu_sp_chloroform]
│ ├── Simulation (wB97M-V) in Benzene 89 [Workflow 8: aiqu_sp_benzene]
│ ├── Simulation (B3LYP) in GAS 93 [Workflow 9: aiqu_sp_excitedstate]
│ └── NMS (wB97M-V) in GAS 22 [Workflow 3: aiqu_nms]
│ ├── Conformer 136
│ └── Conformer 137
├── Conformer 106
│ ├── Simulation (XTB) in GAS 4 [Workflow 2: aiqu_confsearch]
│ └── Optimisation (XTB) in GAS 11 [Workflow 2: aiqu_confsearch]
│ └── Conformer 112
│ └── Optimisation (r2SCAN-3c) in GAS 16 [Workflow 2: aiqu_confsearch]
│ └── Conformer 117
│ └── Optimisation (wB97M-V) in GAS 20 [Workflow 2: aiqu_confsearch]
│ ├── Conformer 127
│ ├── Conformer 128
│ ├── Conformer 129
│ └── Conformer 130
│ ├── Simulation (wB97M-V) in Water 69 [Workflow 4: aiqu_sp_water]
│ ├── Simulation (wB97M-V) in Acetonitrile 83 [Workflow 6: aiqu_sp_acetonitrile]
│ ├── Simulation (wB97M-V) in Chloroform 87 [Workflow 7: aiqu_sp_chloroform]
│ ├── Simulation (wB97M-V) in Benzene 91 [Workflow 8: aiqu_sp_benzene]
│ └── NMS (wB97M-V) in GAS 24 [Workflow 3: aiqu_nms]
│ ├── Conformer 140
│ └── Conformer 141
├── Conformer 107
│ ├── Simulation (XTB) in GAS 5 [Workflow 2: aiqu_confsearch]
│ └── Optimisation (XTB) in GAS 12 [Workflow 2: aiqu_confsearch]
│ └── Conformer 113
├── Conformer 108
│ ├── Simulation (XTB) in GAS 6 [Workflow 2: aiqu_confsearch]
│ └── Optimisation (XTB) in GAS 13 [Workflow 2: aiqu_confsearch]
│ └── Conformer 114
│ └── Optimisation (r2SCAN-3c) in GAS 17 [Workflow 2: aiqu_confsearch]
│ └── Conformer 118
│ └── Optimisation (wB97M-V) in GAS 21 [Workflow 2: aiqu_confsearch]
│ ├── Conformer 131
│ ├── Conformer 132
│ ├── Conformer 133
│ └── Conformer 134
│ ├── Simulation (wB97M-V) in Water 70 [Workflow 4: aiqu_sp_water]
│ ├── Simulation (wB97M-V) in Acetonitrile 84 [Workflow 6: aiqu_sp_acetonitrile]
│ ├── Simulation (wB97M-V) in Chloroform 88 [Workflow 7: aiqu_sp_chloroform]
│ ├── Simulation (wB97M-V) in Benzene 92 [Workflow 8: aiqu_sp_benzene]
│ └── NMS (wB97M-V) in GAS 25 [Workflow 3: aiqu_nms]
│ ├── Conformer 142
│ └── Conformer 143
└── Conformer 109
├── Simulation (XTB) in GAS 7 [Workflow 2: aiqu_confsearch]
└── Optimisation (XTB) in GAS 10 [Workflow 2: aiqu_confsearch]
└── Conformer 111
└── Optimisation (r2SCAN-3c) in GAS 14 [Workflow 2: aiqu_confsearch]
└── Conformer 115
└── Optimisation (wB97M-V) in GAS 19 [Workflow 2: aiqu_confsearch]
├── Conformer 123
├── Conformer 124
├── Conformer 125
└── Conformer 126
├── Simulation (wB97M-V) in Water 68 [Workflow 4: aiqu_sp_water]
├── Simulation (wB97M-V) in Acetonitrile 82 [Workflow 6: aiqu_sp_acetonitrile]
├── Simulation (wB97M-V) in Chloroform 86 [Workflow 7: aiqu_sp_chloroform]
├── Simulation (wB97M-V) in Benzene 90 [Workflow 8: aiqu_sp_benzene]
└── NMS (wB97M-V) in GAS 23 [Workflow 3: aiqu_nms]
├── Conformer 138
└── Conformer 139
Properties
Each Conformer has the attribute properties which may contain a list of properties collections each having a distinguished Simulation as its source. E.g. after optimising a conformer, the properties obtained by this optimisation (i.e. a Simulation) are added to the optimised Conformer. If afterwards another Simulation just calculates more properties, e.g. using a different method or in another solvent, those are added as well.
As an example, here is the original JSON dump of the lowest energy conformer 122
in above example of COOC which can be obtained via
bee conformer get 122 or directly in a browser:
http://localhost:8000/api/v1/conformer/122 (json):
{
"id": 122,
"coordinates": [
[
-2.294758716038157,
-0.31235503047620433,
-0.5246780737235371
],
[
-1.7994206088127687,
0.10628594059856705,
1.025491245379604
],
[
-1.2425862302208874,
-1.315853065048378,
0.3174497699792021
],
[
1.2428134120604182,
-1.3160156789036794,
-0.3159976433510032
],
[
1.7993338968056314,
0.10545383923748915,
-1.0256409754290907
],
[
2.2948403328151628,
-0.3113976115997533,
0.5249595621404242
],
[
-0.5145870083668418,
0.3484226280354427,
-0.4382298989093393
],
[
0.5145354797163036,
0.34896417480649644,
0.4378661190434748
],
[
-1.512875612633373,
-0.3367855134086221,
0.14147493202529224
],
[
1.5129256120986698,
-0.3367020229852411,
-0.14112329119618539
]
],
"trajectory_step": 6,
"tags": [],
"properties": [
{
"e_sp": -239.154371550434,
"e_disp_corr": 0.136281770563,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
5e-05,
-0.64021,
0.0004
],
"e_solv_dielectric": 0.0,
"e_solv_cds": 0.0,
"solv_cavity_volume": 0.0,
"solv_cavity_area": 0.0,
"atoms": [
{
"index": 1,
"charge": 0.090925,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.082326,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.068271,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.068271,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.082328,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.090928,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.325999,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.326002,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": 0.084477,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": 0.084474,
"nmr_shielding": 0.0
}
],
"bonds": [
{
"atom_indices": [
9,
7
],
"bond_order": 1.0
},
{
"atom_indices": [
8,
6
],
"bond_order": 1.0
},
{
"atom_indices": [
6,
7
],
"bond_order": 1.0
},
{
"atom_indices": [
9,
5
],
"bond_order": 1.0
},
{
"atom_indices": [
9,
4
],
"bond_order": 1.0
},
{
"atom_indices": [
9,
3
],
"bond_order": 1.0
},
{
"atom_indices": [
8,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
8,
1
],
"bond_order": 1.0
},
{
"atom_indices": [
0,
8
],
"bond_order": 1.0
}
],
"source": {
"id": 18,
"type": "OPTIMISATION",
"step_index": 4,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP(-F)",
"method": "wB97M-V",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T05:08:29.873589+00:00",
"finished": "2022-06-21T05:12:30.226504+00:00",
"tags": [],
"workflow": {
"id": 2,
"name": "aiqu_confsearch",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 103 -W aiqu_confSearch",
"started": "2022-06-21T04:55:01.581754+00:00",
"finished": "2022-06-21T05:17:18.925492+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
},
{
"e_sp": -239.157259371914,
"e_disp_corr": 0.136236010393,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
6e-05,
-0.83841,
0.00044
],
"e_solv_dielectric": -0.01075434,
"e_solv_cds": 0.0062292,
"solv_cavity_volume": 430.2918,
"solv_cavity_area": 317.3424,
"atoms": [
{
"index": 1,
"charge": 0.115427,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.096825,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.096827,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.096827,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.096826,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.115429,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.36337,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.363375,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": 0.054293,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": 0.054292,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 67,
"type": "SIMULATION",
"step_index": 0,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP(-F)",
"method": "wB97M-V",
"solvent": "Water",
"solvent_model": "SMD",
"started": "2022-06-21T05:32:05.078635+00:00",
"finished": "2022-06-21T05:32:52.170427+00:00",
"tags": [],
"workflow": {
"id": 4,
"name": "aiqu_sp_water",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 122 126 130 134 -W aiqu_SP_solvent -solvent Water",
"started": "2022-06-21T05:32:03.253509+00:00",
"finished": "2022-06-21T05:35:12.659531+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
},
{
"e_sp": -239.159815340441,
"e_disp_corr": 0.136246098793,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
6e-05,
-0.76382,
0.0004
],
"e_solv_dielectric": -0.00576999,
"e_solv_cds": -0.00023,
"solv_cavity_volume": 572.1915,
"solv_cavity_area": 364.2265,
"atoms": [
{
"index": 1,
"charge": 0.109298,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.089797,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.089474,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.089475,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.089798,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.109301,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.343371,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.343373,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": 0.054803,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": 0.054798,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 81,
"type": "SIMULATION",
"step_index": 0,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP(-F)",
"method": "wB97M-V",
"solvent": "Acetonitrile",
"solvent_model": "SMD",
"started": "2022-06-21T05:35:19.443860+00:00",
"finished": "2022-06-21T05:36:08.249521+00:00",
"tags": [],
"workflow": {
"id": 6,
"name": "aiqu_sp_acetonitrile",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 122 126 130 134 -W aiqu_SP_solvent -solvent Acetonitrile",
"started": "2022-06-21T05:35:17.639588+00:00",
"finished": "2022-06-21T05:38:34.260237+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
},
{
"e_sp": -239.158053285969,
"e_disp_corr": 0.136251232275,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
6e-05,
-0.74584,
0.00039
],
"e_solv_dielectric": -0.00507302,
"e_solv_cds": 0.00096699,
"solv_cavity_volume": 527.2938,
"solv_cavity_area": 349.898,
"atoms": [
{
"index": 1,
"charge": 0.106617,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.089653,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.085932,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.085933,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.089655,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.10662,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.342173,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.342176,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": 0.059973,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": 0.059967,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 85,
"type": "SIMULATION",
"step_index": 0,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP(-F)",
"method": "wB97M-V",
"solvent": "Chloroform",
"solvent_model": "SMD",
"started": "2022-06-21T05:38:40.979519+00:00",
"finished": "2022-06-21T05:39:29.382666+00:00",
"tags": [],
"workflow": {
"id": 7,
"name": "aiqu_sp_chloroform",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 122 126 130 134 -W aiqu_SP_solvent -solvent Chloroform",
"started": "2022-06-21T05:38:39.046123+00:00",
"finished": "2022-06-21T05:41:54.566629+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
},
{
"e_sp": -239.158308686887,
"e_disp_corr": 0.136263428283,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
5e-05,
-0.70072,
0.00037
],
"e_solv_dielectric": -0.00274906,
"e_solv_cds": -0.00132307,
"solv_cavity_volume": 621.2036,
"solv_cavity_area": 379.8425,
"atoms": [
{
"index": 1,
"charge": 0.100689,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.086478,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.079057,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.079058,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.08648,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.100692,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.334352,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.334354,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": 0.068129,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": 0.068124,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 89,
"type": "SIMULATION",
"step_index": 0,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP(-F)",
"method": "wB97M-V",
"solvent": "Benzene",
"solvent_model": "SMD",
"started": "2022-06-21T05:42:00.898806+00:00",
"finished": "2022-06-21T05:42:49.440891+00:00",
"tags": [],
"workflow": {
"id": 8,
"name": "aiqu_sp_benzene",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 122 126 130 134 -W aiqu_SP_solvent -solvent Benzene",
"started": "2022-06-21T05:41:58.975735+00:00",
"finished": "2022-06-21T05:45:14.150923+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
},
{
"e_sp": -229.850108527948,
"e_disp_corr": 0.0,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
4e-05,
-0.56164,
0.00029
],
"e_solv_dielectric": 0.0,
"e_solv_cds": 0.0,
"solv_cavity_volume": 0.0,
"solv_cavity_area": 0.0,
"atoms": [
{
"index": 1,
"charge": 0.10565,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.101787,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": 0.090089,
"nmr_shielding": 0.0
},
{
"index": 4,
"charge": 0.09009,
"nmr_shielding": 0.0
},
{
"index": 5,
"charge": 0.10179,
"nmr_shielding": 0.0
},
{
"index": 6,
"charge": 0.105652,
"nmr_shielding": 0.0
},
{
"index": 7,
"charge": -0.173683,
"nmr_shielding": 0.0
},
{
"index": 8,
"charge": -0.173684,
"nmr_shielding": 0.0
},
{
"index": 9,
"charge": -0.123842,
"nmr_shielding": 0.0
},
{
"index": 10,
"charge": -0.123849,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 93,
"type": "SIMULATION",
"step_index": 1,
"software": "ORCA",
"software_version": "5.0.3",
"basis_set": "def2-TZVP",
"method": "B3LYP",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T05:45:19.813512+00:00",
"finished": "2022-06-21T05:45:51.344040+00:00",
"tags": [],
"workflow": {
"id": 9,
"name": "aiqu_sp_excitedstate",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 122 -W aiqu_SP_excitedState",
"started": "2022-06-21T05:45:18.272573+00:00",
"finished": "2022-06-21T05:45:52.344372+00:00",
"tags": [],
"recipe": {
"id": 101,
"type": "aiqu-large",
"molecule_id": 101,
"state": "FINISHED"
}
}
}
}
]
}