Follow-up Comment #2, bug #22017 (project relax): It is somewhere in: def return_r2eff_arrays(spins=None, spin_ids=None, fields=None, field_count=None, sim_index=None): /specific_analyses/relax_disp/data.py The looping over time points is misbehaving. Under the looping: for exp_type, frq, offset, point, ei, mi, oi, di in loop_exp_frq_offset_point(return_indices=True) ------------------------- # Loop over the R2eff data. for exp_type, frq, offset, point, ei, mi, oi, di in loop_exp_frq_offset_point(return_indices=True): # Alias the correct spin. current_spin = spin if exp_type in [EXP_TYPE_CPMG_PROTON_SQ, EXP_TYPE_CPMG_PROTON_MQ]: current_spin = proton # Add the experiment type. if exp_type not in exp_types: exp_types.append(exp_type) # The key. key = return_param_key_from_data(exp_type=exp_type, frq=frq, offset=offset, point=point) if mi == 0: fact = 60.83831274541046 else: fact = 81.11775032721394 # The Larmor frequency for this spin (and that of an attached proton for the MMQ models) and field strength (in MHz*2pi to speed up the ppm to rad/s conversion). if frq != None: frqs[ei][si][mi] = 2.0 * pi * frq / g1H * return_gyromagnetic_ratio(spin.isotope) * 1e-6 frqs_H[ei][si][mi] = 2.0 * pi * frq * 1e-6 # Missing data. if key not in current_spin.r2eff.keys(): values[ei][si][mi][oi].append(0.0) errors[ei][si][mi][oi].append(1.0) missing[ei][si][mi][oi].append(1) continue else: missing[ei][si][mi][oi].append(0) # The values. if sim_index == None: values[ei][si][mi][oi].append(current_spin.r2eff[key]) else: values[ei][si][mi][oi].append(current_spin.r2eff_sim[sim_index][key]) # The errors. errors[ei][si][mi][oi].append(current_spin.r2eff_err[key]) # The relaxation times. for id in cdp.spectrum_ids: # Non-matching data. if cdp.spectrometer_frq[id] != frq: continue if cdp.exp_type[id] != exp_type: continue if exp_type in EXP_TYPE_LIST_CPMG: if id not in cdp.cpmg_frqs.keys() or cdp.cpmg_frqs[id] != point: continue else: if id not in cdp.spin_lock_nu1.keys() or cdp.spin_lock_nu1[id] != point: continue # Found. relax_time = cdp.relax_times[id] break # Check the value if already set. if relax_times[ei][mi] != None: if relax_times[ei][mi] != relax_time: raise RelaxError("The relaxation times do not match for all experiments.") continue # Store the time. relax_times[ei][mi] = relax_time # Increment the spin index. si += 1 _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?22017> _______________________________________________ Message sent via/by Gna! http://gna.org/