mailr20130 - /trunk/target_functions/n_state_model.py


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

Header


Content

Posted by edward on June 14, 2013 - 18:35:
Author: bugman
Date: Fri Jun 14 18:35:34 2013
New Revision: 20130

URL: http://svn.gna.org/viewcvs/relax?rev=20130&view=rev
Log:
Fixes for the N-state model target functions for the lib.alignment.rdc 
changes.

The absolute value is now calculated within the target function rather than 
when back calculating
the RDCs.


Modified:
    trunk/target_functions/n_state_model.py

Modified: trunk/target_functions/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/target_functions/n_state_model.py?rev=20130&r1=20129&r2=20130&view=diff
==============================================================================
--- trunk/target_functions/n_state_model.py (original)
+++ trunk/target_functions/n_state_model.py Fri Jun 14 18:35:34 2013
@@ -675,11 +675,15 @@
                 for j in range(self.num_interatom):
                     # Calculate the average RDC.
                     if not self.missing_rdc[align_index, j]:
-                        self.rdc_theta[align_index, j] = 
ave_rdc_tensor(self.dip_const[j], self.dip_vect[j], self.N, 
self.A[align_index], weights=self.probs, 
absolute=self.absolute_rdc[align_index, j])
+                        self.rdc_theta[align_index, j] = 
ave_rdc_tensor(self.dip_const[j], self.dip_vect[j], self.N, 
self.A[align_index], weights=self.probs)
 
                         # Add the J coupling to convert into the 
back-calculated T = J+D value.
                         if self.j_flag:
                             self.rdc_theta[align_index, j] += 
self.j_couplings[j]
+
+                        # Take the absolute value.
+                        if self.absolute_rdc[align_index, j]:
+                            self.rdc_theta[align_index, j] = 
abs(self.rdc_theta[align_index, j])
 
             # The back calculated PCS.
             if self.pcs_flag[align_index]:
@@ -929,11 +933,11 @@
             if not self.fixed_tensors[align_index]:
                 for j in range(self.num_interatom):
                     if self.rdc_flag[align_index] and not 
self.missing_rdc[align_index, j]:
-                        self.drdc_theta[align_index*5,   align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[0], weights=self.probs, absolute=self.absolute_rdc[align_index, j])
-                        self.drdc_theta[align_index*5+1, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[1], weights=self.probs, absolute=self.absolute_rdc[align_index, j])
-                        self.drdc_theta[align_index*5+2, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[2], weights=self.probs, absolute=self.absolute_rdc[align_index, j])
-                        self.drdc_theta[align_index*5+3, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[3], weights=self.probs, absolute=self.absolute_rdc[align_index, j])
-                        self.drdc_theta[align_index*5+4, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[4], weights=self.probs, absolute=self.absolute_rdc[align_index, j])
+                        self.drdc_theta[align_index*5,   align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[0], weights=self.probs)
+                        self.drdc_theta[align_index*5+1, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[1], weights=self.probs)
+                        self.drdc_theta[align_index*5+2, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[2], weights=self.probs)
+                        self.drdc_theta[align_index*5+3, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[3], weights=self.probs)
+                        self.drdc_theta[align_index*5+4, align_index, j] = 
ave_rdc_tensor_dDij_dAmn(self.dip_const[j], self.dip_vect[j], self.N, 
self.dA[4], weights=self.probs)
 
             # Construct the Amn partial derivative components for the PCS.
             if not self.fixed_tensors[align_index]:
@@ -960,7 +964,7 @@
                     # Calculate the RDC for state c (this is the pc partial 
derivative).
                     for j in range(self.num_interatom):
                         if self.rdc_flag[align_index] and not 
self.missing_rdc[align_index, j]:
-                            self.drdc_theta[param_index, align_index, j] = 
rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.A[align_index], 
absolute=self.absolute_rdc[align_index, j])
+                            self.drdc_theta[param_index, align_index, j] = 
rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.A[align_index])
 
                     # Calculate the PCS for state c (this is the pc partial 
derivative).
                     for j in range(self.num_spins):
@@ -1135,11 +1139,11 @@
                     # Calculate the RDC Hessian component.
                     for j in range(self.num_interatom):
                         if self.fixed_tensors[align_index] and 
self.rdc_flag[align_index] and not self.missing_rdc[align_index, j]:
-                            self.d2rdc_theta[pc_index, align_index*5+0, 
align_index, j] = self.d2rdc_theta[align_index*5+0, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[0], 
absolute=self.absolute_rdc[align_index, j])
-                            self.d2rdc_theta[pc_index, align_index*5+1, 
align_index, j] = self.d2rdc_theta[align_index*5+1, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[1], 
absolute=self.absolute_rdc[align_index, j])
-                            self.d2rdc_theta[pc_index, align_index*5+2, 
align_index, j] = self.d2rdc_theta[align_index*5+2, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[2], 
absolute=self.absolute_rdc[align_index, j])
-                            self.d2rdc_theta[pc_index, align_index*5+3, 
align_index, j] = self.d2rdc_theta[align_index*5+3, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[3], 
absolute=self.absolute_rdc[align_index, j])
-                            self.d2rdc_theta[pc_index, align_index*5+4, 
align_index, j] = self.d2rdc_theta[align_index*5+4, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[4], 
absolute=self.absolute_rdc[align_index, j])
+                            self.d2rdc_theta[pc_index, align_index*5+0, 
align_index, j] = self.d2rdc_theta[align_index*5+0, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[0])
+                            self.d2rdc_theta[pc_index, align_index*5+1, 
align_index, j] = self.d2rdc_theta[align_index*5+1, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[1])
+                            self.d2rdc_theta[pc_index, align_index*5+2, 
align_index, j] = self.d2rdc_theta[align_index*5+2, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[2])
+                            self.d2rdc_theta[pc_index, align_index*5+3, 
align_index, j] = self.d2rdc_theta[align_index*5+3, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[3])
+                            self.d2rdc_theta[pc_index, align_index*5+4, 
align_index, j] = self.d2rdc_theta[align_index*5+4, pc_index, align_index, j] 
= rdc_tensor(self.dip_const[j], self.dip_vect[j, c], self.dA[4])
 
                     # Calculate the PCS Hessian component.
                     for j in range(self.num_spins):




Related Messages


Powered by MHonArc, Updated Fri Jun 14 18:40:01 2013