Menu

SVN archive Commit Log


Commit Date  
[r2300] by bugman

A huge number of changes for the relaxation curve fitting functions.

As C code has been added, the compilation of that code, as well as the functions of the clean_up
script have been placed into a Makefile. The command 'make' will compile the C code into a python
module in the format of a binary shared object '*.so'. The command 'make clean' will remove all the
byte compiled python files '*.pyc', any backup files created by certain editors '*.bak', all
compiled object files '*.o', and all compiled shared object files '*.so'. These 'rm' commands are
identical to those that were in the 'clean_up' script, hence the script has been deleted.
Rudimentary make rules for the creation of the relax manual, relax HTML manual, and creating a relax
distribution file have been added, although these rules don't work properly yet.

A rudimentary C file 'maths_fns/exp_fn.c' and C header file 'maths_fns/exp_fn.h' has been created
for the optimisation of the parameters of the exponential function. The parameters are Rx (either
the R1 or R2) and I0 (the initial peak intensity). The parameter Iinf (the intensity at infinity)
is used for the three parameter exponential of the inversion recovery experiment. The header file
currently contains two define statements, one for PY_ARRAY_UNIQUE_SYMBOL needed to tie C code to
Python, and MAXPARAMS. The C file contains the function 'exponential_fn()' for setting up prior to
optimisation, the function 'exponential_test_fn()' for testing the integration of C and Python, the
functions 'func()', 'dfunc()', and 'd2func()' for passing to the minimisation code, a method table
required for the functions called by Python, and the function 'initexp_fn()' used for initialising
the module in Python.

Reliance on Swig has been removed, therefore the file 'maths_fns/c_chi2.i' is unnecessary and has
been deleted.

For the specific relaxation curve fitting module 'specific_fns/relax_fit.py', the C code which has
been compiled into a shared object '*.so' is imported with a try statement so that relax will
function without compilation. The flag 'C_module_exp_fn' has been added to __builtin__ so that if
there is a problem with the module, relaxation curve fitting will be disallowed in the run setup
function in 'generic_fns/runs.py'.

The class Relax_fit in 'specific_fns/relax_fit.py' is now subclassed with the class Common_functions
from 'specific_fns/base_class.py' being the base class. Two functions have been shifted from the
model-free code of 'specific_fns/model_free.py' into 'specific_fns/base_class.py'. These are the
functions 'return_value()' and 'set()' as these functions are identical in both relaxation curve
fitting and model-free analysis (or any specific code which would use minimisation). Two functions
for each of these classes of analysis have been created called 'set_doc()' which include the
specific docstrings of the previous functions 'set()'. This docstring is appended to some of the
docstrings in the user functions of the prompt.

The function 'ave_and_sd' has been added to 'specific_fns/relax_fit.py' to calculate the average
peak intensity for each time point as well as calculating the average standard deviation for all
duplicated spectra. All mentions of model-free in the file have also been removed, the function
'default_value()' has been added, a few bugs have been removed from the 'read()' function, the
'minimise()' function has been updated, and the 'return_data_name()' function has been fixed to
include all parameters.

The 'return_data_name' and 'set' functions for relaxation curve fitting have been added to
'specific_fns/specific_setup.py'.

The indentation in 'generic_fns/value.py' has been fixed.

The 'set()' function in 'specific_fns/jw_mapping.py' has been fixed.

2006-01-09 02:39:10 Tree
[r2299] by bugman

Bug fixes and completion of the NOE data analysis section of the manual.

The grace file produced by grace.write() has had one bug removed (not \n). The point are now small
circles instead of crosses.

The NOE functions return_conversion_factor, return_grace_string, and return_units have been added
to the specific_fns/specific_setup.py file.

2006-01-07 00:58:33 Tree
[r2298] by bugman

Added a chapter to the manual about data analysis. This is a chapter intended to explain
step-by-step how to implement the data analysis chain in calculating the NOE, fitting the R1 and R2
relaxation curves, implementing reduced spectral density mapping, and doing model-free analysis.

Also added an introduction paragraph to the maths chapter to warn ordinary users to not read it.

2006-01-06 06:03:18 Tree
[r2297] by bugman

A large number of changes in preparation for optimisation of the exponential relaxation curves.

The user function 'relax_fit.curve_type' has been renamed to 'relax_fit.select_model' to bring it
into line with the model-free functions.

Bug fix: The model-free prompt function now prints the 'res_num' argument.

The following functions have been added to the file 'specific_fns/relax_fit.py' in preparation:

self.assemble_param_vector()
self.data_names()
self.grid_search_setup()
self.linear_constraints()
self.minimise()
self.model_setup()

A few other fixes have been added to 'specific_fns/relax_fit.py'.

The 'data_init' function of 'specific_fns/model_free.py' has been simplified a little.

The relax_fit minimise function has been added to 'specific_fns/specific_setup.py'.

2006-01-06 03:41:02 Tree
[r2296] by bugman

More additions to the relaxation curve fitting functions.

The specification of the exponential curve type, either the two parameter standard experiment or
three parameter inversion recovery experiment has been shifted out of the function
'relax_fit.read()' into it's own function 'relax_fit.curve_type()'.

A grid search function has been added.

The specific setup has been modified to printout information when the debugging flag is given to the
program and when no specific function can be found.

2006-01-05 07:27:37 Tree
[r2295] by bugman

Added the relaxation data curvefitting function 'assign_function' for placing the data into
'self.relax.data'.

2006-01-05 06:36:33 Tree
[r2294] by bugman

Bug fix:

Chris MacRaild found a bug in the program where back calculation of relaxation data would fail on
unselected resides. I've added the fix he suggested.

2005-12-21 04:23:15 Tree
[r2293] by bugman

Bug fix:

Fixed a problem with the capitalisation of internal model-free parameter names.

2005-12-21 04:14:37 Tree
[r2292] by bugman

Spell check of the Dasha user function docstring.

2005-12-19 05:30:16 Tree
[r2291] by edward

Fixed a problem in the maths section of the manual.

2005-12-15 03:03:09 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.