mailr22444 - /trunk/specific_analyses/relax_disp/disp_data.py


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

Header


Content

Posted by tlinnet on March 07, 2014 - 14:52:
Author: tlinnet
Date: Fri Mar  7 14:52:09 2014
New Revision: 22444

URL: http://svn.gna.org/viewcvs/relax?rev=22444&view=rev
Log:
Modified calc_rotating_frame_params() to operate on the level of spin 
container and id.

Regarding sr #3124, (https://gna.org/support/index.php?3124) - Grace graphs 
production for R1rho analysis with R2_eff as function of Omega_eff.

Modified:
    trunk/specific_analyses/relax_disp/disp_data.py

Modified: trunk/specific_analyses/relax_disp/disp_data.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/disp_data.py?rev=22444&r1=22443&r2=22444&view=diff
==============================================================================
--- trunk/specific_analyses/relax_disp/disp_data.py     (original)
+++ trunk/specific_analyses/relax_disp/disp_data.py     Fri Mar  7 14:52:09 
2014
@@ -156,18 +156,25 @@
     return intensity
 
 
-def calc_rotating_frame_params():
+def calc_rotating_frame_params(spin=None, spin_id=None):
     """Calculates and rotating frame parameters, calculated from:
     - The spectrometer frequency.
     - The spin-lock or hard pulse offset.
     - The dispersion point data (the spin-lock field strength in Hz).
 
     The return will be for each spin,
+    - Rotating frame tilt angle ( theta = arctan(w_1 / Omega) ) [rad]
     - The average resonance offset in the rotating frame ( Domega = 
w_{pop_ave} - w_rf  ) [rad/s]
-    - Rotating frame tilt angle ( theta = arctan(w_1 / Omega) ) [rad]
     - Effective field in rotating frame ( w_eff = sqrt( Omega^2 + w_1^2 ) ) 
[rad/s]
 
     Calculations are mentioned in the 
U{manual<http://www.nmr-relax.com/manual/Dispersion_model_summary.html>}
+
+    @keyword spin:      The spin system specific data container
+    @type spin:         SpinContainer instance
+    @keyword spin_id:   The spin ID string.
+    @type spin_id:      None or str
+    @return:            List with dict() of theta, Domega, w_eff and list of 
dict() keys.
+    @rtype:             List of dict() 
     """
     # Get the field count
     field_count = cdp.spectrometer_frq_count
@@ -175,43 +182,32 @@
     # Get the spin_lock_field points
     spin_lock_nu1 = return_spin_lock_nu1(ref_flag=False)
 
-    # Initialize data containers
-    all_spin_ids = get_spin_ids()
-
-    # Containers for only selected spins
-    cur_spin_ids = []
-    cur_spins = []
-    for curspin_id in all_spin_ids:
-        # Get the spin
-        curspin = return_spin(curspin_id)
-
-        # Check if is selected
-        if curspin.select == True:
-            cur_spin_ids.append(curspin_id)
-            cur_spins.append(curspin)
-
     # The offset and R1 data.
-    chemical_shifts, offsets, tilt_angles, Delta_omega, w_eff = 
return_offset_data(spins=cur_spins, spin_ids=cur_spin_ids, 
field_count=field_count, fields=spin_lock_nu1)
+    chemical_shifts, offsets, tilt_angles, Delta_omega, w_eff = 
return_offset_data(spins=[spin], spin_ids=[spin_id], field_count=field_count, 
fields=spin_lock_nu1)
         
     # Loop over the index of spins, then exp_type, frq, offset
     print("Printing the following")    
-    print("exp_type curspin_id frq offset{ppm} 
offsets[ei][si][mi][oi]{rad/s} ei mi oi si di cur_spin.chemical_shift{ppm} 
chemical_shifts[ei][si][mi]{rad/s} spin_lock_nu1{Hz} 
tilt_angles[ei][si][mi][oi]{rad}")
-    for si in range(len(cur_spin_ids)):
-        theta_spin_dic = dict()
-        curspin_id = cur_spin_ids[si]
-        cur_spin = cur_spins[si]
-        for exp_type, frq, offset, ei, mi, oi in 
loop_exp_frq_offset(return_indices=True):
-            # Loop over the dispersion points.
-            spin_lock_fields = spin_lock_nu1[ei][mi][oi]
-            for di in range(len(spin_lock_fields)):
-                print("%-8s %-10s %11.1f %8.4f %12.5f %i  %i  %i  %i  %i 
%7.3f %12.5f %12.5f %12.5f"%(exp_type, curspin_id, frq, offset, 
offsets[ei][si][mi][oi], ei, mi, oi, si, di, cur_spin.chemical_shift, 
chemical_shifts[ei][si][mi], spin_lock_fields[di], 
tilt_angles[ei][si][mi][oi][di]))
-                dic_key = return_param_key_from_data(exp_type=exp_type, 
frq=frq, offset=offset, point=spin_lock_fields[di])
-                theta_spin_dic["%s"%(dic_key)] = 
tilt_angles[ei][si][mi][oi][di]
-    
-    print("\nThe theta data now resides in")
-    for curspin, mol_name, res_num, res_name, spin_id in 
spin_loop(full_info=True, return_id=True, skip_desel=True):
-        spin_index = find_index(selection=spin_id, global_index=False)
-        print("%s cdp.mol[%i].res[%i].spin[%i].theta"%(spin_id, 
spin_index[0], spin_index[1], spin_index[2]))
+    print("exp_type spin_id frq offset{ppm} offsets[ei][si][mi][oi]{rad/s} 
ei mi oi si di cur_spin.chemical_shift{ppm} 
chemical_shifts[ei][si][mi]{rad/s} spin_lock_nu1{Hz} 
tilt_angles[ei][si][mi][oi]{rad}")
+
+    si = 0
+    theta_spin_dic = dict()
+    Domega_spin_dic = dict()
+    w_eff_spin_dic = dict()
+    dic_key_list = []
+
+    for exp_type, frq, offset, ei, mi, oi in 
loop_exp_frq_offset(return_indices=True):
+        # Loop over the dispersion points.
+        spin_lock_fields = spin_lock_nu1[ei][mi][oi]
+        for di in range(len(spin_lock_fields)):
+            print("%-8s %-10s %11.1f %8.4f %12.5f %i  %i  %i  %i  %i %7.3f 
%12.5f %12.5f %12.5f"%(exp_type, spin_id, frq, offset, 
offsets[ei][si][mi][oi], ei, mi, oi, si, di, spin.chemical_shift, 
chemical_shifts[ei][si][mi], spin_lock_fields[di], 
tilt_angles[ei][si][mi][oi][di]))
+            dic_key = return_param_key_from_data(exp_type=exp_type, frq=frq, 
offset=offset, point=spin_lock_fields[di])
+            dic_key_list.append(dic_key) 
+            theta_spin_dic["%s"%(dic_key)] = tilt_angles[ei][si][mi][oi][di]
+            Domega_spin_dic["%s"%(dic_key)] = Delta_omega[ei][si][mi][oi][di]
+            w_eff_spin_dic["%s"%(dic_key)] = w_eff[ei][si][mi][oi][di]
+
+    # Return the dic and list of keys
+    return [theta_spin_dic, Domega_spin_dic, w_eff_spin_dic, dic_key_list]
 
 
 def count_exp():




Related Messages


Powered by MHonArc, Updated Fri Mar 07 15:00:02 2014