And as a follow up - running this:

#!/usr/bin/env python

from rdkit import Chem

mol = Chem.MolFromSmiles("CCC1CNCC1CC")
edit_mol = Chem.EditableMol(mol)
edit_mol.RemoveAtom(0)

for atom in edit_mol.GetMol().GetAtoms():
    print atom.GetIdx()

gives seg fault...

jp@xxx:~/tmp$ test.py
Segmentation fault


-
Jean-Paul Ebejer
Early Stage Researcher


On 22 March 2012 15:52, JP <jeanpaul.ebe...@inhibox.com> wrote:

>
> Hi there at RDKit,
>
> I have a set of atom indices from a molecule I want to keep, and any atom
> which is not in this list I want to discard.
>
> I thought of implementing this as follows:
>
> #!/usr/bin/env python
>
> from rdkit import Chem
>
> mol = Chem.MolFromSmiles("CCC1CNCC1CC")
>
> keep_atoms = [2,3,4] # assume these exist in the above as an example, you
> can print the atom ids to check
>
> edit_mol = Chem.EditableMol(mol)
> for atom in mol.GetAtoms():
>     if atom.GetIdx() not in keep_atoms:
>         edit_mol.RemoveAtom(atom.GetIdx())
>
>  I am not sure this is the best implementation (also because it does not
> work), but it's a try.
>
> The end result should be an sdf file with only atoms 2,3,4 from the
> original molecule.
>
> When I run the above I get:
>
> [15:45:50]
>
> ****
> Range Error
> idx
> Violation occurred on line 143 in file
> /opt/RDKit_2011_12_1/Code/GraphMol/ROMol.cpp
> Failed Expression: 0 <= 6 <= 5
> ****
>
> Traceback (most recent call last):
>   File "./test.py", line 12, in <module>
>     edit_mol.RemoveAtom(atom.GetIdx())
> RuntimeError: Range Error
>
> I cannot quite understand this error.  Can anyone shed some light?
> I mean this is related to me deleting 3 atoms from the molecule, so it
> somehow expects the range to be from 0 <= x <= 5  instead of 0 <= x <= 8...
> but why is there this check in place?
>
> Many Thanks
>
> -
> Jean-Paul Ebejer
> Early Stage Researcher
>
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to