mailr19267 - /branches/relax_disp/specific_analyses/relax_disp.py


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

Header


Content

Posted by edward on March 27, 2013 - 18:08:
Author: bugman
Date: Wed Mar 27 18:08:56 2013
New Revision: 19267

URL: http://svn.gna.org/viewcvs/relax?rev=19267&view=rev
Log:
The relaxation dispersion specific analysis code now uses the Python target 
function rather than the C.


Modified:
    branches/relax_disp/specific_analyses/relax_disp.py

Modified: branches/relax_disp/specific_analyses/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp.py?rev=19267&r1=19266&r2=19267&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp.py Wed Mar 27 18:08:56 
2013
@@ -1,6 +1,6 @@
 
###############################################################################
 #                                                                            
 #
-# Copyright (C) 2004-2010 Edward d'Auvergne                                  
 #
+# Copyright (C) 2004-2013 Edward d'Auvergne                                  
 #
 # Copyright (C) 2009 Sebastien Morin                                         
 #
 #                                                                            
 #
 # This file is part of the program relax (http://www.nmr-relax.com).         
 #
@@ -36,10 +36,7 @@
 from minfx.generic import generic_minimise
 from pipe_control import pipes
 from pipe_control.mol_res_spin import exists_mol_res_spin_data, 
generate_spin_id, return_spin, spin_loop
-
-# C modules.
-if C_module_exp_fn:
-    from maths_fns.relax_disp import setup, func, dfunc, d2func, back_calc_I
+from target_functions.relax_disp import Dispersion
 
 
 class Relax_disp(API_base, API_common):
@@ -915,7 +912,7 @@
             raise RelaxNoSequenceError
 
         # Loop over the sequence.
-        for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
+        for spin, spin_id in spin_loop(return_id=True):
             # Skip deselected spins.
             if not spin.select:
                 continue
@@ -942,9 +939,6 @@
 
             # Print out.
             if verbosity >= 1:
-                # Get the spin id string.
-                spin_id = generate_spin_id(mol_name, res_num, res_name, 
spin.num, spin.name)
-
                 # Individual spin print out.
                 if verbosity >= 2:
                     print "\n\n"
@@ -966,7 +960,7 @@
             else:
                 values = spin.sim_intensities[sim_index]
 
-            setup(num_params=len(spin.params), num_times=len(cdp.cpmg_frqs), 
values=values, sd=spin.intensity_err, cpmg_frqs=cdp.cpmg_frqs, 
scaling_matrix=scaling_matrix)
+            model = Dispersion(num_params=len(spin.params), 
num_times=len(cdp.cpmg_frqs), values=values, sd=spin.intensity_err, 
cpmg_frqs=cdp.cpmg_frqs, scaling_matrix=scaling_matrix)
 
 
             # Setup the minimisation algorithm when constraints are present.
@@ -996,9 +990,9 @@
             ###############
 
             if constraints:
-                results = generic_minimise(func=func, dfunc=dfunc, 
d2func=d2func, 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=True, print_flag=verbosity)
+                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=True, print_flag=verbosity)
             else:
-                results = generic_minimise(func=func, dfunc=dfunc, 
d2func=d2func, args=(), x0=param_vector, min_algor=min_algor, 
min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, 
maxiter=max_iterations, full_output=True, print_flag=verbosity)
+                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, 
full_output=True, print_flag=verbosity)
             if results == None:
                 return
             param_vector, chi2, iter_count, f_count, g_count, h_count, 
warning = results




Related Messages


Powered by MHonArc, Updated Wed Mar 27 18:20:03 2013