Author: bugman
Date: Fri Oct 2 13:54:25 2015
New Revision: 27951
URL: http://svn.gna.org/viewcvs/relax?rev=27951&view=rev
Log:
Merged revisions 25790-25792,25794-25799,25804-25809,25811-25845,25862-25896
via svnmerge from
svn+ssh://[email protected]/svn/relax/branches/frame_order_cleanup
........
r25790 | bugman | 2014-09-12 15:05:07 +0200 (Fri, 12 Sep 2014) | 13 lines
Added support for the model argument for the frame_order.pdb_model user
function.
This argument is used to specify which of the models in an ensemble will be
used to represent the
average domain position Monte Carlo simulations, as each simulation is
encoded as a model, as well
as for the distribution of structures simulating the motion of the system.
The argument is
therefore passed into the create_ave_pos() and create_distribution()
functions of the
specific_analyses.frame_order.geometric module.
To handle all models being used in the non Monte Carlo simulation PDB file
and only one in this
file, the internal structural object is copied twice. The second copy for
the MC sims has all but
the chosen model deleted out of it.
........
r25791 | bugman | 2014-09-12 15:19:16 +0200 (Fri, 12 Sep 2014) | 6 lines
Fix for the Frame_order.test_frame_order_pdb_model_ensemble system test.
More needed to be done to set up the Monte Carlo simulations - the
monte_carlo.initial_values user
function call was required.
........
r25792 | bugman | 2014-09-12 15:20:32 +0200 (Fri, 12 Sep 2014) | 6 lines
Modified the frame order sim_init_values() API method to handle missing
optimisation data.
The monte_carlo.initial_values user function was failing if optimisation had
not been performed.
This is now caught and handled correctly.
........
r25794 | bugman | 2014-09-12 15:30:26 +0200 (Fri, 12 Sep 2014) | 6 lines
Created the Frame_order.test_frame_order_pdb_model_failed_pivot system test.
This simply shows how the frame_order.pdb_model user function currently fails
if the optimised pivot
point is outside of the PDB coordinate limits of "%8.3f".
........
r25795 | bugman | 2014-09-12 15:45:45 +0200 (Fri, 12 Sep 2014) | 11 lines
The frame_order.pdb_model user function can now properly handle a failed
pivot optimisation.
This is when the pivot point optimises to a coordinate outside of the PDB
limits.
Now all calls to specific_analyses.frame_order.data.generate_pivot() from the
module
specific_analyses.frame_order.geometric set the pdb_limit flag to True. This
allows all
representation objects to be within the PDB limits. The algorithm in
generate_pivot() has been
extended to allow higher positive values, as the real PDB limits are
[-999.999, 9999.999]. And a
RelaxWarning is called when the pivot is outside to tell the user about it.
........
r25796 | bugman | 2014-09-12 15:59:00 +0200 (Fri, 12 Sep 2014) | 17 lines
Reverted r25767 as this was rubbish, the frame_order.pivot user function
updates the model itself.
The command used was:
svn merge -r25767:r25766 .
.....
r25767 | bugman | 2014-09-12 10:08:13 +0200 (Fri, 12 Sep 2014) | 6 lines
Changed paths:
M /branches/frame_order_cleanup/specific_analyses/frame_order/uf.py
Added a call to check_pivot() to the frame_order.select_model user function.
This is to prevent this user function from being called before the pivot
has been set, as otherwise
the parameter vector will be incorrectly set up.
.....
........
r25797 | bugman | 2014-09-12 16:06:38 +0200 (Fri, 12 Sep 2014) | 6 lines
Modified the frame order auto-analysis to be more fail-safe.
Almost all of the protocol is now within a try-finally block so that the
execution lock will always
be released.
........
r25798 | bugman | 2014-09-12 16:50:28 +0200 (Fri, 12 Sep 2014) | 7 lines
Fix for the specific_analyses.frame_order.data.pivot_fixed() function.
This was recently introduced (r25763) when the check for PCS data was removed
from this function.
To fix the problem, instead of calling base_data_types() to see if PCS data
is present, the
cdp.pcs_ids data structure is checked instead.
........
r25799 | bugman | 2014-09-12 16:55:53 +0200 (Fri, 12 Sep 2014) | 6 lines
Fix for the model argument for the frame_order.pdb_model user function.
The deletion of structural models for the Monte Carlo simulations in the
average domain position
representation now only happen if more than one model exists.
........
r25804 | bugman | 2014-09-12 17:10:55 +0200 (Fri, 12 Sep 2014) | 6 lines
Modified the Frame_order.test_frame_order_pdb_model_failed_pivot system test.
This is to show that the frame_order.pdb_model user function fails if the
pivot is close to but
still within the PDB coordinate limits.
........
r25805 | bugman | 2014-09-12 17:13:19 +0200 (Fri, 12 Sep 2014) | 6 lines
Modified the pivot position checking in
specific_analyses.frame_order.data.generate_pivot().
Now the pivot is shifted to be within the limits shrunk by 100 Angstrom.
This allows any PDB
representation created by the frame_order.pdb_model user function to be
within the PDB limits.
........
r25806 | bugman | 2014-09-12 17:21:08 +0200 (Fri, 12 Sep 2014) | 6 lines
Fix for the axis permutation protocol in the frame order auto-analysis.
If a results file was found for one of the permutations, a return from the
function would occur.
The result is that the other permutations would not be loaded or optimised.
........
r25807 | bugman | 2014-09-12 17:31:20 +0200 (Fri, 12 Sep 2014) | 5 lines
Fix for the RelaxError raised by the frame_order.select_model user function.
This is the error if the model name is incorrect.
........
r25808 | bugman | 2014-09-12 17:33:54 +0200 (Fri, 12 Sep 2014) | 6 lines
Created the Frame_order.test_pseudo_ellipse_zero_cone_angle system test.
This is to catch for a bug in optimisation when the cone_theta_x is set to
zero in the
pseudo-ellipse models.
........
r25809 | bugman | 2014-09-12 17:35:47 +0200 (Fri, 12 Sep 2014) | 7 lines
Bug fix for the lib.frame_order.pseudo_ellipse.tmax_pseudo_ellipse_array()
function.
The problem was that when theta_x or theta_y were zero, the floating point
value of 0.0 would be
returned. This is the incorrect behaviour as the returned value must be an
array matching the
dimensions of the phi angle array argument.
........
r25811 | bugman | 2014-09-12 18:07:20 +0200 (Fri, 12 Sep 2014) | 5 lines
Fix for the Pseudo_elliptic cone object for when the cone angles are zero.
The Pseudo_elliptic.phi_max() method now avoids a divide by zero error.
........
r25812 | bugman | 2014-09-12 18:42:47 +0200 (Fri, 12 Sep 2014) | 6 lines
Updates for all of the Frame_order.test_axis_perm_* system tests.
The axis permutations and angle permutations are now performed correctly
within the tests
themselves. This allows the tests to pass.
........
r25813 | bugman | 2014-09-12 19:03:09 +0200 (Fri, 12 Sep 2014) | 6 lines
Modified the Frame_order.test_pseudo_ellipse_zero_cone_angle system test to
be quick.
Now that the test passes, the optimisation needs to be short. So a maximum
of two iterations are
now set. Otherwise the test would take hours to complete.
........
r25814 | bugman | 2014-09-12 19:22:19 +0200 (Fri, 12 Sep 2014) | 3 lines
Small speed up of the Frame_order.test_auto_analysis system test.
........
r25815 | bugman | 2014-09-14 11:33:37 +0200 (Sun, 14 Sep 2014) | 3 lines
Alphabetical ordering of most of the Frame_order system tests.
........
r25816 | bugman | 2014-09-14 11:39:14 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the very simple Frame_order.test_num_int_points system test.
This simply creates a data pipe and calls the frame_order.num_int_pts user
function to test its
operation. This is to increase the test suite coverage of this user function.
........
r25817 | bugman | 2014-09-14 11:54:58 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_num_int_pts2 system test.
This checks the operation of the frame_order.num_int_pts user function when
only the model has been
chosen.
........
r25818 | bugman | 2014-09-14 12:01:49 +0200 (Sun, 14 Sep 2014) | 3 lines
Renamed the Frame_order.test_num_int_points system test to
Frame_order.test_num_int_pts.
........
r25819 | bugman | 2014-09-14 12:48:27 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the check_domain() function for the frame order analysis.
This is in the specific_analyses.frame_order.checks module. The function
checks that the reference
domain has been specified.
........
r25820 | bugman | 2014-09-14 12:56:20 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the check_model() function for the frame order analysis.
This is in the specific_analyses.frame_order.checks module. The function
checks that the frame
order model has been selected via the frame_order.select_model user function.
........
r25821 | bugman | 2014-09-14 12:58:39 +0200 (Sun, 14 Sep 2014) | 3 lines
Fixes for the new check_domain() and check_model() frame order functions.
........
r25822 | bugman | 2014-09-14 13:01:01 +0200 (Sun, 14 Sep 2014) | 3 lines
The frame_order.ref_domain user function backend now uses the check_domain()
function.
........
r25823 | bugman | 2014-09-14 13:13:40 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the check_parameters() function for the frame order analysis.
This is in the specific_analyses.frame_order.checks module. The function
checks that the frame
order parameters have been set up and have values.
........
r25824 | bugman | 2014-09-14 13:14:51 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_num_int_pts3 system test.
This checks the operation of the frame_order.num_int_pts user function when
the model has been and
the frame order parameters have been set up.
........
r25825 | bugman | 2014-09-14 13:22:08 +0200 (Sun, 14 Sep 2014) | 7 lines
Created the Frame_order.test_count_sobol_points system test.
This will test that the frame_order.num_int_pts user function can correctly
count the number of
Sobol' integration points used for the current set of parameter values. This
frame_order.num_int_pts functionality does not exist yet.
........
r25826 | bugman | 2014-09-14 14:43:07 +0200 (Sun, 14 Sep 2014) | 7 lines
Implementation of the
specific_analyses.frame_order.optimisation.count_sobol_points() function.
This is used by the frame_order.num_int_pts user function to provide a
printout of the number of
Sobol' integration points used for the current parameter values. This is to
provide user feedback
so that it is know if enough Sobol' points have been used.
........
r25827 | bugman | 2014-09-14 14:44:49 +0200 (Sun, 14 Sep 2014) | 6 lines
Modified the Frame_order.test_count_sobol_points system test.
The number of points has been massively decreased as generating Sobol' points
takes a long time, and
the check for the number of used Sobol' points has been set to the real value.
........
r25828 | bugman | 2014-09-14 14:46:58 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_count_sobol_points2 system test.
This checks the operation of the frame_order.count_sobol_points user
function. As this user
function has not been implemented yet, the test currently fails.
........
r25829 | bugman | 2014-09-14 14:56:40 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the frame_order.count_sobol_points user function.
This is simply a frontend to the new
specific_analyses.frame_order.optimisation.count_sobol_points()
function.
........
r25830 | bugman | 2014-09-14 14:57:04 +0200 (Sun, 14 Sep 2014) | 3 lines
Updated the Frame_order.test_count_sobol_points2 system test for the correct
number of Sobol' points.
........
r25831 | bugman | 2014-09-14 15:01:35 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_count_sobol_points_rigid system test.
This is to demonstrate a failure of the frame_order.test_count_sobol_points
user function when
applied to the rigid frame order model.
........
r25832 | bugman | 2014-09-14 15:07:22 +0200 (Sun, 14 Sep 2014) | 5 lines
Fix for the frame_order.count_sobol_points user function for the rigid model.
This model is now caught at the start, a message printed out, and the
function exited.
........
r25833 | bugman | 2014-09-14 15:08:46 +0200 (Sun, 14 Sep 2014) | 6 lines
Fix for the Frame_order.test_count_sobol_points_rigid system test.
This now checks that cdp.used_sobol_points does not exist for the rigid frame
order model after a
call to the frame_order.count_sobol_points user function.
........
r25834 | bugman | 2014-09-14 15:11:49 +0200 (Sun, 14 Sep 2014) | 5 lines
Created the Frame_order.test_count_sobol_points_rotor system test.
This is to test the frame_order.count_sobol_points user function for the
rotor model.
........
r25835 | bugman | 2014-09-14 15:13:46 +0200 (Sun, 14 Sep 2014) | 5 lines
Fix for the frame_order.count_sobol_points user function for the rotor model.
The sigma angles unpacking required a dimensionality collapse in the Sobol'
angle data structure.
........
r25836 | bugman | 2014-09-14 15:14:17 +0200 (Sun, 14 Sep 2014) | 3 lines
Updated the number of points to allow the
Frame_order.test_count_sobol_points_rotor system test to pass.
........
r25837 | bugman | 2014-09-14 15:38:39 +0200 (Sun, 14 Sep 2014) | 8 lines
The frame order count_sobol_points() function is now being called by all of
minimise user functions.
This occurs at the end of the minimise.calculate, minimise.grid_search, and
minimise.execute user
function backends to provide more feedback to the user as to the quality of
the optimisation. To
avoid initialising the target function twice, the count_sobol_points()
function now accepts the
initialised target function as an optional argument.
........
r25838 | bugman | 2014-09-14 15:41:15 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_count_sobol_points_free_rotor system test.
This is to demonstrate that the frame_order.count_sobol_points user function
currently fails for the
free-rotor model.
........
r25839 | bugman | 2014-09-14 15:44:09 +0200 (Sun, 14 Sep 2014) | 6 lines
Fix for the frame_order.count_sobol_points user function for the free-rotor
models.
The torsion angle is now correctly handled as the 3 free-rotor models do not
have cdp.cone_sigma_max
set.
........
r25840 | bugman | 2014-09-14 15:44:45 +0200 (Sun, 14 Sep 2014) | 5 lines
Updated the number of points in the
Frame_order.test_count_sobol_points_free_rotor system test.
This is to allow the test to pass.
........
r25841 | bugman | 2014-09-14 15:51:45 +0200 (Sun, 14 Sep 2014) | 6 lines
Fix for the frame order count_sobol_points() function.
The checks for the model, parameter and domain set up must come first, before
cdp.model is accessed.
Otherwise the frame_order.num_int_pts user function will often fail.
........
r25842 | bugman | 2014-09-14 15:58:19 +0200 (Sun, 14 Sep 2014) | 7 lines
Fix for the frame order count_sobol_points() function.
The free-rotor isotropic cone model was incorrectly handled, as the cone
parameter is 'cone_s1' and
not 'cone_theta'. The order parameter is now converted to angle before
checking if the Sobol' point
is outside of the cone or not.
........
r25843 | bugman | 2014-09-14 16:03:44 +0200 (Sun, 14 Sep 2014) | 6 lines
More fixed for the frame order count_sobol_points() function.
The torsion angle for the torsionless models is no longer accessed, and the
cone_theta parameter is
only accessed for models with this parameter.
........
r25844 | bugman | 2014-09-14 16:51:00 +0200 (Sun, 14 Sep 2014) | 6 lines
Created the Frame_order.test_count_sobol_points_iso_cone_free_rotor system
test.
This is to test the frame_order.count_sobol_points user function for the
free-rotor isotropic cone
model.
........
r25845 | bugman | 2014-09-14 17:19:59 +0200 (Sun, 14 Sep 2014) | 6 lines
Fix for the frame order count_sobol_points() function.
The torsion angle ranges from -pi to pi, so the absolute value needs to be
checked, just as in the
lib.frame_order modules.
........
r25862 | bugman | 2014-09-17 11:05:28 +0200 (Wed, 17 Sep 2014) | 5 lines
Updates for the number of Sobol' points in the
Frame_order.test_count_sobol_points_* system tests.
This is simply to allow all Frame_order system tests to pass.
........
r25863 | bugman | 2014-09-17 17:11:12 +0200 (Wed, 17 Sep 2014) | 9 lines
Redesigned the frame_order.num_int_pts user function frontend for the
oversampling idea.
The use of the quasi-random Sobol' sequence for numerical PCS integration
will be modified to use
the concept of oversampling. Instead of specifying the exact number of
points in the Sobol'
sequence and then removing points outside of the current parameter values,
the algorithm will
oversample as N * Ov * 10**M, where N is the maximum number of Sobol' points
to be used for the
integration, Ov is the oversampling factor, and M is the number of dimensions
or torsion-tilt angles
used in the system. The aim is to try to use the maximum number of points N
for all frame order
models and all ranges of dynamics.
........
r25864 | bugman | 2014-09-17 17:11:14 +0200 (Wed, 17 Sep 2014) | 5 lines
Renamed the frame_order.num_int_pts user function to frame_order.sobol_setup.
The user function no longer specifies the number of integration points.
Instead it now specifies
the maximum number of points N and oversampling factor Ov used to generate
the oversampled Sobol'
sequence.
........
r25865 | bugman | 2014-09-17 17:11:16 +0200 (Wed, 17 Sep 2014) | 1 line
Small fix for the frame_order.sobol_setup user function backend.
........
r25866 | bugman | 2014-09-17 17:11:18 +0200 (Wed, 17 Sep 2014) | 1 line
Implemented the Sobol' sequence oversampling in the frame order target
function class.
........
r25867 | bugman | 2014-09-17 17:11:20 +0200 (Wed, 17 Sep 2014) | 7 lines
Converted all of the specific_analyses.frame_order package to the Sobol'
point oversampling design.
The correct values are now sent into the target function and all references
to cdp.num_int_pts has
been replaced with the cdp.sobol_max_points and cdp.sobol_oversample pair of
variables.
The frame_order.count_sobol_points user function backend has also been
updated to show the total
number of oversampling points and the number of points used.
........
r25868 | bugman | 2014-09-17 17:11:21 +0200 (Wed, 17 Sep 2014) | 3 lines
The frame_order.count_sobol_points user function now shows more information.
The maximum number and oversampling factors are now also printed out for
maximum user feedback.
........
r25869 | bugman | 2014-09-17 17:11:23 +0200 (Wed, 17 Sep 2014) | 1 line
Improved the print out formatting for the count_sobol_points() frame order
function.
........
r25870 | bugman | 2014-09-17 17:11:25 +0200 (Wed, 17 Sep 2014) | 4 lines
The frame order target function now passes the maximum number of Sobol'
points to the relax library.
The value is being passed into the lib.frame_order.*.pcs_numeric_int_*()
functions, though it is not
used set.
........
r25871 | bugman | 2014-09-17 17:11:26 +0200 (Wed, 17 Sep 2014) | 1 line
Fix for the percentage calculation for the frame order count_sobol_points()
function.
........
r25872 | bugman | 2014-09-17 17:11:28 +0200 (Wed, 17 Sep 2014) | 6 lines
Changed the creation of the Sobol' points in the frame order target function.
For increased accuracy of the numerical PCS integration, the first 1000
points of the Sobol'
[... 283 lines stripped ...]
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits