mailr6878 - /branches/rdc_analysis/specific_fns/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 July 09, 2008 - 14:56:
Author: bugman
Date: Wed Jul  9 14:40:41 2008
New Revision: 6878

URL: http://svn.gna.org/viewcvs/relax?rev=6878&view=rev
Log:
Created the minimise_setup_rdcs() method.


Modified:
    branches/rdc_analysis/specific_fns/n_state_model.py

Modified: branches/rdc_analysis/specific_fns/n_state_model.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/rdc_analysis/specific_fns/n_state_model.py?rev=6878&r1=6877&r2=6878&view=diff
==============================================================================
--- branches/rdc_analysis/specific_fns/n_state_model.py (original)
+++ branches/rdc_analysis/specific_fns/n_state_model.py Wed Jul  9 14:40:41 
2008
@@ -621,6 +621,10 @@
         if tensor_flag:
             model = self.minimise_setup_tensors(param_vector=param_vector)
 
+        # Set up minimisation using RDCs.
+        elif rdc_flag:
+            model = self.minimise_setup_rdcs(param_vector=param_vector)
+
         # Minimisation.
         if constraints:
             results = generic_minimise(func=model.func, args=(), 
x0=param_vector, min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, 
full_output=1, print_flag=verbosity)
@@ -682,6 +686,43 @@
 
             # Warning.
             cdp.warning = warning
+
+
+    def minimise_setup_rdcs(self, param_vector=None):
+        """Set up minimisation for the N-state model using RDCs.
+
+        @keyword param_vector:  The parameter vector.
+        @type param_vector:     list of str
+        @return:                The initialised N_state_opt class for 
minimisation.
+        @rteyp:                 N_state_opt instance
+        """
+
+        # Alias the current data pipe.
+        cdp = ds[ds.current_pipe]
+
+        # Initialise.
+        rdcs = []
+        xh_vectors = []
+
+        # Spin loop.
+        for spin in spin_loop():
+            # Skip deselected spins.
+            if not spin.select:
+                continue
+
+            # Skip spins without RDC data or unit XH bond vectors.
+            if not hasattr(spin, 'rdc') or not hasattr(spin, 'xh_vect'):
+                continue
+
+            # Append the RDC and XH vectors to the lists.
+            rdcs.append(spin.rdc)
+            xh_vectors.append(spin.xh_vect)
+
+        # Set up the class instance containing the target function.
+        model = N_state_opt(model=cdp.model, N=cdp.N, 
init_params=param_vector, rdcs=rdcs, xh_vect=xh_vectors)
+
+        # Return the instantiated class.
+        return model
 
 
     def minimise_setup_tensors(self, param_vector=None):




Related Messages


Powered by MHonArc, Updated Wed Jul 09 16:20:21 2008