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
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to