Hello Water
Starting with an empty database:
$ bee molecule list
| id | canonical_smiles | multiplicity | charge | molecular_formula | recipe_ids | identifiers | tags |
+----+------------------+--------------+--------+-------------------+------------+-------------+------+
Note
Tip: All bee sub-commands may be abbreviated as long as it is unique.
E.g. above command can be abbreviated as bee mol l.
Add Water to the Database
Single molecules can be added to the database using bee mol create and
specifying the SMILES string. The following adds water as a Molecule with
id=1:
$ bee mol create --smiles O
1
$ bee mol list
| id | canonical_smiles | multiplicity | charge | molecular_formula | recipe_ids | identifiers | tags |
+----+------------------+--------------+--------+-------------------+------------+-------------+------+
| 1 | O | 1 | 0 | H2O | | | |
Alternatively, we could use the REST-API:
$ curl -X 'POST' \
'http://localhost:8000/api/v1/molecule' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"smiles": "O"
}'
{
"id": 1,
"canonical_smiles": "O",
"original_smiles": "O",
"inchi": "InChI=1S/H2O/h1H2",
"multiplicity": 1,
"ambiguous_input": false,
"charge": 0,
"mass": 18.015,
"molecular_formula": "H2O",
"number_of_atoms": 3,
"atoms": [
"H",
"H",
"O"
],
"bonds": [
{
"atom_indices": [
0,
2
],
"type": "SINGLE"
},
{
"atom_indices": [
1,
2
],
"type": "SINGLE"
}
],
"identifiers": [],
"tags": [],
"initial_conformers": [
{
"id": 1,
"coordinates": [
[
0.7903084630389962,
-0.19728968119872656,
0
],
[
-0.7870020412828991,
-0.1999835515539665,
-0
],
[
-0.0033064217560969445,
0.3972732327526928,
-0
]
],
"trajectory_step": 0,
"tags": null,
"properties": [],
"conformer_generations": [],
"optimisations": [],
"nms": []
}
],
"recipes": []
}
Run Weasel confSearch workflow on water
Running Weasel manually can be quite cumbersome because it requires to add a Workflow by hand, but we would like to present it nevertheless once for easier understanding. In the next subsection we present an easier method using Recipes.
Browsing the results
As shown above, we now have the following simulations from this Weasel run:
$ bee workflow overview 1
Workflow 1 (aiqu_confsearch) has FINISHED on 2022-06-21 10:37:23
[ 18s] 1 #1 CONFORMER_GENERATION (CREST-RDKIT) on Conformer 1 generating Conformers 3, 2
[ 0s] 2 #1 SIMULATION (XTB) on Conformer 3
[ 0s] 3 #1 SIMULATION (XTB) on Conformer 2
[ 0s] 4 #2 OPTIMISATION (XTB) on Conformer 2 generating Conformers 4@0
[ 1s] 5 #3 OPTIMISATION (r2SCAN-3c) on Conformer 4 generating Conformers 5@3
[ 10s] 6 #4 OPTIMISATION (wB97M-V) on Conformer 5 generating Conformers 9@5, 8@4, 7@2, 6@0
Starting with the Molecule's initial conformer, Bee stores the origin of each Conformer in a tree of alternating Conformers and Simulations. The CLI allows to print it:
$ bee mol tree --show-methods 1
Molecule 1: O
└── Conformer 1
└── Conformer Generation (CREST-RDKIT) 1
├── Conformer 2
│ ├── Simulation (XTB) 3
│ └── Optimisation (XTB) 4
│ └── Conformer 4
│ └── Optimisation (r2SCAN-3c) 5
│ └── Conformer 5
│ └── Optimisation (wB97M-V) 6
│ ├── Conformer 6
│ ├── Conformer 7
│ ├── Conformer 8
│ └── Conformer 9
└── Conformer 3
└── Simulation (XTB) 2
Here is the original JSON dump from the Weasel run which can be obtained
via bee mol get --depth=-1 1 or directly in a browser:
http://localhost:8000/api/v1/molecule/1?depth=-1 (json):
{
"id": 1,
"canonical_smiles": "O",
"original_smiles": "O",
"inchi": "InChI=1S/H2O/h1H2",
"multiplicity": 1,
"ambiguous_input": false,
"charge": 0,
"mass": 18.015,
"molecular_formula": "H2O",
"number_of_atoms": 3,
"atoms": [
"H",
"H",
"O"
],
"bonds": [
{
"atom_indices": [
0,
2
],
"type": "SINGLE"
},
{
"atom_indices": [
1,
2
],
"type": "SINGLE"
}
],
"recipe_ids": [
1
],
"identifiers": [],
"tags": [],
"initial_conformers": [
{
"id": 1,
"coordinates": [
[
0.7903084630389962,
-0.19728968119872656,
0.0
],
[
-0.7870020412828991,
-0.1999835515539665,
-0.0
],
[
-0.0033064217560969445,
0.3972732327526928,
-0.0
]
],
"trajectory_step": 0,
"properties": [],
"conformer_generations": [
{
"id": 1,
"type": "CONFORMER_GENERATION",
"step_index": 1,
"software": "CREST;RDKit",
"software_version": "2.11.1;2021.09.4",
"method": "CREST-RDKIT",
"solvent": "Gas",
"solvent_model": "GAS",
"started": "2022-06-21T10:36:52.203096+00:00",
"finished": "2022-06-21T10:37:10.434677+00:00",
"tags": [],
"workflow": {
"id": 1,
"name": "aiqu_confsearch",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 1 -W aiqu_confSearch",
"started": "2022-06-21T10:36:50.987554+00:00",
"finished": "2022-06-21T10:37:23.159792+00:00",
"tags": [],
"recipe": {
"id": 1
}
},
"conformer_id": 1,
"generated_conformers": [
{
"id": 3,
"coordinates": [
[
0.7634679492870561,
-0.5299452255616478,
2.649968814849072e-10
],
[
-0.763467903074335,
-0.5299449994055575,
7.593725096358315e-10
],
[
-2.9115834056845955e-09,
0.0667772577515434,
-6.453930534719073e-11
]
],
"tags": [],
"properties": [
{
"e_sp": -5.070544446867,
"e_disp_corr": 0.0,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
0.0,
0.0,
0.0
],
"e_solv_dielectric": 0.0,
"e_solv_cds": 0.0,
"solv_cavity_volume": 0.0,
"solv_cavity_area": 0.0,
"atoms": [
{
"index": 1,
"nmr_shielding": 0.0
},
{
"index": 2,
"nmr_shielding": 0.0
},
{
"index": 3,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 2,
"type": "SIMULATION",
"step_index": 1,
"software": "xTB",
"software_version": "6.4.1",
"method": "XTB",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.511455+00:00",
"finished": "2022-06-21T10:37:10.517706+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [],
"nms": []
},
{
"id": 2,
"coordinates": [
[
0.7721534260895587,
-0.5053887512463779,
2.3845129059117404e-10
],
[
-0.7721535640104413,
-0.505388649846378,
7.38451290591174e-10
],
[
8.68955870129192e-09,
0.06368295645362197,
-6.154870940882597e-11
]
],
"tags": [],
"properties": [
{
"e_sp": -5.070208020641,
"e_disp_corr": 0.0,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
0.0,
0.0,
0.0
],
"e_solv_dielectric": 0.0,
"e_solv_cds": 0.0,
"solv_cavity_volume": 0.0,
"solv_cavity_area": 0.0,
"atoms": [
{
"index": 1,
"nmr_shielding": 0.0
},
{
"index": 2,
"nmr_shielding": 0.0
},
{
"index": 3,
"nmr_shielding": 0.0
}
],
"bonds": [],
"source": {
"id": 3,
"type": "SIMULATION",
"step_index": 1,
"software": "xTB",
"software_version": "6.4.1",
"method": "XTB",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.583052+00:00",
"finished": "2022-06-21T10:37:10.589815+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [
{
"id": 4,
"type": "OPTIMISATION",
"step_index": 2,
"software": "xTB",
"software_version": "6.4.1",
"method": "XTB",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.810300+00:00",
"finished": "2022-06-21T10:37:10.818660+00:00",
"tags": [],
"workflow": {
"id": 1,
"name": "aiqu_confsearch",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 1 -W aiqu_confSearch",
"started": "2022-06-21T10:36:50.987554+00:00",
"finished": "2022-06-21T10:37:23.159792+00:00",
"tags": [],
"recipe": {
"id": 1
}
},
"conformer_id": 2,
"generated_conformers": [
{
"id": 4,
"coordinates": [
[
0.7721805768133071,
-0.5053622067491834,
2.3841684511088165e-10
],
[
-0.7721806650037473,
-0.5053620725425012,
7.384343784759134e-10
],
[
5.556344997145997e-09,
0.06367960957097431,
-6.154547367807297e-11
]
],
"trajectory_step": 0,
"tags": [],
"properties": [
{
"e_sp": -5.070544447683,
"e_disp_corr": 0.0,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
0.0,
0.0,
0.0
],
"e_solv_dielectric": 0.0,
"e_solv_cds": 0.0,
"solv_cavity_volume": 0.0,
"solv_cavity_area": 0.0,
"atoms": [
{
"index": 1,
"nmr_shielding": 0.0
},
{
"index": 2,
"nmr_shielding": 0.0
},
{
"index": 3,
"nmr_shielding": 0.0
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 4,
"type": "OPTIMISATION",
"step_index": 2,
"software": "xTB",
"software_version": "6.4.1",
"method": "XTB",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.810300+00:00",
"finished": "2022-06-21T10:37:10.818660+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [
{
"id": 5,
"type": "OPTIMISATION",
"step_index": 3,
"software": "ORCA",
"software_version": "5.0.3",
"method": "r2SCAN-3c",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.911041+00:00",
"finished": "2022-06-21T10:37:12.398793+00:00",
"tags": [],
"workflow": {
"id": 1,
"name": "aiqu_confsearch",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 1 -W aiqu_confSearch",
"started": "2022-06-21T10:36:50.987554+00:00",
"finished": "2022-06-21T10:37:23.159792+00:00",
"tags": [],
"recipe": {
"id": 1
}
},
"conformer_id": 4,
"generated_conformers": [
{
"id": 5,
"coordinates": [
[
0.75857877604137,
-0.51280723036826,
2.5002e-10
],
[
-0.75857886537877,
-0.51280709841769,
7.4123e-10
],
[
6.70331e-09,
0.07856965906524,
-7.594e-11
]
],
"trajectory_step": 3,
"tags": [],
"properties": [
{
"e_sp": -76.418607247482,
"e_disp_corr": 0.0,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
-0.0,
-0.73195,
0.0
],
"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.306535,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.306535,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": -0.61307,
"nmr_shielding": 0.0
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 5,
"type": "OPTIMISATION",
"step_index": 3,
"software": "ORCA",
"software_version": "5.0.3",
"method": "r2SCAN-3c",
"solvent": "GAS",
"solvent_model": "GAS",
"started": "2022-06-21T10:37:10.911041+00:00",
"finished": "2022-06-21T10:37:12.398793+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [
{
"id": 6,
"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-21T10:37:12.483348+00:00",
"finished": "2022-06-21T10:37:22.987208+00:00",
"tags": [],
"workflow": {
"id": 1,
"name": "aiqu_confsearch",
"software": "WEASEL",
"software_version": "1.9.2.dev549+g758c8e17.d20220614",
"command": "weasel -bee-workflow {id} -bee-conf 1 -W aiqu_confSearch",
"started": "2022-06-21T10:36:50.987554+00:00",
"finished": "2022-06-21T10:37:23.159792+00:00",
"tags": [],
"recipe": {
"id": 1
}
},
"conformer_id": 5,
"generated_conformers": [
{
"id": 9,
"coordinates": [
[
0.72492496857077,
-0.49784573988126,
2.4646e-10
],
[
-0.72492505355001,
-0.49784561246884,
7.1587e-10
],
[
2.34516e-09,
0.04864668262938,
-4.702e-11
]
],
"trajectory_step": 5,
"tags": [],
"properties": [
{
"e_sp": -79.142596384315,
"e_disp_corr": 0.042835872764,
"e_coulomb": 0.0,
"e_exchange": 0.0,
"dipole": [
-0.0,
-0.80216,
-0.0
],
"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.28587,
"nmr_shielding": 0.0
},
{
"index": 2,
"charge": 0.28587,
"nmr_shielding": 0.0
},
{
"index": 3,
"charge": -0.57174,
"nmr_shielding": 0.0
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 6,
"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-21T10:37:12.483348+00:00",
"finished": "2022-06-21T10:37:22.987208+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [],
"nms": []
},
{
"id": 8,
"coordinates": [
[
0.724925,
-0.497846,
0.0
],
[
-0.724925,
-0.497846,
0.0
],
[
0.0,
0.048647,
-0.0
]
],
"trajectory_step": 4,
"tags": [],
"properties": [
{
"e_sp": -79.142596384315,
"atoms": [
{
"index": 1,
"force": [
5.224e-06,
-4.7229e-05,
2e-09
]
},
{
"index": 2,
"force": [
-5.283e-06,
-4.7218e-05,
2e-09
]
},
{
"index": 3,
"force": [
1.1e-08,
-4.9614e-05,
-1.1e-08
]
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 6,
"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-21T10:37:12.483348+00:00",
"finished": "2022-06-21T10:37:22.987208+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [],
"nms": []
},
{
"id": 7,
"coordinates": [
[
0.721985,
-0.500016,
0.0
],
[
-0.721985,
-0.500016,
0.0
],
[
0.0,
0.052987,
-0.0
]
],
"trajectory_step": 2,
"tags": [],
"properties": [
{
"e_sp": -79.142572949627,
"atoms": [
{
"index": 1,
"force": [
-0.000395387,
0.002139178,
-5e-09
]
},
{
"index": 2,
"force": [
0.000395364,
0.002139233,
-8e-09
]
},
{
"index": 3,
"force": [
1.5e-08,
-0.004416383,
5e-09
]
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 6,
"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-21T10:37:12.483348+00:00",
"finished": "2022-06-21T10:37:22.987208+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [],
"nms": []
},
{
"id": 6,
"coordinates": [
[
0.758579,
-0.512807,
0.0
],
[
-0.758579,
-0.512807,
0.0
],
[
0.0,
0.07857,
-0.0
]
],
"trajectory_step": 0,
"tags": [],
"properties": [
{
"e_sp": -79.136129677846,
"atoms": [
{
"index": 1,
"force": [
-0.047272811,
0.036411674,
1e-09
]
},
{
"index": 2,
"force": [
0.047272869,
0.036411672,
-3e-09
]
},
{
"index": 3,
"force": [
-2.2e-08,
-0.072975424,
2.8e-08
]
}
],
"bonds": [
{
"atom_indices": [
0,
2
],
"bond_order": 1.0
},
{
"atom_indices": [
1,
2
],
"bond_order": 1.0
}
],
"source": {
"id": 6,
"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-21T10:37:12.483348+00:00",
"finished": "2022-06-21T10:37:22.987208+00:00",
"tags": [],
"workflow_id": 1
}
}
],
"conformer_generations": [],
"optimisations": [],
"nms": []
}
]
}
],
"nms": []
}
]
}
],
"nms": []
}
]
}
],
"nms": []
}
]
}
],
"optimisations": [],
"nms": []
}
],
"recipes": [
{
"id": 1,
"type": "aiqu-large",
"state": "RUNNING",
"tags": [],
"molecule_id": 1,
"workflow_ids": [
1
]
}
]
}