mailr27925 - in /trunk: ./ lib/frame_order/ specific_analyses/frame_order/ test_suite/shared_data/frame_order/cam/rigid/rotor_an...


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

Header


Content

Posted by edward on October 01, 2015 - 21:08:
Author: bugman
Date: Thu Oct  1 21:08:55 2015
New Revision: 27925

URL: http://svn.gna.org/viewcvs/relax?rev=27925&view=rev
Log:
Merged revisions 23613-23615 via svnmerge from 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/frame_order_cleanup

........
  r23613 | bugman | 2014-06-03 08:53:25 +0200 (Tue, 03 Jun 2014) | 5 lines
  
  Optimisation of the rotor model to the rigid CaM frame order test data.
  
  The optimisation script and all results files have been added to the 
repository.
........
  r23614 | bugman | 2014-06-03 09:00:25 +0200 (Tue, 03 Jun 2014) | 4 lines
  
  Increased the grid search bounds for the frame order average domain 
translation.
  
  Instead of being a 10 Angstrom box centred at {0, 0, 0}, now the 
translation search has been
  increased to a 100 Angstrom box.
........
  r23615 | bugman | 2014-06-03 09:16:09 +0200 (Tue, 03 Jun 2014) | 8 lines
  
  Proper edge case handling and slight speed up of the frame order PCS 
integration functions.
  
  The case whereby no Sobol' points in the numerical integration lie within 
the motional distribution
  is now caught and the rotation matrix set to the motional eigenframe to 
simulate the rigid state.
  As the code for averaging the PCS was changed, it was also simplified by 
removing an unnecessary
  loop over all spins.  This should speed up the PCS integration by a tiny 
amount.
........

Added:
    trunk/test_suite/shared_data/frame_order/cam/rigid/rotor_analysis/
      - copied from r23615, 
branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rigid/rotor_analysis/
Modified:
    trunk/   (props changed)
    trunk/lib/frame_order/double_rotor.py
    trunk/lib/frame_order/iso_cone.py
    trunk/lib/frame_order/iso_cone_torsionless.py
    trunk/lib/frame_order/pseudo_ellipse.py
    trunk/lib/frame_order/pseudo_ellipse_torsionless.py
    trunk/lib/frame_order/rotor.py
    trunk/specific_analyses/frame_order/api.py

Propchange: trunk/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Oct  1 21:08:55 2015
@@ -1 +1 @@
-/branches/frame_order_cleanup:1-23195,23197-23205,23208-23612
+/branches/frame_order_cleanup:1-23195,23197-23205,23208-23615

Modified: trunk/lib/frame_order/double_rotor.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/double_rotor.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/double_rotor.py       (original)
+++ trunk/lib/frame_order/double_rotor.py       Thu Oct  1 21:08:55 2015
@@ -129,11 +129,14 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        pcs_pivot_motion_double_rotor(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
+
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)
 
 
 def pcs_pivot_motion_double_rotor(full_in_ref_frame=None, r_pivot_atom=None, 
r_pivot_atom_rev=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, 
Ri_prime=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None):

Modified: trunk/lib/frame_order/iso_cone.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/iso_cone.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/iso_cone.py   (original)
+++ trunk/lib/frame_order/iso_cone.py   Thu Oct  1 21:08:55 2015
@@ -109,11 +109,14 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        pcs_pivot_motion_full_qrint(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
+
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)
 
 
 def populate_1st_eigenframe_iso_cone(matrix, angle):

Modified: trunk/lib/frame_order/iso_cone_torsionless.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/iso_cone_torsionless.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/iso_cone_torsionless.py       (original)
+++ trunk/lib/frame_order/iso_cone_torsionless.py       Thu Oct  1 21:08:55 
2015
@@ -128,8 +128,11 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        
pcs_pivot_motion_torsionless_qrint(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
+
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)

Modified: trunk/lib/frame_order/pseudo_ellipse.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/pseudo_ellipse.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/pseudo_ellipse.py     (original)
+++ trunk/lib/frame_order/pseudo_ellipse.py     Thu Oct  1 21:08:55 2015
@@ -653,11 +653,14 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        pcs_pivot_motion_full_qrint(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
+
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)
 
 
 def tmax_pseudo_ellipse(phi, theta_x, theta_y):

Modified: trunk/lib/frame_order/pseudo_ellipse_torsionless.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/pseudo_ellipse_torsionless.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/pseudo_ellipse_torsionless.py (original)
+++ trunk/lib/frame_order/pseudo_ellipse_torsionless.py Thu Oct  1 21:08:55 
2015
@@ -314,8 +314,11 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        
pcs_pivot_motion_torsionless_qrint(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
+
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)

Modified: trunk/lib/frame_order/rotor.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/frame_order/rotor.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/lib/frame_order/rotor.py      (original)
+++ trunk/lib/frame_order/rotor.py      Thu Oct  1 21:08:55 2015
@@ -130,14 +130,14 @@
         # Increment the number of points.
         num += 1
 
-    # Calculate the PCS and error.
-    for i in range(len(pcs_theta)):
-        for j in range(len(pcs_theta[i])):
-            if num == 0:
-                continue
+    # Default to the rigid state if no points lie in the distribution.
+    if num == 0:
+        pcs_pivot_motion_rotor_qrint(full_in_ref_frame=full_in_ref_frame, 
r_pivot_atom=r_pivot_atom, r_pivot_atom_rev=r_pivot_atom_rev, 
r_ln_pivot=r_ln_pivot, A=A, R_eigen=R_eigen, RT_eigen=RT_eigen, 
Ri_prime=R_eigen, pcs_theta=pcs_theta, pcs_theta_err=pcs_theta_err, 
missing_pcs=missing_pcs)
 
-            # The average PCS.
-            pcs_theta[i, j] = c[i] * pcs_theta[i, j] / float(num)
+    # Average the PCS.
+    else:
+        for i in range(len(pcs_theta)):
+            pcs_theta[i] = c[i] * pcs_theta[i] / float(num)
 
 
 def pcs_pivot_motion_rotor_qrint(full_in_ref_frame=None, r_pivot_atom=None, 
r_pivot_atom_rev=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, 
Ri_prime=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None):

Modified: trunk/specific_analyses/frame_order/api.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/frame_order/api.py?rev=27925&r1=27924&r2=27925&view=diff
==============================================================================
--- trunk/specific_analyses/frame_order/api.py  (original)
+++ trunk/specific_analyses/frame_order/api.py  Thu Oct  1 21:08:55 2015
@@ -376,6 +376,27 @@
             # Reset.
             dist_type = None
             end_point = True
+
+            # The pivot point.
+            if cdp.params[i] in ['pivot_x', 'pivot_y', 'pivot_z']:
+                val = getattr(cdp, cdp.params[i])
+                lower = val - 10.0
+                upper = val + 10.0
+
+            # Average domain position translation (in a +/- 5 Angstrom box).
+            if cdp.params[i] in ['ave_pos_x', 'ave_pos_y', 'ave_pos_z']:
+                lower = -50
+                upper = 50
+
+            # Linear angle grid from 0 to one inc before 2pi.
+            if cdp.params[i] in ['ave_pos_alpha', 'ave_pos_gamma', 
'eigen_alpha', 'eigen_gamma', 'axis_phi']:
+                lower = 0.0
+                upper = 2*pi * (1.0 - 1.0/incs[i])
+
+            # Linear angle grid from -pi to one inc before pi.
+            if cdp.params[i] in ['axis_alpha']:
+                lower = -pi
+                upper = pi * (1.0 - 1.0/incs[i])
 
             # Arccos grid from 0 to pi.
             if cdp.params[i] in ['ave_pos_beta', 'eigen_beta', 'axis_theta']:




Related Messages


Powered by MHonArc, Updated Thu Oct 01 21:20:22 2015