Hello,
I'm trying to construct a pharmacophore model from a ref_mol and then
generate embedding of a test_mol that matches the pharmacophore model
features. I attempted:
#Loading and specifying ref_mold and test_mol:
mols = Chem.SDMolSupplier('PCM.sdf', sanitize=True, removeHs=False,
strictParsing=True)
ref_mol = mols[0]
test_mol = mols[1]
#Constucting pharmacophore model from specific features of ref_mol:
fdefName = os.path.join(RDConfig.RDDataDir,'BaseFeatures.fdef')
feat_fact = ChemicalFeatures.BuildFeatureFactory(fdefName)
feats = feat_fact.GetFeaturesForMol(ref_mol)
ph_feats = []
ph_feats.append(feats[0])
ph_feats.append(feats[1])
ph_feats.append(feats[3])
ph_feats.append(feats[4])
ph = Pharmacophore.Pharmacophore( ph_feats )
#Testing whether the test_mol matches the pharmacophore:
match,mList = EmbedLib.MatchPharmacophoreToMol(test_mol, feat_fact, ph)
#Getting the AtomMatch:
AtomMatch = []
num_match = len(mList)
for i in range(num_match):
num_feat = len(mList[i])
for j in range(num_feat):
AtomMatch.append( mList[i][j].GetAtomIds() )
#Embedding the test_mol based on the pharmacophore matching:
bm,embeds,nFail = EmbedLib.EmbedPharmacophore(test_mol,AtomMatch,ph)
However, although the test_mol matches the pharmacophore model, I receive
an error "could not smooth bounds matrix" on the last step. I wonder if my
code is the correct way for what's intended which is to check whether a
test_mol matches the pharmacophore model and then generate a conformation
(or just a rigid-transformation) that satisfy the model.
Thank you
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss