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