Menu

Commit [r27950]  Maximize  Restore  History

Merged revisions 25713-25715,25720-25723,25725-25741,25744-25747,25749-25754,25760-25769 via svnmerge from

svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup

........
r25713 | bugman | 2014-09-09 14:24:13 +0200 (Tue, 09 Sep 2014) | 5 lines

Implemented the frame_order.permute_axes user function.

This is used to switch between local minima in the pseudo-elliptic frame order models.
........
r25714 | bugman | 2014-09-09 14:25:41 +0200 (Tue, 09 Sep 2014) | 7 lines

Fix for the Frame_order.test_axis_permutation system test.

The motional eigenframe in the old log file was not exactly correct and did not correspond exactly
to the Euler angles in the cam_pseudo_ellipse.bz2 results file in
test_suite/shared_data/frame_order/axis_permutations/.
........
r25715 | bugman | 2014-09-09 14:29:43 +0200 (Tue, 09 Sep 2014) | 6 lines

Extended the Frame_order.test_axis_permutation system test to check frame_order.permute_axes twice.

This will check that two calls to the frame_order.permute_axes user function will restore the
original parameter values.
........
r25720 | bugman | 2014-09-09 19:13:17 +0200 (Tue, 09 Sep 2014) | 5 lines

The frame_order.permute_axes user function can now handle the torsionless pseudo-ellipse.

This model does not have the variable cdp.cone_sigma_max set.
........
r25721 | bugman | 2014-09-09 19:18:46 +0200 (Tue, 09 Sep 2014) | 5 lines

Fix for the frame_order.permute_axes user function for the torsionless pseudo-ellipse.

This should have been part of the last commit.
........
r25722 | bugman | 2014-09-09 19:33:39 +0200 (Tue, 09 Sep 2014) | 8 lines

Added support for axis permutations in the frame order auto-analysis.

This is done by copying the data pipe of the already optimised pseudo-elliptic models, permuting the
axes, and performing another optimisation using all RDC and PCS data. This allows the second
solution for these pseudo-elliptic models to be found. The 2nd pipe is included in the model
selection step to allow the best solution for the model to be found.
........
r25723 | bugman | 2014-09-09 19:39:36 +0200 (Tue, 09 Sep 2014) | 7 lines

Fix for the reading of old results files in the frame order auto-analysis.

The directory name is now processed by the model_directory() method. This will convert the spaces
to '_' and remove commas. Without this the already created files could not be found, if the model
name contains a space or comma.
........
r25725 | bugman | 2014-09-09 21:12:30 +0200 (Tue, 09 Sep 2014) | 6 lines

Made the pivot point in the frame order PDB representation fail-proof.

If the pivot position was outside of the bounds [-1000, 1000], the PDB file creation would fail as
the record would be too long. So now the pivot is shifted to be in these bounds.
........
r25726 | bugman | 2014-09-10 08:46:29 +0200 (Wed, 10 Sep 2014) | 5 lines

The axis permutation step in the frame order auto-analysis is now always performed.

If an old results file was found, this step was accidentally skipped.
........
r25727 | bugman | 2014-09-10 09:22:20 +0200 (Wed, 10 Sep 2014) | 3 lines

Added extensive printouts to the frame_order.permute_axes user function.
........
r25728 | bugman | 2014-09-10 11:43:11 +0200 (Wed, 10 Sep 2014) | 7 lines

Redesigned the frame_order.permute_axes user function frontend.

Previously only cyclic permutations were considered, however non-cyclic permutations are also
allowed when accompanied by an axis inversion. Therefore 3 combinations exist with cone_theta_x <=
cone_theta_y, or 2 when the current combination is excluded.
........
r25729 | bugman | 2014-09-10 13:21:28 +0200 (Wed, 10 Sep 2014) | 10 lines

Created 6 system tests for the frame_order.permute_axes user function.

This covers the 3 starting conditions (x<y<z, x<z<y, z<x<y) and the two permutations ('A' and 'B')
for each of these which do not include the starting permutation. They replace the original
Frame_order.test_axis_permutation system test with the tests
Frame_order.test_axis_perm_x_le_y_le_z_permA, Frame_order.test_axis_perm_x_le_y_le_z_permB,
Frame_order.test_axis_perm_x_le_z_le_y_permA, Frame_order.test_axis_perm_x_le_z_le_y_permB,
Frame_order.test_axis_perm_z_le_x_le_y_permA, and Frame_order.test_axis_perm_z_le_x_le_y_permB.
........
r25730 | bugman | 2014-09-10 13:41:33 +0200 (Wed, 10 Sep 2014) | 8 lines

Implemented the new frame_order.permute_axes backend.

The 3 starting conditions x<y<z, x<z<y, and z<x<y and the two permutations 'A' and 'B' (for each of
these which do not include the starting permutation) are now supported. For these 6 combinations,
the axis and order parameter permutation and the z-axis inversion are selected and applied to the
current system.
........
r25731 | bugman | 2014-09-10 13:43:41 +0200 (Wed, 10 Sep 2014) | 5 lines

Removed the second permutation from the 6 Frame_order.test_axis_perm_* system tests.

A second identical permutation does not necessarily restore the original state.
........
r25732 | bugman | 2014-09-10 13:49:20 +0200 (Wed, 10 Sep 2014) | 5 lines

Fix for the frame_order.permute_axes for the torsionless pseudo-ellipse model.

The data structure cdp.cone_sigma_max does not exist in this model as cone_sigma_max == 0.0.
........
r25733 | bugman | 2014-09-10 13:57:03 +0200 (Wed, 10 Sep 2014) | 7 lines

Modified the frame order auto-analysis axis permutation algorithm to handle both permutations.

Instead of creating one additional data pipe for the permutations, two are now created for the
permutations 'A' and 'B'. This allows all 3 solutions for the pseudo-elliptic models to be
explored and included in the final model selection process.
........
r25734 | bugman | 2014-09-10 14:20:43 +0200 (Wed, 10 Sep 2014) | 5 lines

Fix for the Frame_order.test_axis_perm_x_le_z_le_y_permB system test.

The permuted z-axis needs to be inverted in the test.
........
r25735 | bugman | 2014-09-10 14:24:58 +0200 (Wed, 10 Sep 2014) | 8 lines

Many fixes for the frame_order.permute_axes user function.

The z-axis inversion is now encoded into a 3D numpy array as the index of the new z-axis position
needs to be stored. The cone_theta_x, cone_theta_y and cone_sigma_max parameters are now permuted
in reverse 'perm' data structure by calling its index() method. And the cone_theta_x - cone_theta_y
to y-axis - x-axis switch has been removed (this may need to be reintroduced later).
........
r25736 | bugman | 2014-09-10 14:41:23 +0200 (Wed, 10 Sep 2014) | 6 lines

Fix for the axis permutation protocol in the frame order auto-analysis.

The pipe.copy user function does not switch pipes, therefore the pipe.switch user function is now
being called so that the correct pipe is being permuted and optimised.
........
r25737 | bugman | 2014-09-10 18:46:29 +0200 (Wed, 10 Sep 2014) | 9 lines

Created some test data files for visualising the frame order axis permutation.

This uses the CaM frame order synthetic data for the rotor model to visualise the pseudo-ellipse
frame order model axis permutations. The initial conversion sets the pseudo-ellipse torsion angle
cone_sigma_max to the rotor opening half-angle, and the pseudo-elliptic cone opening to close to
zero. Then the axis permutations are performed. All three solutions are optimised. PDB
representations before and after optimisation are included to illustrate any problems.
........
r25738 | bugman | 2014-09-10 21:33:37 +0200 (Wed, 10 Sep 2014) | 7 lines

Bug fix for the new frame_order.permute_axes user function.

The cone and torsion angles were not being correctly permuted. Now the direct permutation array is
being used. And the fact that cone_theta_x is a rotation along the y-axis and cone_theta_y along
the x-axis is taken into account.
........
r25739 | bugman | 2014-09-11 13:43:37 +0200 (Thu, 11 Sep 2014) | 8 lines

Redesign of the axis permutation algorithm of the frame_order.permute_axes user function.

Instead of tracking the fact that cone_theta_x is a rotation around the y-axis and cone_theta_y is
about the x-axis, now two permutation arrays are created - one for the three angles and one for the
axes. The permutation array values have also been completely changed as previously the incorrect
inverse permutation was coded into the algorithm.
........
r25740 | bugman | 2014-09-11 14:58:38 +0200 (Thu, 11 Sep 2014) | 6 lines

Updated the frame order pseudo-ellipse motion permutation test data.

This is for the CaM frame order rotor model synthetic data. The correct axis and cone angle
permutations of the frame_order.permute_axes user function are now being used and optimised.
........
r25741 | bugman | 2014-09-11 14:59:42 +0200 (Thu, 11 Sep 2014) | 5 lines

Renamed the pseudo-ellipse permutation directory to perm_pseudo_ellipse_x_le_y_le_z.

This is for the CaM frame order rotor model synthetic data.
........
r25744 | bugman | 2014-09-11 15:42:19 +0200 (Thu, 11 Sep 2014) | 5 lines

Fix for the frame_order.permute_axes user function.

One of the 6 permutations had the x and y axes switched (the x <= z <= y condition, permutation A).
........
r25745 | bugman | 2014-09-11 17:17:05 +0200 (Thu, 11 Sep 2014) | 8 lines

Visualisation files for all of the pseudo-ellipse permutations by frame_order.permute_axes.

This includes the x <= z <= y and z <= x <= y conditions (the previous files were for x <= y <= z).
In all permutation combinations, optimisation has been performed to demonstrate that these are all
local minima. These all approximate the rotor when using the CaM frame order rotor model synthetic
data.
........
r25746 | bugman | 2014-09-11 19:16:52 +0200 (Thu, 11 Sep 2014) | 8 lines

Added support for the isotopic cone models to the frame_order.permute_axes user function.

This is a simpler setup, but it uses the same permutation algorithm as derived for the
pseudo-ellipse models. Instead of setting the x and y cone angles separately, they are instead
averaged. And as the cone axis is undefined in the xy plane, the axis has been randomly selected as
being the axis perpendicular to both the z-axis and the reference frame x-axis.
........
r25747 | bugman | 2014-09-11 19:19:18 +0200 (Thu, 11 Sep 2014) | 7 lines

Created set of files showing the axis permutation problem for the isotopic cone frame order model.

This shows that there are two minima. However one has a chi-squared value of ~1, and the other a
value of ~150. Nevertheless, the optimisation could be trapped in the non-global minimum so the
frame_order.permute_axes user function should be used for the isotopic cones as well, just in case.
........
r25749 | bugman | 2014-09-11 19:37:44 +0200 (Thu, 11 Sep 2014) | 7 lines

Created the other isotropic cone condition z <= x = y.

As there are no constraints in this model, this condition should not result in any major
differences, just the size of the cone being different and the optimisation having to decrease the
cone angle significantly to mimic the rotor.
........
r25750 | bugman | 2014-09-11 19:43:45 +0200 (Thu, 11 Sep 2014) | 5 lines

Added the missing PDB files which should have been committed previously.

This are in test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_z_le_xy.
........
r25751 | bugman | 2014-09-11 19:44:22 +0200 (Thu, 11 Sep 2014) | 5 lines

Added the missing PDB files which should have been committed previously.

This are in test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_xy_le_z/.
........
r25752 | bugman | 2014-09-11 19:52:47 +0200 (Thu, 11 Sep 2014) | 7 lines

Modified the frame order auto-analysis.

The axis permutation algorithm is now performed on all isotopic cone and pseudo-ellipse models.
This is just in case the non-global minima was found in the original optimisation. The isotropic
cone models possess two local minima whereas the pseudo-ellipse models possess three local minima.
........
r25753 | bugman | 2014-09-11 19:57:46 +0200 (Thu, 11 Sep 2014) | 5 lines

Simplified the optimisation in the axis permutation part of the frame order auto-analysis.

Only the last, highest quality setting is used for optimisation.
........
r25754 | bugman | 2014-09-11 20:30:12 +0200 (Thu, 11 Sep 2014) | 6 lines

Fix for the axis permutation protocol in the frame order auto-analysis.

This would fail if a results file for the permuted model already exists as the pipe.copy user
function call was being performed too early.
........
r25760 | bugman | 2014-09-11 21:56:47 +0200 (Thu, 11 Sep 2014) | 3 lines

Created set of files for the axis permutation of the torsionless isotopic cone frame order model.
........
r25761 | bugman | 2014-09-12 09:35:32 +0200 (Fri, 12 Sep 2014) | 7 lines

Created an initial Frame_order.test_frame_order_pdb_model_ensemble system test.

This is to check the operation of the frame_order.pdb_model user function when an ensemble of
structures is encountered. However as this uses a very minimal number of user functions to set up
the system, a number of other minor bugs will probably be uncovered.
........
r25762 | bugman | 2014-09-12 09:45:00 +0200 (Fri, 12 Sep 2014) | 6 lines

Added printouts to the specific_analyses.frame_order.parameters.update_model() function.

This is to make it easier to understand why certain things fail due to the system not being fully
set up.
........
r25763 | bugman | 2014-09-12 09:49:37 +0200 (Fri, 12 Sep 2014) | 6 lines

Simplified the operation of the frame_order.select_model user function.

This is by removing the check of PCS data from the specific_analyses.frame_order.data.pivot_fixed()
function using the base_data_types() function call. This allows the model to be set up more easily.
........
r25764 | bugman | 2014-09-12 09:54:31 +0200 (Fri, 12 Sep 2014) | 5 lines

Modified the frame order check_pivot() function to operate on any data pipe.

The function now accepts the pipe_name argument so that checks can happen on any data pipe.
........
r25765 | bugman | 2014-09-12 09:57:12 +0200 (Fri, 12 Sep 2014) | 5 lines

Missing imports in the specific_analyses.frame_order.checks module.

This is from the recent pipe_name argument addition in the check_pivot() function.
........
r25766 | bugman | 2014-09-12 09:58:37 +0200 (Fri, 12 Sep 2014) | 6 lines

The frame order generate_pivot() function can now handle no pivot being present.

At the start of this specific_analyses.frame_order.data module function, the check_pivot() function
is being called to make sure that a pivot is present.
........
r25767 | bugman | 2014-09-12 10:08:13 +0200 (Fri, 12 Sep 2014) | 6 lines

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.
........
r25768 | bugman | 2014-09-12 10:12:00 +0200 (Fri, 12 Sep 2014) | 5 lines

Modified the Frame_order.test_frame_order_pdb_model_ensemble system test so it is set up correctly.

The pivot point and moving domain are now specified.
........
r25769 | bugman | 2014-09-12 10:14:16 +0200 (Fri, 12 Sep 2014) | 7 lines

Added Monte Carlo simulations to the Frame_order.test_frame_order_pdb_model_ensemble system test.

This is only setting up Monte Carlo simulation data structures via the monte_carlo.setup user
function. This demonstrates a failure of the frame_order.pdb_model user function when an ensemble
of structures is present with Monte Carlo simulations.
........

bugman 2015-10-02

copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_torsionless_xy_le_z -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_torsionless_xy_le_z
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_xy_le_z -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_xy_le_z
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_z_le_xy -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_iso_cone_z_le_xy
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_x_le_y_le_z -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_x_le_y_le_z
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_x_le_z_le_y -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_x_le_z_le_y
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_z_le_x_le_y -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_z_le_x_le_y
copied /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_z_le_x_le_y_alt -> /trunk/test_suite/shared_data/frame_order/cam/rotor/perm_pseudo_ellipse_z_le_x_le_y_alt
changed /trunk
changed /trunk/auto_analyses/frame_order.py
changed /trunk/specific_analyses/frame_order/checks.py
changed /trunk/specific_analyses/frame_order/data.py
changed /trunk/specific_analyses/frame_order/geometric.py
changed /trunk/specific_analyses/frame_order/parameters.py
changed /trunk/specific_analyses/frame_order/uf.py
changed /trunk/test_suite/system_tests/frame_order.py
changed /trunk/user_functions/frame_order.py
/trunk
Directory.
/trunk/auto_analyses/frame_order.py Diff Switch to side-by-side view
Loading...
/trunk/specific_analyses/frame_order/checks.py Diff Switch to side-by-side view
Loading...
/trunk/specific_analyses/frame_order/data.py Diff Switch to side-by-side view
Loading...
/trunk/specific_analyses/frame_order/geometric.py Diff Switch to side-by-side view
Loading...
/trunk/specific_analyses/frame_order/parameters.py Diff Switch to side-by-side view
Loading...
/trunk/specific_analyses/frame_order/uf.py Diff Switch to side-by-side view
Loading...
/trunk/test_suite/system_tests/frame_order.py Diff Switch to side-by-side view
Loading...
/trunk/user_functions/frame_order.py Diff Switch to side-by-side view
Loading...
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.