Hi, Sorry for not getting back to this message earlier, I've had a few deadlines lately. Please see below for more.
On Wed, Feb 4, 2009 at 9:16 PM, Sébastien Morin <sebastien.mori...@ulaval.ca> wrote: > Hi Ed, > > I tried what you proposed... > > ======================== > from generic_fns.mol_res_spin import spin_loop > pipe.create() > sequence.read() > structure.read_pdb() > structure.vectors() > for spin, spin_id in spin_loop(return_id=True): > print "%s %s" % (spin_id, spin.xh_vect) > ======================== > > However, there is something quite annoying (but predictable)... If the > sequence used contains residues for which the N-H vector does not exist > (e.g. N-terminal residue, or proline), the spin loop will produce an > error message such as: > > ======================== > for spin, spin_id in spin_loop(return_id=True): > print "%s %s" % (spin_id, spin.xh_vect) > > Traceback (most recent call last): > File "<console>", line 2, in <module> > AttributeError: 'SpinContainer' object has no attribute 'xh_vect' > ======================== This can be solved using the hasattr() function. So in the spin loop have: if not hasattr(spin, 'xh_vect'): continue This will skip all spins with no XH vectors. You can make the output a bit fancier if you set the spin_loop() argument full_info to True as this will then return the molecule name, residue name, residue number, and the spin container which contains the atom name and number. Regards, Edward _______________________________________________ relax (http://nmr-relax.com) This is the relax-users mailing list relax-users@gna.org To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-users