Author: bugman
Date: Tue Mar 3 15:04:47 2015
New Revision: 27746
URL: http://svn.gna.org/viewcvs/relax?rev=27746&view=rev
Log:
Added full per-alignment data printouts to the pcs.copy user function to match
rdc.copy.
The feedback is important to know what was actually copied.
Modified:
trunk/pipe_control/pcs.py
Modified: trunk/pipe_control/pcs.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/pcs.py?rev=27746&r1=27745&r2=27746&view=diff
==============================================================================
--- trunk/pipe_control/pcs.py (original)
+++ trunk/pipe_control/pcs.py Tue Mar 3 15:04:47 2015
@@ -33,9 +33,10 @@
# relax module imports.
from lib.alignment.pcs import ave_pcs_tensor, pcs_tensor
+from lib.check_types import is_float
from lib.errors import RelaxError, RelaxNoAlignError, RelaxNoPdbError,
RelaxNoPCSError, RelaxNoSequenceError
from lib.geometry.vectors import random_unit_vector
-from lib.io import open_write_file
+from lib.io import open_write_file, write_data
from lib.periodic_table import periodic_table
from lib.physical_constants import pcs_constant
from lib.plotting.api import write_xy_data, write_xy_header
@@ -326,6 +327,7 @@
dp_to.pcs_ids.append(align_id)
# Spin loop.
+ data = []
for mol_index, res_index, spin_index in spin_index_loop():
# Alias the spin containers.
spin_from = dp_from.mol[mol_index].res[res_index].spin[spin_index]
@@ -344,12 +346,41 @@
spin_to.pcs_err = {}
# Copy the value and error from pipe_from.
+ value = None
+ error = None
+ value_bc = None
if hasattr(spin_from, 'pcs'):
- spin_to.pcs[align_id] = spin_from.pcs[align_id]
+ value = spin_from.pcs[align_id]
+ spin_to.pcs[align_id] = value
if back_calc and hasattr(spin_from, 'pcs_bc'):
- spin_to.pcs_bc[align_id] = spin_from.pcs_bc[align_id]
+ value_bc = spin_from.pcs_bc[align_id]
+ spin_to.pcs_bc[align_id] = value_bc
if hasattr(spin_from, 'pcs_err'):
- spin_to.pcs_err[align_id] = spin_from.pcs_err[align_id]
+ error = spin_from.pcs_err[align_id]
+ spin_to.pcs_err[align_id] = error
+
+ # Append the data for printout.
+ data.append([spin_from._spin_ids[0]])
+ if is_float(value):
+ data[-1].append("%20.15f" % value)
+ else:
+ data[-1].append("%20s" % value)
+ if back_calc:
+ if is_float(value_bc):
+ data[-1].append("%20.15f" % value_bc)
+ else:
+ data[-1].append("%20s" % value_bc)
+ if is_float(error):
+ data[-1].append("%20.15f" % error)
+ else:
+ data[-1].append("%20s" % error)
+
+ # Printout.
+ print("The following PCSs have been copied:\n")
+ if back_calc:
+ write_data(out=sys.stdout, headings=["Spin_ID", "Value",
"Back-calculated", "Error"], data=data)
+ else:
+ write_data(out=sys.stdout, headings=["Spin_ID", "Value", "Error"],
data=data)
def corr_plot(format=None, title=None, subtitle=None, file=None, dir=None,
force=False):
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
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-commits