from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
from rdkit.Chem.Draw import rdDepictor
from rdkit.Chem.Draw import IPythonConsole
from rdkit.Chem import PandasTools
import py3Dmol
import copy
rdDepictor.SetPreferCoordGen(True)
from IPython.display import display
import qcportal as ptl
client = ptl.FractalClient()
client
client.list_collections('TorsionDriveDataset')
tagline | ||
---|---|---|
collection | name | |
TorsionDriveDataset | Fragment Stability Benchmark | None |
Fragmenter paper | None | |
OpenFF DANCE 1 eMolecules t142 v1.0 | None | |
OpenFF Fragmenter Validation 1.0 | None | |
OpenFF Full TorsionDrive Benchmark 1 | None | |
OpenFF Gen 2 Torsion Set 1 Roche | None | |
OpenFF Gen 2 Torsion Set 1 Roche 2 | None | |
OpenFF Gen 2 Torsion Set 2 Coverage | None | |
OpenFF Gen 2 Torsion Set 2 Coverage 2 | None | |
OpenFF Gen 2 Torsion Set 3 Pfizer Discrepancy | None | |
OpenFF Gen 2 Torsion Set 3 Pfizer Discrepancy 2 | None | |
OpenFF Gen 2 Torsion Set 4 eMolecules Discrepancy | None | |
OpenFF Gen 2 Torsion Set 4 eMolecules Discrepancy 2 | None | |
OpenFF Gen 2 Torsion Set 5 Bayer | None | |
OpenFF Gen 2 Torsion Set 5 Bayer 2 | None | |
OpenFF Gen 2 Torsion Set 6 Supplemental | None | |
OpenFF Gen 2 Torsion Set 6 Supplemental 2 | None | |
OpenFF Group1 Torsions | None | |
OpenFF Group1 Torsions 2 | None | |
OpenFF Group1 Torsions 3 | None | |
OpenFF Primary Benchmark 1 Torsion Set | None | |
OpenFF Primary Benchmark 2 Torsion Set | None | |
OpenFF Primary TorsionDrive Benchmark 1 | None | |
OpenFF Rowley Biaryl v1.0 | Torsiondrives of biaryl molecules. | |
OpenFF Substituted Phenyl Set 1 | None | |
OpenFF Theory Benchmarking Set B3LYP-D3BJ DZVP v1.0 | Torsiondrives for benchmarking B3LYP-D3BJ/DZVP | |
OpenFF Theory Benchmarking Set B3LYP-D3BJ def2-TZVP v1.0 | Torsiondrives for benchmarking B3LYP-D3BJ/def2... | |
OpenFF Theory Benchmarking Set B3LYP-D3BJ def2-TZVPD v1.0 | Torsiondrives for benchmarking B3LYP-D3BJ/def2... | |
OpenFF Theory Benchmarking Set B3LYP-D3BJ def2-TZVPP v1.0 | Torsiondrives for benchmarking B3LYP-D3BJ/def2... | |
OpenFF-benchmark-ligand-fragments-v1.0 | Fragmented torsiondrives of JACS benchmark inh... | |
Pfizer Discrepancy Torsion Dataset 1 | None | |
SMIRNOFF Coverage Torsion Set 1 | None | |
SiliconTX Torsion Benchmark Set 1 | None | |
TorsionDrive Paper | None |
ds = client.get_collection("TorsionDriveDataset", "OpenFF-benchmark-ligand-fragments-v1.0")
ds.list_specifications()
Description | |
---|---|
Name | |
default | Standard OpenFF optimization quantum chemistry... |
openff-1.0.0 | default openff-1.0.0 spec |
gaff-2.11 | default gaff-2.11 spec |
ani2x | ANI2x ML potential. |
df1 = ds.df
df1['Mol'] = df1.index.to_list()
PandasTools.AddMoleculeColumnToFrame(df1, smilesCol='Mol', molCol='Mol')
df1.head(5)
Mol | |
---|---|
[H]c1[c:1]([c:2](c(c(c1[H])N([H])C(=O)[H])[H])[C:3]2=C(C(=C([S:4]2)[H])OC([H])([H])[H])Br)[H] | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[C:3](=[O:4])N([H])c2c(c(c(c(c2[H])[H])[H])[H])[H])[H])[H] | |
[H]c1c(c(c(c(c1[H])[H])[C:4](=O)[N:3]([H])[c:2]2[c:1](c(c(c(c2[H])C3=C(C(=C(S3)[H])[H])Br)[H])[H])[H])[H])[H] | |
[H]c1c(c(c(c(c1[H])[H])C2=C([C:2](=[C:1](S2)C(=O)[O-])[O:3][C:4]([H])([H])C(=O)[O-])Br)[H])[H] | |
[H]C1=C(C(=[C:2]([S:1]1)[C:3](=O)[O-:4])OC([H])([H])[H])Br |
ani2xcomdf = ds.status('ani2x',collapse=False, status="COMPLETE")
ani2xcomdf['Mol'] = ani2xcomdf.index.to_list()
PandasTools.AddMoleculeColumnToFrame(ani2xcomdf, smilesCol='Mol', molCol='Mol')
ani2xcomdf['RowID'] = [i for i in range(ani2xcomdf.shape[0])]
ani2xcomdf
ani2x | Mol | RowID | |
---|---|---|---|
[H]c1c(c(c(c(c1[H])[H])N([H])[C:2](=[O:1])[C:3]([H])([H])[C:4]([H])([H])[H])[H])[H] | COMPLETE | 0 | |
[H]c1c(c(c(c(c1[H])[H])N([H])[C:2](=[O:1])[O:3][C:4]([H])([H])[H])[H])[H] | COMPLETE | 1 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[O:3][C:4]([H])([H])[H])[H])[H] | COMPLETE | 2 | |
[H]c1c(c([c:1]([c:2](c1[H])[N:3]([H:4])C2(C(C(N(C(C2([H])[H])([H])[H])S(=O)(=O)C([H])([H])[H])([H])[H])([H])[H])[H])[H])C3=C(C(=C(S3)C(=O)[O-])O[H])[H])[H] | COMPLETE | 3 | |
[H]C1=C([S:1][C:2](=C1OC([H])([H])[H])[C:3](=O)[O-:4])[H] | COMPLETE | 4 | |
[H]c1c(c(c([c:1]([c:2]1[O:3][C:4]([H])([H])C([H])([H])C([H])([H])[H])[H])C([H])([H])[H])Cl)[H] | COMPLETE | 5 | |
[H]c1c(c(c(c([c:4]1[O:3][C:2]([H])([H])[C:1]([H])([H])C([H])([H])[H])[H])C([H])([H])[H])Cl)[H] | COMPLETE | 6 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[C:3]([F:4])(F)F)[H])[H] | COMPLETE | 7 | |
[H]c1c(c(c([c:4](c1[H])[O:3][C:2]([H])([H])[C:1]([H])([H])C([H])([H])[H])[H])C([H])([H])[H])[H] | COMPLETE | 8 | |
[H]c1c(c(c(c2c1C(=[C:2]([N:1]2[H])[C:3](=O)[O-:4])C([H])([H])[H])[H])Cl)[H] | COMPLETE | 9 | |
[H]c1c(c([c:4](c(c1[H])[H])[N:3]([H])[c:2]2[n:1]c(c3c(n2)N(C(=N3)[H])[H])[H])[H])[H] | COMPLETE | 10 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[S@@:3](=[O:4])C([H])([H])[H])[H])[H] | COMPLETE | 11 | |
[H]c1c(c(c(c(c1[H])[H])[C@:3]2(C(=O)N(C(=[N+:4]2[H])N([H])[H])C([H])([H])[H])[C:2]3([C:1](C(C(C3([H])[H])([H])[H])([H])[H])([H])[H])[H])[H])[H] | COMPLETE | 12 | |
[H]c1c(c(c(c(c1[H])[H])[C@:3]2(C(=O)N(C(=[N+:4]2[H])N([H])[H])C([H])([H])[H])[C:2]3([C:1](C3([H])[H])([H])[H])[H])[H])[H] | COMPLETE | 13 | |
[H]c1c(c(c(c(c1[H])[H])[C@:2]2(C(=O)N(C(=[N+:1]2[H])N([H])[H])C([H])([H])[H])[C:3]([H])([H])[C:4]([H])([H])[H])[H])[H] | COMPLETE | 14 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[c:3]2c(nc(c([n:4]2)[H])[H])[H])[H])[H] | COMPLETE | 15 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[c:3]2[c:4](c(nc(c2[H])[H])[H])[H])[H])[H] | COMPLETE | 16 | |
[H]c1c(c([c:2]([c:1](c1[H])[H])[C@:3]2(C(=O)N(C(=[N+:4]2[H])N([H])[H])C([H])([H])[H])C([H])([H])[H])[H])[H] | COMPLETE | 17 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[c:3]2[c:4](c(c(nc2[H])[H])[H])[H])[H])[H] | COMPLETE | 18 | |
[H]c1c([c:1]([c:2](c(c1[H])[H])[C:3]([H])([H])[C:4]([H])([H])[H])[H])[H] | COMPLETE | 19 | |
[H]c1c2c(n[c:2]([n:1]1)[N:3]([H])[C:4]3(C(C(OC(C3([H])[H])([H])[H])([H])[H])([H])[H])[H])N(C(=O)C(=C2[H])[H])C([H])([H])[H] | COMPLETE | 20 | |
[H]c1c2[c:4](nc(n1)[H])[N:3](C(=O)C(=C2[H])OC([H])([H])[H])[C:2]([H])([H])[C:1]([H])([H])[H] | COMPLETE | 21 |
import time
for idx in range(ani2xcomdf.shape[0]):
print("######################################")
display(ani2xcomdf.Mol[idx])
m = copy.deepcopy(ani2xcomdf.Mol[idx])
mh = Chem.AddHs(m)
AllChem.EmbedMolecule(mh)
m = Chem.RemoveHs(mh)
display(IPythonConsole.drawMol3D(m))
ds.visualize(ani2xcomdf.index.to_list()[idx],
['openff-1.0.0', 'ani2x'],
units="kcal / mol")
time.sleep(10)
print("######################################")
######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
###################################### ######################################
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
None
######################################