Re: [Rdkit-discuss] Euclidean distance between atoms using RDKit
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
From: Navid Shervani-T. <ns...@gm...> - 2019-09-04 23:28:30
|
Thanks Omar, That indeed fix the problem. Navid On Wed, Sep 4, 2019 at 7:15 PM Omar H94 <oma...@gm...> wrote: > Dear Navid, > You need to embed your molecule to have a 3D conformation. > Try: > > from rdkit.Chem import AllChem > mol = Chem.MolFromSmiles('O=CC1OC12CC1OC12') > AllChem.EmbedMolecule(mol) > conf = mol.GetConformer() > at1Coords = np.array(conf.GetAtomPosition(1)) > at2Coords = np.array(conf.GetAtomPosition(2)) > print(np.linalg.norm(at2Coords - at1Coords)) > > I hope this works for you. > Best regards, > Omar > > On Thu, Sep 5, 2019 at 1:59 AM Navid Shervani-Tabar <ns...@gm...> > wrote: > >> Hello, >> >> I'm trying to find the Euclidean distance between two atoms in the >> molecule with SMILES representation `O=CC1OC12CC1OC12` using the `rdkit` >> package. Looking online, I have converged to the following code. >> >> import numpy as np >> from rdkit import Chem >> >> mol = Chem.MolFromSmiles('O=CC1OC12CC1OC12') >> >> conf = mol.GetConformer() >> at1Coords = np.array(conf.GetAtomPosition(bond_i.GetBeginAtomIdx())) >> at2Coords = np.array(conf.GetAtomPosition(bond_i.GetEndAtomIdx())) >> print(np.linalg.norm(at2Coords - at1Coords)) >> >> But I get the error >> >> conf = mol.GetConformer() >> ValueError: Bad Conformer Id >> >> I was wondering how to fix the issue. >> >> Thanks! >> Navid >> >> _______________________________________________ >> Rdkit-discuss mailing list >> Rdk...@li... >> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >> > _______________________________________________ > Rdkit-discuss mailing list > Rdk...@li... > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss > |