Author: bugman Date: Mon Feb 9 15:29:08 2015 New Revision: 27611 URL: http://svn.gna.org/viewcvs/relax?rev=27611&view=rev Log: Bug fix for the frame order specific analysis API base_data_loop() method. This was looping over non-existent PCS and RDC data. Now the alignment ID is checked for in the interatomic data container 'rdc' data structure and the spin container 'pcs' data structure, as well as values of None, before yielding the data. Modified: branches/frame_order_cleanup/specific_analyses/frame_order/api.py Modified: branches/frame_order_cleanup/specific_analyses/frame_order/api.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/specific_analyses/frame_order/api.py?rev=27611&r1=27610&r2=27611&view=diff ============================================================================== --- branches/frame_order_cleanup/specific_analyses/frame_order/api.py (original) +++ branches/frame_order_cleanup/specific_analyses/frame_order/api.py Mon Feb 9 15:29:08 2015 @@ -96,7 +96,8 @@ # Loop over the alignment IDs. for align_id in cdp.rdc_ids: # Yield the info set. - yield ['rdc', interatom.spin_id1, interatom.spin_id2, align_id] + if align_id in interatom.rdc and interatom.rdc[align_id] != None: + yield ['rdc', interatom.spin_id1, interatom.spin_id2, align_id] # Loop over the spin containers for the moving domain (for the PCS data). for spin, spin_id in spin_loop(selection=domain_moving(), return_id=True): @@ -111,7 +112,8 @@ # Loop over the alignment IDs. for align_id in cdp.pcs_ids: # Yield the info set. - yield ['pcs', spin_id, align_id] + if align_id in spin.pcs and spin.pcs[align_id] != None: + yield ['pcs', spin_id, align_id] def calculate(self, spin_id=None, scaling_matrix=None, verbosity=1, sim_index=None):