Hi, I suspect that you don't modify the data structure you are iterating over but rather the iterating object. For instance when you iterate over a list and try to change the element, the following will not work (you probably know this):
Input: l=[1,2,3] for i in l: i=5 print l Output: [1, 2, 3] I don't know whether Swig copies the data structure or allows you to directly modify the C++ data structure when using the iterator object. Instead, you might try to initialize a new object of the corresponding class and retreive the corresponding atom/residue via the appropriate getter function. You could also try to create an empty molecule and add all atoms to it after modifying them and print the new one. Here is an example how to iterate over all atoms via the corresponding ID: import openbabel as op def get_coordinates(mol): a=op.OBAtom() coordinates=[None]*mol.NumAtoms() for idx in range(1,mol.NumAtoms()+1): a = mol.GetAtom(idx) coordinates[idx-1] = [a.GetX(),a.GetY(),a.GetZ()] return coordinates I just tried to iterate over all residues in one of my molecules but I noticed that mol.NumResidues() returned 0 (might be because I used an XYZ-file that does not store residue information). Are you sure your are actually iterating over all residues and atoms within them? Also, if you have a look at the method you are calling: void OBResidue::SetAtomID(OBAtom *atom, const string &id) { for ( unsigned int i = 0 ; i < _atoms.size() ; ++i ) if (_atoms[i] == atom) _atomid[i] = id; } This checks for equivalence of pointers, so I guess they are just not equivalent, for whatever reason. Cheers and I hope this helps, Torsten > hi all, > > i'm trying to use a basic > `pybel.readfile()` --> modify molecule --> `newmol.write()` pattern, > but something is not going right. > > the specific task is to add unique atom indices to a PDBQT file > without them, but that conversion seems to be working fine. > but the resulting output PDBQT contains only the REMARKS header > from the original file? i'm not able to debug very far because > of the Swig wrapper around the OBMol. > > i'm attaching the routine, and a sample PDBQT file. > > does anyone see the problem? thanks for any pointers, > > Rik ------------------------------------------------------------------------------ _______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss