Skip to content

Commit 2cd6a7a

Browse files
authored
Merge pull request #456 from diogomart/crippen
feat: add crippen values to molsetup
2 parents 53f3e42 + 1dd768c commit 2cd6a7a

3 files changed

Lines changed: 18 additions & 1 deletion

File tree

meeko/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from .utils import geomutils
2424
from .utils import utils
2525
from .atomtyper import AtomTyper
26+
from .atomtyper import add_crippen_to_molsetup
2627
from .receptor_pdbqt import PDBQTReceptor
2728
from .polymer import Polymer
2829
from .polymer import Monomer

meeko/atomtyper.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import numpy as np
77

88
from .utils import pdbutils
9+
from rdkit.Chem import rdMolDescriptors
910

1011

1112
class AtomTyper:
@@ -369,3 +370,12 @@ def normalized(self, vec):
369370
else:
370371
# should be np.array
371372
return vec / l
373+
374+
375+
def add_crippen_to_molsetup(molsetup):
376+
atom_contribs = rdMolDescriptors._CalcCrippenContribs(molsetup.mol)
377+
crippen = [atom[0] for atom in atom_contribs]
378+
nr_pseudo_atoms = len(molsetup.atoms) - molsetup.mol.GetNumAtoms()
379+
crippen += [0.0] * nr_pseudo_atoms
380+
molsetup.atom_params["crippen"] = crippen
381+
return None

meeko/preparation.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from .molsetup import Bond
1717
from .molsetup import RDKitMoleculeSetup
1818
from .atomtyper import AtomTyper
19+
from .atomtyper import add_crippen_to_molsetup
1920
from .espalomatyper import EspalomaTyper
2021
from .bondtyper import BondTyperLegacy
2122
from .hydrate import HydrateMoleculeLegacy
@@ -106,7 +107,8 @@ def __init__(
106107
reactive_smarts_idx=None,
107108
add_index_map=False,
108109
remove_smiles=False,
109-
compute_charges=False
110+
compute_charges=False,
111+
crippen=False,
110112
):
111113
"""
112114
@@ -191,6 +193,7 @@ def __init__(
191193
self.charge_model = charge_model
192194
self.compute_charges = compute_charges
193195
self.charge_atom_prop = charge_atom_prop
196+
self.crippen = crippen
194197

195198
if self.charge_model!="read" and self.charge_atom_prop:
196199
raise ValueError(
@@ -663,6 +666,9 @@ def prepare(
663666
new_atom_info = orig_pdbinfo._replace(name=new_name)
664667
atom.pdbinfo = new_atom_info
665668

669+
if self.crippen:
670+
add_crippen_to_molsetup(setup)
671+
666672
if self.reactive_smarts is None:
667673
setups = [setup]
668674
else:

0 commit comments

Comments
 (0)