Re: [Rdkit-discuss] How to get substructure matches with different atoms?
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
|
From: Masgils <ma...@16...> - 2019-07-26 01:51:02
|
Dear Paolo,
Thank you very much. It was very helpful.
I get atom idx of the corresponding structure in each molecule successful!
But there is another problem.
When I used:
a = mols[0].GetSubstructMatch(generic)
b = mols[1].GetSubstructMatch(generic)
AllChem.GetBestRMS(mols[0],mols[1],map=list(zip(a,b)))
The AllChem.GetBestRMS arise a ValueError:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-74-fd80273b39cc> in <module>
1 a = mols[0].GetSubstructMatch(generic)
2 b = mols[1].GetSubstructMatch(generic)
----> 3 AllChem.GetBestRMS(mols[0],mols[1],map=list(zip(a,b)))
ValueError: sequence does not support length query
Is its usage different from the atomMap parameter in Chem. rdMolAlign.AlignMol?
Best Regards,
M.
At 2019-07-26 01:07:13, "Paolo Tosco" <pao...@gm...> wrote:
Dear Masgils,
you may try something along these lines, i.e. make atoms and/or bonds generic on one of the molecules withrdmolops.AdjustQueryProperties() in order to get subtructures to match, and then use rdMolAlign.GetBestRMS():
piperidine=Chem.AddHs(Chem.MolFromSmiles("C1CC(C)CCN1"))AllChem.EmbedMolecule(piperidine)AllChem.MMFFOptimizeMolecule(piperidine)piperidine_noh=Chem.RemoveHs(piperidine)
piperazine=Chem.AddHs(Chem.MolFromSmiles("C1CN(C)CCN1"))AllChem.EmbedMolecule(piperazine)AllChem.MMFFOptimizeMolecule(piperazine)piperazine_noh=Chem.RemoveHs(piperazine)
piperidine_noh
piperazine_noh
piperidine_noh.GetSubstructMatches(piperazine_noh)
()
params=AllChem.AdjustQueryParameters()
params.makeAtomsGeneric=True
params.makeBondsGeneric=True
piperazine_noh_generic=AllChem.AdjustQueryProperties(piperazine_noh,params)
piperazine_noh_generic
piperidine_noh.GetSubstructMatches(piperazine_noh_generic)
((0, 1, 2, 3, 4, 5, 6),)
AllChem.GetBestRMS(piperazine_noh_generic,piperidine_noh)
0.39432427325884206
Hope this helps, cheers
p.
On 07/25/19 16:53, Masgils wrote:
Hi, all
Is it possible use GetSubstructMatches() to match a substructure with one or two atom different from ref_mol? (eg. a Piperidine ring and a Piperazing ring)
And how to get the RMSD between corresponding atoms of two substructures?
_______________________________________________
Rdkit-discuss mailing list
Rdk...@li...://lists.sourceforge.net/lists/listinfo/rdkit-discuss
|