Merged revisions 27119-27153,27155 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r27119 | bugman | 2014-12-18 09:11:29 +0100 (Thu, 18 Dec 2014) | 5 lines
Created the Structure.test_atomic_fluctuations system test.
This will be used to implement the idea of the structure.atomic_fluctuations user function.
........
r27120 | bugman | 2014-12-18 09:51:58 +0100 (Thu, 18 Dec 2014) | 3 lines
Small fix for the new Structure.test_atomic_fluctuations system test.
........
r27121 | bugman | 2014-12-18 10:00:31 +0100 (Thu, 18 Dec 2014) | 5 lines
Another small fix for the Structure.test_atomic_fluctuations system test.
The matrix diagonal was incorrect.
........
r27122 | bugman | 2014-12-18 10:03:26 +0100 (Thu, 18 Dec 2014) | 6 lines
Implemented the structure.atomic_fluctuations user function.
This is loosely based on the structure.web_of_motion user function and is related to it. The user
function will write to file a correlation matrix of interatomic distance fluctuations.
........
r27123 | bugman | 2014-12-18 10:33:09 +0100 (Thu, 18 Dec 2014) | 5 lines
Created 4 unit tests for the lib.io.swap_extension function.
This is in preparation for implementing the function.
........
r27124 | bugman | 2014-12-18 10:35:22 +0100 (Thu, 18 Dec 2014) | 5 lines
Implemented the lib.io.swap_extension() function.
This is confirmed to be fully functional by its four unit tests.
........
r27125 | bugman | 2014-12-18 11:05:44 +0100 (Thu, 18 Dec 2014) | 11 lines
Created the empty lib.plotting package.
This follows from the thread at http://thread.gmane.org/gmane.science.nmr.relax.devel/7444.
The package will be used for assembling all of the data plotting capabilities of relax. It will
make support for different plotting software - Grace, OpenDX, matplotlib, gnuplot, etc - more
coherent. This will be used to create a software independent API for plotting in relax. I.e. the
plotting software is chosen by the user and then the data output by the user function passes into
the lib.plotting API which is then passed into the software dependent backend in lib.plotting.
........
r27126 | bugman | 2014-12-18 11:15:34 +0100 (Thu, 18 Dec 2014) | 7 lines
Created the Structure.test_atomic_fluctuations_gnuplot system test.
This checks the operation of the structure.atomic_fluctuations user function when the output format
is set to 'gnuplot'. This will be used to implement this option. The current gnuplot script
expected by this test is just a very basic starting script for now.
........
r27127 | bugman | 2014-12-18 12:05:07 +0100 (Thu, 18 Dec 2014) | 7 lines
Created the lib.plotting API function correlation_matrix().
This is the lib.plotting.api.correlation_matrix() function. It will be used for the visualisation
of rank-2 correlation matrices. The current basic API design here uses a dictionary of backend
functions (currently empty) for calling the backend.
........
r27128 | bugman | 2014-12-18 12:07:24 +0100 (Thu, 18 Dec 2014) | 6 lines
Implemented a very basic gnuplot backend for the correlation_matrix() plotting API function.
This is in the new lib.plotting.gnuplot module. It creates an incredibly basic gnuplot script for
visualising the correlation matrix, assuming a text file has already been created.
........
r27129 | bugman | 2014-12-18 12:13:07 +0100 (Thu, 18 Dec 2014) | 6 lines
Enabled the gnuplot format for the structure.atomic_fluctuations user function.
This uses the plotting API correlation_matrix() function for visualisation. The change allows the
Structure.test_atomic_fluctuations_gnuplot system test to pass.
........
r27130 | bugman | 2014-12-18 12:23:42 +0100 (Thu, 18 Dec 2014) | 8 lines
Shifted the matrix output of the structure.atomic_fluctuations user function into lib.plotting.text.
The new lib.plotting.text module will be used by the relax library plotting API to output data into
plain text format. The current correlation_matrix() function, which has been added to the API
correlation_matrix() function dictionary, simply has the file writing code of the
structure.atomic_fluctuations user function. This significantly simplifies the user function.
........
r27131 | bugman | 2014-12-18 12:25:01 +0100 (Thu, 18 Dec 2014) | 3 lines
More simplifications for the structure.atomic_fluctuations user function backend.
........
r27132 | bugman | 2014-12-18 12:28:49 +0100 (Thu, 18 Dec 2014) | 5 lines
Fix for the structure.atomic_fluctuations user function backend.
The pipe_control.structure.main.atomic_fluctuations() function no longer opens the output file.
........
r27133 | bugman | 2014-12-18 12:30:37 +0100 (Thu, 18 Dec 2014) | 6 lines
The gnuplot correlation_matrix() plotting API function now creates a text file of the data.
The lib.plotting.gnuplot.correlation_matrix() function now calls the
lib.plotting.text.correlation_matrix() function prior to creating the gnuplot script.
........
r27134 | bugman | 2014-12-18 16:08:32 +0100 (Thu, 18 Dec 2014) | 8 lines
Significantly expanded the gnuplot script from via the correlation_matrix() plotting API function.
This is for the structure.atomic_fluctuations user function. The output terminal is now set to EPS,
the colour map changed from the default to a blue-red map, labels have been added, the plot is now
square, and comments are now included throughout the script to help a user hand modify it after
creation.
........
r27135 | bugman | 2014-12-18 16:17:41 +0100 (Thu, 18 Dec 2014) | 3 lines
Improvement in the comments from the gnuplot correlation_matrix() plotting API function.
........
r27136 | bugman | 2014-12-18 16:45:24 +0100 (Thu, 18 Dec 2014) | 6 lines
Updated the Structure.test_atomic_fluctuations_gnuplot system test.
This is for the gnuplot correlation_matrix() plotting API changes which affect the
structure.atomic_fluctuations user function.
........
r27137 | bugman | 2014-12-18 16:46:11 +0100 (Thu, 18 Dec 2014) | 5 lines
Docstring fixes for the Structure.test_atomic_fluctuations_gnuplot system test.
This was pointing to the structure.rmsd user function instead of structure.atomic_fluctuations.
........
r27138 | bugman | 2014-12-18 18:07:19 +0100 (Thu, 18 Dec 2014) | 8 lines
Fixes and improvements for the gnuplot correlation_matrix() plotting API function.
This is for the structure.atomic_fluctuations user function. The "pm3d map" plot type is incorrect
for such data type, so instead of using 'splot', 'plot' is being used instead. The resultant EPS
file is now much smaller. The colour map has also been changed to one of the inbuilt ones for
higher contrast.
........
r27139 | bugman | 2014-12-18 18:55:27 +0100 (Thu, 18 Dec 2014) | 6 lines
Forced the gnuplot correlation_matrix plot to be square.
This is for the correlation_matrix() plotting API function used by the new
structure.atomic_fluctuations user function.
........
r27140 | bugman | 2014-12-18 18:57:38 +0100 (Thu, 18 Dec 2014) | 6 lines
Updated the Structure.test_atomic_fluctuations_gnuplot system test.
This is for the changes of the gnuplot correlation_matrix() plotting API function used by the
structure.atomic_fluctuations user function.
........
r27141 | bugman | 2014-12-19 10:49:00 +0100 (Fri, 19 Dec 2014) | 3 lines
Docstring fix for the Structure.test_atomic_fluctuations system test.
........
r27142 | bugman | 2014-12-19 10:49:22 +0100 (Fri, 19 Dec 2014) | 3 lines
Another docstring fix for the Structure.test_atomic_fluctuations system test.
........
r27143 | bugman | 2014-12-19 11:01:02 +0100 (Fri, 19 Dec 2014) | 6 lines
Created the Structure.test_atomic_fluctuations_angle system test.
This will be used to implement the mapping of inter-atomic vector angular fluctuations between
structures via a new 'measure' keyword argument for the structure.atomic_fluctuations user function.
........
r27144 | bugman | 2014-12-19 11:23:46 +0100 (Fri, 19 Dec 2014) | 7 lines
Implemented angular fluctuations for the structure.atomic_fluctuations user function.
This adds the measure argument to the user function to allow either the default of 'distance' or the
'angle' setting to be chosen. The implementation is confirmed by the
Structure.test_atomic_fluctuations_angle system test which now passes.
........
r27145 | bugman | 2014-12-19 11:49:07 +0100 (Fri, 19 Dec 2014) | 5 lines
Clean ups and speed ups of the structure.atomic_fluctuations user function.
Duplicate calculations are now avoided, as the SD matrix is symmetric.
........
r27146 | bugman | 2014-12-19 15:10:42 +0100 (Fri, 19 Dec 2014) | 3 lines
Description improvements and GUI layout fixes for the structure.atomic_fluctuations user function.
........
r27147 | bugman | 2014-12-19 16:42:53 +0100 (Fri, 19 Dec 2014) | 7 lines
Added the 'parallax shift' measure to the structure.atomic_fluctuations user function.
The parallax shift is defined as the length of the average vector minus the interatomic vector. It
is similar to the angle measure however, importantly, it is independent of the distance between the
two atoms.
........
r27148 | bugman | 2014-12-19 19:31:23 +0100 (Fri, 19 Dec 2014) | 6 lines
Updated the gnuplot scripts to be executable.
These are the scripts created by the gnuplot specific correlation_matrix() plotting API function.
The file is made executable and the script now starts with "#!/usr/bin/env gnuplot".
........
r27149 | bugman | 2014-12-22 09:09:57 +0100 (Mon, 22 Dec 2014) | 5 lines
Created the Structure.test_atomic_fluctuations_parallax system test.
This is to demonstrate that the parallax shift fluctuations are not implemented correctly.
........
r27150 | bugman | 2014-12-22 09:19:13 +0100 (Mon, 22 Dec 2014) | 5 lines
Fix for the Structure.test_atomic_fluctuations_parallax system test.
The distance shifts need to be numbers, not vectors.
........
r27151 | bugman | 2014-12-22 09:19:50 +0100 (Mon, 22 Dec 2014) | 3 lines
Proper implementation of the 'parallax shift' for the structure.atomic_fluctuations user function.
........
r27152 | bugman | 2014-12-22 10:56:15 +0100 (Mon, 22 Dec 2014) | 6 lines
Improved the structure.atomic_fluctuations user function documentation.
The fluctuation categories are now better explained. And the 'parallax shift' option is now
available in the GUI.
........
r27153 | bugman | 2014-12-23 11:07:45 +0100 (Tue, 23 Dec 2014) | 5 lines
Fix for the parallax shift description in the structure.atomic_fluctuations user function.
The parallax shift is not quite orthogonal to the distance fluctuations.
........
r27155 | tlinnet | 2015-01-07 20:25:09 +0100 (Wed, 07 Jan 2015) | 15 lines
Implemented ordinary_least_squares function the repeated auto-analysis.
Inspection of statistics books, shows that several authors does not recommend using regression through the origin (RTO).
From Joseph G. Eisenhauer: Regression through the Origin
- RTO residuals will usually have a nonzero mean, because forcing the regression line through the origin is generally inconsistent with the best fit.
- R Square measures (for RTO) the proportion of the variability in the dependent variable "about the origin" explained by regression.
This CANNOT be compared to R Square for models which include an intercept.
From "EXPERIMENTAL DESIGN AND DATA ANALYSIS FOR BIOLOGISTS", G. P. QUINN, MICHAEL J. KEOUGH
- minimum observed xi rarely extends to zero, and forcing our regression line through the origin not only involves extrapolating the regression line
outside our data range but also assuming the relationship is linear outside this range (Cade & Terrell 1997, Neter et al. 1996).
- We recommend that it is better to have a model that fits the observed data well than one that goes through the origin but provides a worse fit to the observed data.
- residuals from the no-intercept model no longer sum to zero.
- usual partition of SSTotal into SSRegression and SSResidual doesn’t work.
........