mailr27739 - in /trunk: pipe_control/rdc.py user_functions/rdc.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on March 03, 2015 - 14:01:
Author: bugman
Date: Tue Mar  3 14:01:13 2015
New Revision: 27739

URL: http://svn.gna.org/viewcvs/relax?rev=27739&view=rev
Log:
Implemented the back_calc argument for the rdc.copy user function.

This allows the back-calculated RDCs to be additionally copied together with 
the real value and
error.


Modified:
    trunk/pipe_control/rdc.py
    trunk/user_functions/rdc.py

Modified: trunk/pipe_control/rdc.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/rdc.py?rev=27739&r1=27738&r2=27739&view=diff
==============================================================================
--- trunk/pipe_control/rdc.py   (original)
+++ trunk/pipe_control/rdc.py   Tue Mar  3 14:01:13 2015
@@ -305,15 +305,17 @@
     return value * factor
 
 
-def copy(pipe_from=None, pipe_to=None, align_id=None):
+def copy(pipe_from=None, pipe_to=None, align_id=None, back_calc=True):
     """Copy the RDC data from one data pipe to another.
 
     @keyword pipe_from: The data pipe to copy the RDC data from.  This 
defaults to the current data pipe.
     @type pipe_from:    str
     @keyword pipe_to:   The data pipe to copy the RDC data to.  This 
defaults to the current data pipe.
     @type pipe_to:      str
-    @param align_id:    The alignment ID string.
+    @keyword align_id:  The alignment ID string.
     @type align_id:     str
+    @keyword back_calc: A flag which if True will cause any back-calculated 
RDCs present to also be copied with the real values and errors.
+    @type back_calc:    bool
     """
 
     # Defaults.
@@ -382,15 +384,21 @@
             # Initialise the data structures if necessary.
             if hasattr(interatom_from, 'rdc') and not hasattr(interatom_to, 
'rdc'):
                 interatom_to.rdc = {}
+            if back_calc and hasattr(interatom_from, 'rdc_bc') and not 
hasattr(interatom_to, 'rdc_bc'):
+                interatom_to.rdc_bc = {}
             if hasattr(interatom_from, 'rdc_err') and not 
hasattr(interatom_to, 'rdc_err'):
                 interatom_to.rdc_err = {}
 
             # Copy the value and error from pipe_from.
             value = None
             error = None
+            value_bc = None
             if hasattr(interatom_from, 'rdc'):
                 value = interatom_from.rdc[align_id]
                 interatom_to.rdc[align_id] = value
+            if back_calc and hasattr(interatom_from, 'rdc_bc'):
+                value_bc = interatom_from.rdc_bc[align_id]
+                interatom_to.rdc_bc[align_id] = value_bc
             if hasattr(interatom_from, 'rdc_err'):
                 error = interatom_from.rdc_err[align_id]
                 interatom_to.rdc_err[align_id] = error
@@ -401,6 +409,11 @@
                 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:
@@ -408,7 +421,10 @@
 
         # Printout.
         print("The following RDCs have been copied:\n")
-        write_data(out=sys.stdout, headings=["Spin_ID1", "Spin_ID2", 
"Value", "Error"], data=data)
+        if back_calc:
+            write_data(out=sys.stdout, headings=["Spin_ID1", "Spin_ID2", 
"Value", "Back-calculated", "Error"], data=data)
+        else:
+            write_data(out=sys.stdout, headings=["Spin_ID1", "Spin_ID2", 
"Value", "Error"], data=data)
 
 
 def corr_plot(format=None, title=None, subtitle=None, file=None, dir=None, 
force=False):

Modified: trunk/user_functions/rdc.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/user_functions/rdc.py?rev=27739&r1=27738&r2=27739&view=diff
==============================================================================
--- trunk/user_functions/rdc.py (original)
+++ trunk/user_functions/rdc.py Tue Mar  3 14:01:13 2015
@@ -1,6 +1,6 @@
 
###############################################################################
 #                                                                            
 #
-# Copyright (C) 2003-2014 Edward d'Auvergne                                  
 #
+# Copyright (C) 2003-2015 Edward d'Auvergne                                  
 #
 #                                                                            
 #
 # This file is part of the program relax (http://www.nmr-relax.com).         
 #
 #                                                                            
 #
@@ -136,6 +136,13 @@
     wiz_combo_iter = align_tensor.get_align_ids,
     wiz_read_only = True,
     can_be_none = True
+)
+uf.add_keyarg(
+    name = "back_calc",
+    default = True,
+    py_type = "bool",
+    desc_short = "back-calculated data flag",
+    desc = "A flag which if True will cause any back-calculated RDCs present 
to also be copied with the real values and errors."
 )
 # Description.
 uf.desc.append(Desc_container())




Related Messages


Powered by MHonArc, Updated Tue Mar 03 14:20:02 2015