mailr4161 - /1.3/specific_fns/__init__.py


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

Header


Content

Posted by edward on December 09, 2007 - 19:34:
Author: bugman
Date: Sun Dec  9 19:34:57 2007
New Revision: 4161

URL: http://svn.gna.org/viewcvs/relax?rev=4161&view=rev
Log:
Implemented the get_specific_fn() function.


Modified:
    1.3/specific_fns/__init__.py

Modified: 1.3/specific_fns/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/specific_fns/__init__.py?rev=4161&r1=4160&r2=4161&view=diff
==============================================================================
--- 1.3/specific_fns/__init__.py (original)
+++ 1.3/specific_fns/__init__.py Sun Dec  9 19:34:57 2007
@@ -55,6 +55,175 @@
 def get_specific_fn(eqi, function_type, raise_error=1):
     """The function for returning the requested specific function."""
 
+    # Initialise.
+    function = None
+
+    # Get the class instance corresponding to function_type.
+    inst = get_instance(function_type)
+
+    # Attempt to retrieve the function.
+    try:
+        # Back-calculate function.
+        if eqi == 'back_calc':
+            function = inst.back_calc
+
+        # Calculate function.
+        if eqi == 'calculate':
+            function = inst.calculate
+
+        # Copy function.
+        if eqi == 'copy':
+            function = inst.copy
+
+        # Create Monte Carlo data function.
+        if eqi == 'create_mc_data':
+            function = inst.create_mc_data
+
+        # Duplicate data function.
+        if eqi == 'duplicate_data':
+            function = inst.duplicate_data
+
+        # Eliminate models.
+        if eqi == 'eliminate':
+            function = inst.eliminate
+
+        # Grid search function.
+        if eqi == 'grid_search':
+            function = inst.grid_search
+
+        # Initial Monte Carlo parameter value search function.
+        if eqi == 'init_sim_values':
+            function = inst.sim_init_values
+
+        # Map bounds function.
+        if eqi == 'map_bounds':
+            function = inst.map_bounds
+
+        # Minimise function.
+        if eqi == 'minimise':
+            function = inst.minimise
+
+        # Model statistics.
+        if eqi == 'model_stats':
+            function = inst.model_statistics
+
+        # Molmol macro creation.
+        if eqi == 'molmol_macro':
+            function = inst.molmol.macro
+
+        # Number of instances.
+        if eqi == 'num_instances':
+            function = inst.num_instances
+
+        # Overfit deselect.
+        if eqi == 'overfit_deselect':
+            function = inst.overfit_deselect
+
+        # Pack Monte Carlo simulation data function.
+        if eqi == 'pack_sim_data':
+            function = inst.sim_pack_data
+
+        # Parameter names function.
+        if eqi == 'param_names':
+            function = inst.get_param_names
+
+        # Parameter values function.
+        if eqi == 'param_values':
+            function = inst.get_param_values
+
+        # Read results file function (Columnar format).
+        if eqi == 'read_columnar_results':
+            function = inst.read_columnar_results
+
+        # Read results file function (XML format).
+        #if eqi == 'read_xml_results':
+        #    function = inst.read_xml_results
+
+        # Data returning function.
+        if eqi == 'return_data':
+            function = inst.return_data
+
+        # Data or parameter name returning function.
+        if eqi == 'return_data_name':
+            function = inst.return_data_name
+
+        # Data error returning function.
+        if eqi == 'return_error':
+            function = inst.return_error
+
+        # Factor of conversion between different parameter units returning 
function.
+        if eqi == 'return_conversion_factor':
+            function = inst.return_conversion_factor
+
+        # Grace string returning function.
+        if eqi == 'return_grace_string':
+            function = inst.return_grace_string
+
+        # Selected simulation array returning function.
+        if eqi == 'return_selected_sim':
+            function = inst.sim_return_selected
+
+        # Simulation chi-squared array returning function.
+        if eqi == 'return_sim_chi2':
+            function = inst.sim_return_chi2
+
+        # Simulation parameter array returning function.
+        if eqi == 'return_sim_param':
+            function = inst.sim_return_param
+
+        # String of the external parameter units returning function.
+        if eqi == 'return_units':
+            function = inst.return_units
+
+        # Value and error returning function.
+        if eqi == 'return_value':
+            function = inst.return_value
+
+        # Set function.
+        if eqi == 'set':
+            function = inst.set
+
+        # Set error function.
+        if eqi == 'set_error':
+            function = inst.set_error
+
+        # Set the selected simulations array.
+        if eqi == 'set_selected_sim':
+            function = inst.set_selected_sim
+
+        # Skip function.
+        if eqi == 'skip_function':
+            function = inst.skip_function
+
+        # Unselect function.
+        if eqi == 'unselect':
+            function = inst.unselect
+
+        # Write results function (Columnar format).
+        if eqi == 'write_columnar_results':
+            function = inst.write_columnar_results
+
+        # Write results function (XML format).
+        #if eqi == 'write_xml_results':
+        #    function = inst.write_xml_results
+
+    # Catch if the function is missing.
+    except AttributeError:
+        function = None
+
+    # Raise an error if the function doesn't exist.
+    if raise_error and function == None:
+        # Some debugging output.
+        if Debug:
+            print "Function type: " + `function_type`
+            print "Eqi: " + `eqi`
+
+        # Raise the error.
+        raise RelaxFuncSetupError, get_string(function_type)
+
+    # Return the function.
+    return function
+
 
 def get_instance(function_type):
     """Function for returning the class instance corresponding to the 
function type."""




Related Messages


Powered by MHonArc, Updated Sun Dec 09 19:40:08 2007