Author: bugman Date: Thu Jul 1 10:48:48 2010 New Revision: 11271 URL: http://svn.gna.org/viewcvs/relax?rev=11271&view=rev Log: Better support for RDC and PCS correlation plots with and without errors. Modified: 1.3/generic_fns/pcs.py 1.3/generic_fns/rdc.py Modified: 1.3/generic_fns/pcs.py URL: http://svn.gna.org/viewcvs/relax/1.3/generic_fns/pcs.py?rev=11271&r1=11270&r2=11271&view=diff ============================================================================== --- 1.3/generic_fns/pcs.py (original) +++ 1.3/generic_fns/pcs.py Thu Jul 1 10:48:48 2010 @@ -165,6 +165,18 @@ # Append a new list for this alignment. data.append([]) + # Errors present? + err_flag = False + for spin in spin_loop(): + # Skip deselected spins. + if not spin.select: + continue + + # Error present. + if hasattr(spin, 'pcs_err') and align_id in spin.pcs_err.keys(): + err_flag = True + break + # Loop over the spins. for spin, spin_id in spin_loop(return_id=True): # Skip deselected spins. @@ -179,17 +191,26 @@ data[-1].append([spin.pcs_bc[align_id], spin.pcs[align_id]]) # Errors. - if hasattr(spin, 'pcs_err') and align_id in spin.pcs_err: - data[-1][-1].append(spin.pcs_err[align_id]) + if err_flag: + if hasattr(spin, 'pcs_err') and align_id in spin.pcs_err.keys(): + data[-1][-1].append(spin.pcs_err[align_id]) + else: + data[-1][-1].append(None) # Label. - data[-1][-1].append(spin_id) + data[-1][-1].append(spin_id) # The data size. size = len(data) # Only one data set. data = [data] + + # Graph type. + if err_flag: + graph_type = 'xydy' + else: + graph_type = 'xy' # Grace file. if format == 'grace': @@ -197,7 +218,7 @@ grace.write_xy_header(file=file, title="PCS correlation plot", sets=size, set_names=[None]+cdp.pcs_ids, linestyle=[2]+[0]*size, data_type=['pcs_bc', 'pcs'], axis_min=[-0.5, -0.5], axis_max=[0.5, 0.5], legend_pos=[1, 0.5]) # The main data. - grace.write_xy_data(data=data, file=file, graph_type='xydy') + grace.write_xy_data(data=data, file=file, graph_type=graph_type) def display(align_id=None): Modified: 1.3/generic_fns/rdc.py URL: http://svn.gna.org/viewcvs/relax/1.3/generic_fns/rdc.py?rev=11271&r1=11270&r2=11271&view=diff ============================================================================== --- 1.3/generic_fns/rdc.py (original) +++ 1.3/generic_fns/rdc.py Thu Jul 1 10:48:48 2010 @@ -127,6 +127,18 @@ # Append a new list for this alignment. data.append([]) + # Errors present? + err_flag = False + for spin in spin_loop(): + # Skip deselected spins. + if not spin.select: + continue + + # Error present. + if hasattr(spin, 'rdc_err') and align_id in spin.rdc_err.keys(): + err_flag = True + break + # Loop over the spins. for spin, spin_id in spin_loop(return_id=True): # Skip deselected spins. @@ -141,17 +153,26 @@ data[-1].append([spin.rdc_bc[align_id], spin.rdc[align_id]]) # Errors. - if hasattr(spin, 'rdc_err') and align_id in spin.rdc_err: - data[-1][-1].append(spin.rdc_err[align_id]) + if err_flag: + if hasattr(spin, 'rdc_err') and align_id in spin.rdc_err.keys(): + data[-1][-1].append(spin.rdc_err[align_id]) + else: + data[-1][-1].append(None) # Label. - data[-1][-1].append(spin_id) + data[-1][-1].append(spin_id) # The data size. size = len(data) # Only one data set. data = [data] + + # Graph type. + if err_flag: + graph_type = 'xydy' + else: + graph_type = 'xy' # Grace file. if format == 'grace': @@ -159,7 +180,7 @@ grace.write_xy_header(file=file, title="RDC correlation plot", sets=size, set_names=[None]+cdp.rdc_ids, linestyle=[2]+[0]*size, data_type=['rdc_bc', 'rdc'], axis_min=[-10, -10], axis_max=[10, 10], legend_pos=[1, 0.5]) # The main data. - grace.write_xy_data(data=data, file=file, graph_type='xydy') + grace.write_xy_data(data=data, file=file, graph_type=graph_type) def display(align_id=None):