Author: bugman Date: Tue Nov 13 22:19:54 2007 New Revision: 3525 URL: http://svn.gna.org/viewcvs/relax?rev=3525&view=rev Log: Fix for bug #10323 (https://gna.org/bugs/?10323). This bug was reported by Douglas Kojetin <douglas dot kojetin at gmail dot com>. The fix was to simply use the same fix which went into the equivalent model-free code years and years ago! Modified: 1.2/specific_fns/jw_mapping.py Modified: 1.2/specific_fns/jw_mapping.py URL: http://svn.gna.org/viewcvs/relax/1.2/specific_fns/jw_mapping.py?rev=3525&r1=3524&r2=3525&view=diff ============================================================================== --- 1.2/specific_fns/jw_mapping.py (original) +++ 1.2/specific_fns/jw_mapping.py Tue Nov 13 22:19:54 2007 @@ -656,16 +656,18 @@ ri_error = [] if hasattr(self.relax.data, 'num_ri'): for i in xrange(self.relax.data.num_ri[self.run]): - # Find the residue specific data corresponding to i. - index = None - for j in xrange(data.num_ri): - if data.ri_labels[j] == self.relax.data.ri_labels[self.run][i] and data.frq_labels[data.remap_table[j]] == self.relax.data.frq_labels[self.run][self.relax.data.remap_table[self.run][i]]: - index = j - - # Data exists for this data type. try: + # Find the residue specific data corresponding to i. + index = None + for j in xrange(data.num_ri): + if data.ri_labels[j] == self.relax.data.ri_labels[self.run][i] and data.frq_labels[data.remap_table[j]] == self.relax.data.frq_labels[self.run][self.relax.data.remap_table[self.run][i]]: + index = j + + # Data exists for this data type. ri.append(`data.relax_data[index]`) ri_error.append(`data.relax_error[index]`) + + # No data exists for this data type. except: ri.append(None) ri_error.append(None) @@ -762,20 +764,23 @@ # Relaxation data and errors. ri = [] ri_error = [] - for k in xrange(self.relax.data.num_ri[self.run]): - # Find the residue specific data corresponding to k. - index = None - for l in xrange(data.num_ri): - if data.ri_labels[l] == self.relax.data.ri_labels[self.run][k] and data.frq_labels[data.remap_table[l]] == self.relax.data.frq_labels[self.run][self.relax.data.remap_table[self.run][k]]: - index = l - - # Data exists for this data type. - try: - ri.append(`data.relax_sim_data[i][index]`) - ri_error.append(`data.relax_error[index]`) - except: - ri.append(None) - ri_error.append(None) + if hasattr(self.relax.data, 'num_ri'): + for k in xrange(self.relax.data.num_ri[self.run]): + try: + # Find the residue specific data corresponding to k. + index = None + for l in xrange(data.num_ri): + if data.ri_labels[l] == self.relax.data.ri_labels[self.run][k] and data.frq_labels[data.remap_table[l]] == self.relax.data.frq_labels[self.run][self.relax.data.remap_table[self.run][k]]: + index = l + + # Data exists for this data type. + ri.append(`data.relax_sim_data[i][index]`) + ri_error.append(`data.relax_error[index]`) + + # No data exists for this data type. + except: + ri.append(None) + ri_error.append(None) # Write the line. self.write_columnar_line(file=file, num=data.num, name=data.name, select=data.select, data_set='sim_'+`i`, nucleus=nucleus, wH=`wH`, j0=`j0`, jwx=`jwx`, jwh=`jwh`, r=`r`, csa=`csa`, ri_labels=ri_labels, remap_table=remap_table, frq_labels=frq_labels, frq=frq, ri=ri, ri_error=ri_error)