mailRe: r24265 - /branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py


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

Header


Content

Posted by Edward d'Auvergne on June 24, 2014 - 11:07:
Hi Troels,

For this script, you do not need to import the unused
MODEL_NS_R1RHO_3SITE_LINEAR variable.  Eliminating these unused
imports helps in running the scripts on older relax versions.

Cheers,

Edward



On 24 June 2014 10:43,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Tue Jun 24 10:43:06 2014
New Revision: 24265

URL: http://svn.gna.org/viewcvs/relax?rev=24265&view=rev
Log:
Modified profiling script for NS R1rho 3site, to be functional.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion 
models for Clustered analysis.

Modified:
    
branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py

Modified: 
branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py?rev=24265&r1=24264&r2=24265&view=diff
==============================================================================
--- 
branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py
    (original)
+++ 
branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_r1rho_3site.py
    Tue Jun 24 10:43:06 2014
@@ -54,7 +54,7 @@
 # relax module imports.
 from lib.physical_constants import g1H, g15N
 from target_functions.relax_disp import Dispersion
-from specific_analyses.relax_disp.variables import EXP_TYPE_R1RHO, 
MODEL_NS_R1RHO_3SITE
+from specific_analyses.relax_disp.variables import EXP_TYPE_R1RHO, 
MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR


 # Alter setup.
@@ -109,7 +109,7 @@
     Class Profile inherits the Dispersion container class object.
     """

-    def __init__(self, num_spins=1, model=None, r2=None, r2a=None, 
r2b=None, phi_ex=None, dw=None, pA=None, kex=None, spins_params=None):
+    def __init__(self, num_spins=1, model=None, r2=None, r2a=None, 
r2b=None, phi_ex=None, dw=None, dw_AB=None, dw_BC=None, pA=None, kex=None, 
kex_AB=None, pB=None, kex_BC=None, kex_AC=None, spins_params=None):
         """
         Special method __init__() is called first (acts as Constructor).
         It brings in data from outside the class like the variable 
num_spins.
@@ -172,7 +172,7 @@
         self.chemical_shift = 1.0

         # Assemble param vector.
-        self.params = self.assemble_param_vector(r2=r2, r2a=r2a, r2b=r2b, 
phi_ex=phi_ex, dw=dw, pA=pA, kex=kex, spins_params=spins_params)
+        self.params = self.assemble_param_vector(r2=r2, r2a=r2a, r2b=r2b, 
phi_ex=phi_ex, dw=dw, dw_AB=dw_AB, dw_BC=dw_BC, pA=pA, kex=kex, 
kex_AB=kex_AB, pB=pB, kex_BC=kex_BC, kex_AC=kex_AC, 
spins_params=spins_params)

         # Make nested list arrays of data. And return them.
         values, errors, cpmg_frqs, missing, frqs, exp_types, relax_times, 
offsets, spin_lock_nu1 = self.return_r2eff_arrays()
@@ -402,7 +402,7 @@
         return values, errors, None, missing, frqs, exp_types, 
relax_times, offsets, asarray(spin_lock_nu1)


-    def assemble_param_vector(self, r2=None, r2a=None, r2b=None, 
phi_ex=None, dw=None, pA=None, kex=None, spins_params=None):
+    def assemble_param_vector(self, r2=None, r2a=None, r2b=None, 
phi_ex=None, dw=None, dw_AB=None, dw_BC=None, pA=None, kex=None, 
kex_AB=None, pB=None, kex_BC=None, kex_AC=None, spins_params=None):
         """Assemble the dispersion relaxation dispersion curve fitting 
parameter vector.

         @keyword r2:            The transversal relaxation rate.
@@ -443,10 +443,22 @@
                 value = phi_ex + spin_index
             elif param_name == 'dw':
                 value = dw + spin_index
+            elif param_name == 'dw_AB':
+                value = dw_AB + spin_index
+            elif param_name == 'dw_BC':
+                value = dw_BC + spin_index
             elif param_name == 'pA':
                 value = pA
             elif param_name == 'kex':
                 value = kex
+            elif param_name == 'kex_AB':
+                value = kex_AB
+            elif param_name == 'pB':
+                value = pB
+            elif param_name == 'kex_BC':
+                value = kex_BC
+            elif param_name == 'kex_AC':
+                value = kex_AC

             # Add to the vector.
             param_vector.append(value)
@@ -502,15 +514,31 @@
                 yield 'padw2', pspin_index, 0
             if 'dw' in spins_params:
                 yield 'dw', spin_index, 0
+            if 'dw_AB' in spins_params:
+                yield 'dw_AB', spin_index, 0
+            if 'dw_BC' in spins_params:
+                yield 'dw_BC', spin_index, 0

         # All other parameters (one per spin cluster).
         for param in spins_params:
             if not param in ['r2', 'r2a', 'r2b', 'phi_ex', 'phi_ex_B', 
'phi_ex_C', 'padw2', 'dw', 'dw_AB', 'dw_BC', 'dw_AB', 'dwH', 'dwH_AB', 
'dwH_BC', 'dwH_AB']:
                 if param == 'pA':
                     yield 'pA', 0, 0
+
                 elif param == 'kex':
                     yield 'kex', 0, 0

+                elif param == 'kex_AB':
+                    yield 'kex_AB', 0, 0
+
+                elif param == 'pB':
+                    yield 'pB', 0, 0
+
+                elif param == 'kex_BC':
+                    yield 'kex_BC', 0, 0
+
+                elif param == 'kex_AC':
+                    yield 'kex_AC', 0, 0

     def calc(self, params):
         """Calculate chi2 values.
@@ -522,11 +550,11 @@
         """

         # Return chi2 value.
-        chi2 = self.model.func_ns_r1rho_2site(params)
+        chi2 = self.model.func_ns_r1rho_3site(params)
         return chi2


-def single(num_spins=1, model=MODEL_NS_R1RHO_2SITE, iter=None):
+def single(num_spins=1, model=MODEL_NS_R1RHO_3SITE, iter=None):
     """Calculate for a single spin.

     @keyword num_spins:     Number of spins in the cluster.
@@ -540,7 +568,7 @@
     """

     # Instantiate class
-    C1 = Profile(num_spins=num_spins, model=model, r2=5.0, dw=1.0, pA=0.9, 
kex=5000.0, spins_params=['r2', 'dw', 'pA', 'kex'])
+    C1 = Profile(num_spins=num_spins, model=model, r2=5.0, dw_AB=1.0, 
dw_BC=2.0, pA=0.8, kex_AB=5000.0, pB=0.1, kex_BC=3000.0, kex_AC=1000.0, 
spins_params=['r2', 'dw_AB', 'dw_BC', 'pA', 'kex_AB', 'pB', 'kex_BC', 
'kex_AC'])

     # Loop 100 times for each spin in the clustered analysis (to make the 
timing numbers equivalent).
     for spin_index in xrange(100):
@@ -550,7 +578,7 @@
     print("chi2 single:", chi2)


-def cluster(num_spins=100, model=MODEL_NS_R1RHO_2SITE, iter=None):
+def cluster(num_spins=100, model=MODEL_NS_R1RHO_3SITE, iter=None):
     """Calculate for a number of clustered spins.

     @keyword num_spins:     Number of spins in the cluster.
@@ -564,7 +592,7 @@
     """

     # Instantiate class
-    C1 = Profile(num_spins=num_spins, model=model, r2=5.0, dw=1.0, pA=0.9, 
kex=5000.0, spins_params=['r2', 'dw', 'pA', 'kex'])
+    C1 = Profile(num_spins=num_spins, model=model, r2=5.0, dw_AB=1.0, 
dw_BC=2.0, pA=0.8, kex_AB=5000.0, pB=0.1, kex_BC=3000.0, kex_AC=1000.0, 
spins_params=['r2', 'dw_AB', 'dw_BC', 'pA', 'kex_AB', 'pB', 'kex_BC', 
'kex_AC'])

     # Repeat the function call, to simulate minimisation.
     for i in xrange(iter):


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-commits mailing list
relax-commits@xxxxxxx

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



Related Messages


Powered by MHonArc, Updated Tue Jun 24 11:20:23 2014