[r27956]
by
bugman
Merged revisions 26141,26207,26313-26320,26349,26365,26388-26394,26396-26477,26479-26481,26484,26534-26537,26657-26658,26668-26669 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r26141 | bugman | 2014-10-02 15:53:19 +0200 (Thu, 02 Oct 2014) | 5 lines
Modified the PCS content testing base system.
The paramagnetic centre is now shifted to the origin, as this is the real centre of the PCS physics.
........
r26207 | bugman | 2014-10-08 12:10:04 +0200 (Wed, 08 Oct 2014) | 17 lines
Intermediate optimisation results are now stored by the frame order auto-analysis.
The results from each minimise.grid_search and minimise.execute user function call are now stored in
specially named directories located in the 'intermediate_results' directory, which itself is located
in the auto-analysis results_dir directory. This allows intermediate results to be more easily
analysed later on, which can be useful for optimising the optimisation steps. These directories can
also be used for the pre_run_dir auto-analysis argument for subsequent refinements from earlier
steps in the optimisation. The results stored include everything from the results_output() method
and the count_sobol_points() and summarise() functions.
To allow this to work, the auto-analysis functions count_sobol_points() and summarise() required
modification. Results files are now always loaded into a temporary data pipe, rather switching to
the corresponding pipe, and the temporary data pipe is deleted after the data has been extracted.
The original data pipe name is also stored and a switch back to that pipe occurs at the end of each
function.
........
r26313 | bugman | 2014-10-20 09:54:11 +0200 (Mon, 20 Oct 2014) | 7 lines
The simulation is now turned of for intermediate results in the frame order auto-analysis.
The intermediate results are only for checking, so for these the full pseudo-Brownian dynamics
simulations are not required. The simulation flag has been introduced into the results_output()
method of the auto-analysis to control this.
........
r26314 | bugman | 2014-10-20 11:52:52 +0200 (Mon, 20 Oct 2014) | 8 lines
The splitting of the rigid model grid search into rotation and translation parts is now optional.
In the frame order auto-analysis, the rigid_grid_split argument has been introduced. The
alternating algorithm of performing a grid search over the rotational space followed by translation
is now optional and turned off by default. The reason is because the global minimum is sometimes
missed with this shortcut algorithm.
........
r26315 | bugman | 2014-10-20 14:45:24 +0200 (Mon, 20 Oct 2014) | 6 lines
Speed up of the Frame_order.test_auto_analysis system test.
The splitting of the rigid model grid search into rotation and translation parts has been
reactivated.
........
r26316 | bugman | 2014-10-20 15:11:58 +0200 (Mon, 20 Oct 2014) | 5 lines
Created the Optimisation.has_grid() method for the frame order auto-analysis.
This is used to test if the optimisation settings object has a grid search defined.
........
r26317 | bugman | 2014-10-20 15:15:21 +0200 (Mon, 20 Oct 2014) | 7 lines
The grid search can now be skipped for the rigid model in the frame order auto-analysis.
If the input 3D structures are close to the real solution, the grid search over the translational
and rotation parameters of the rigid model could be skipped. This speeds up the analysis and can
help find the real solution in problematic cases.
........
r26318 | bugman | 2014-10-20 16:23:08 +0200 (Mon, 20 Oct 2014) | 6 lines
The intermediate results storing can now be turned off in the frame order auto-analysis.
The new store_intermediate Boolean argument has been added to the analysis to allow the storage of
these results to be turned on or off.
........
r26319 | bugman | 2014-10-20 16:24:11 +0200 (Mon, 20 Oct 2014) | 5 lines
The intermediate results are no longer stored in the Frame_order.test_auto_analysis system test.
This drops the test timing on one system from ~190 seconds to ~50 seconds.
........
r26320 | bugman | 2014-10-20 16:45:49 +0200 (Mon, 20 Oct 2014) | 7 lines
The compression level for results files can now be set in the frame order auto-analysis.
This is via the new argument results_compress_type, which is used to set the compress_type argument
of the results.write user function. The results reading parts of the auto-analysis have been
updated to allow uncompressed, bzip2 compressed, and gzip compressed files to be handled.
........
r26349 | bugman | 2014-10-22 15:22:03 +0200 (Wed, 22 Oct 2014) | 7 lines
Added a printout of the frame order model in the target function setup function.
This is printed out when the minimise.calculate, minimise.grid_search, or minimise.execute user
function are called, and is for better feedback, especially in the auto-analysis where the
repetitive optimisations can be confusing.
........
r26365 | bugman | 2014-10-23 11:34:29 +0200 (Thu, 23 Oct 2014) | 6 lines
Updated the frame order analysis for the structure.load_spins user function changes.
The minimise_setup_atomic_pos() function of the specific_analyses.frame_order.optimisation module
now handles the mixed type spin.pos variable correctly.
........
r26388 | bugman | 2014-10-23 15:32:59 +0200 (Thu, 23 Oct 2014) | 5 lines
The data pipe containing a PCS subset is now optional in the frame order auto-analysis.
This is for systems which have so little data that a subset makes no sense.
........
r26389 | bugman | 2014-10-23 15:47:26 +0200 (Thu, 23 Oct 2014) | 3 lines
Missing import.
........
r26390 | bugman | 2014-10-23 15:57:02 +0200 (Thu, 23 Oct 2014) | 12 lines
Redesigned the optimisation steps for the frame order auto-analysis.
The code has been significantly simplified as the optimisation for the PCS subset and full data set
was the same. The code duplication has been eliminated by combining it into the new optimisation()
method. The check for the PCS subset has also been expanded so that it is skipped if the subset
data pipe is not supplied, even if an optimisation object for the subset has been (this should
prevent strange errors when the auto-analysis is incorrectly used).
A side effect of this code merger is that the zooming grid search has now been activated for the
full PCS data set. This is of great benefit when a PCS subset is not being used.
........
r26391 | bugman | 2014-10-23 16:19:39 +0200 (Thu, 23 Oct 2014) | 6 lines
The minimise.execute user function skip_preset flag is now False in the frame order auto-analysis.
This is for the main model optimisation. Without this flag set, the grid search for the pivot point
position for the rotor model was being skipped at the first zoom level.
........
r26392 | bugman | 2014-10-23 16:32:15 +0200 (Thu, 23 Oct 2014) | 9 lines
The pivot point can now be excluded from the grid search in the frame order auto-analysis.
If the initial pivot point is known to be reasonable, then it may be possible to skip it in the grid
search for the rotor frame order model. This can lead to a speed up of the analysis and can help
with stability. The pivot_search argument has been added to the auto-analysis
Optimisation.add_grid() method to enable this. The get_grid_pivot_search() method has also been
added to allow the auto-analysis to query this and turn it off if desired.
........
r26393 | bugman | 2014-10-28 11:24:45 +0100 (Tue, 28 Oct 2014) | 5 lines
Updated the description of the frame_order.permute_axes user function.
This now includes the isotopic cone.
........
r26394 | bugman | 2014-10-28 14:23:43 +0100 (Tue, 28 Oct 2014) | 6 lines
Replaced the table in the frame_order.permute_axes user function.
The original table was an old and incorrect version. This has been replaced by the correct
permutation table.
........
r26396 | bugman | 2014-11-01 12:36:07 +0100 (Sat, 01 Nov 2014) | 7 lines
Added some old relax scripts for both simulating and predicting the frame order matrix elements.
These were used for the initial implementation of the pseudo-ellipse frame order model back in July
2010. The scripts will be extended for all frame order models. The simulated values could then be
used in unit tests of the frame order matrix code in lib.frame_order.
........
r26397 | bugman | 2014-11-01 14:09:17 +0100 (Sat, 01 Nov 2014) | 6 lines
Updated the frame_order_simulate.py script for simulating frame order matrix elements.
The MODEL variable has been added in preparation for supporting all model types, and this is now
added to the file name. The Grace header is now also being automatically generated.
........
r26398 | bugman | 2014-11-01 14:42:40 +0100 (Sat, 01 Nov 2014) | 5 lines
Improvements for the Grace files produced by the frame_order_simulate.py script.
The model name is now set as a variable and is used for the subheading.
........
r26399 | bugman | 2014-11-01 14:44:03 +0100 (Sat, 01 Nov 2014) | 7 lines
Updated the frame_order_solution.py script for directly calculating the frame order matrix elements.
The MODEL variable has been added in preparation for supporting all model types, and this is now
added to the file name. The Grace header is now also being automatically generated and this matches
that for the frame_order_simulation.py script.
........
r26400 | bugman | 2014-11-01 17:00:00 +0100 (Sat, 01 Nov 2014) | 5 lines
Zero values can now be handled in the pseudo-ellipse 1st degree frame order matrix function.
This is in lib.frame_order.pseudo_ellipse.compile_1st_matrix_pseudo_ellipse().
........
r26401 | bugman | 2014-11-01 17:01:58 +0100 (Sat, 01 Nov 2014) | 7 lines
Removed some unused code in the pseudo-ellipse 2nd degree frame order matrix function.
This is the compile_2nd_matrix_pseudo_ellipse() function in the lib.frame_order.pseudo_ellipse
module. The change should make the RDC part of the frame order analysis for the pseudo-ellipse
model slightly faster.
........
r26402 | bugman | 2014-11-01 17:57:15 +0100 (Sat, 01 Nov 2014) | 5 lines
Modified the rotate_daeg() function as this is independent of the degree of the frame order matrix.
This is the lib.frame_order.matrix_ops.rotate_daeg() function.
........
r26403 | bugman | 2014-11-01 18:00:21 +0100 (Sat, 01 Nov 2014) | 6 lines
Fix for the compile_1st_matrix_pseudo_ellipse() function.
This function of the lib.frame_order.pseudo_ellipse module now can rotate the 1st degree frame order
matrix out of its eigenframe and into the PDB frame.
........
r26404 | bugman | 2014-11-01 18:02:31 +0100 (Sat, 01 Nov 2014) | 5 lines
Created an executable Python script for mass converting the frame order matrix Grace graphs.
The script converts the *.agr files to EPS and PNG files.
........
r26405 | bugman | 2014-11-01 18:04:10 +0100 (Sat, 01 Nov 2014) | 6 lines
Modified the frame order matrix Grace graph to EPS/PNG format conversion script.
The binary being called is now 'grace' rather than 'xmgrace'. This allows different Grace versions
to be used.
........
r26406 | bugman | 2014-11-01 20:13:38 +0100 (Sat, 01 Nov 2014) | 6 lines
Modified the frame order matrix Grace graph to EPS/PNG format conversion script.
Grace is now used to create a PostScript file and then the ps2eps program is called to convert to
EPS. This produces much better EPS files for inclusion into LaTeX documents.
........
r26407 | bugman | 2014-11-01 20:22:26 +0100 (Sat, 01 Nov 2014) | 8 lines
Redesign of the frame_order_solution.py script for calculating the frame order matrix elements.
This script now loops over all models, all motional frame orientations, and all order parameters to
generate the Grace graphs of all 1st and 2nd degree frame order matrix elements. Therefore the
script only needs to be executed once. The script also now calculates a point at zero (slightly
shifted to 0.01 to avoid artifacts).
........
r26408 | bugman | 2014-11-01 20:24:24 +0100 (Sat, 01 Nov 2014) | 6 lines
Added all of the Grace graphs produced by the frame_order_solution.py script.
These are the graphs of the 1st and 2nd degree frame order matrix elements, calculated using the
functions in lib.frame_order.
........
r26409 | bugman | 2014-11-02 15:39:25 +0100 (Sun, 02 Nov 2014) | 8 lines
Updated frame_order_simulate.py to be much faster in simulating the frame order matrix elements.
The script also matches the Grace file output of the frame_order_solution.py script. The inside()
method has been renamed for the pseudo-ellipse and the infrastructure for adding support for the
other frame order models has been added. By shifting calculations outside of the loops, the script
is now many orders of magnitude faster.
........
r26410 | bugman | 2014-11-02 22:14:36 +0100 (Sun, 02 Nov 2014) | 4 lines
Implemented the compile_1st_matrix_rotor() function.
This is for the lib.frame_order.rotor module. The function will calculate the 1st degree in-frame
frame order matrix for the rotor model.
........
r26411 | bugman | 2014-11-02 22:14:38 +0100 (Sun, 02 Nov 2014) | 4 lines
Created the Grace graphs for the rotor model 1st degree frame order matrix elements.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26412 | bugman | 2014-11-02 22:14:41 +0100 (Sun, 02 Nov 2014) | 4 lines
Implemented the compile_1st_matrix_free_rotor() function.
This is for the lib.frame_order.free_rotor module. The function will calculate the 1st degree
in-frame frame order matrix for the free rotor model.
........
r26413 | bugman | 2014-11-02 22:14:43 +0100 (Sun, 02 Nov 2014) | 4 lines
Created the Grace graphs for the free rotor model 1st degree frame order matrix elements.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26414 | bugman | 2014-11-02 22:14:45 +0100 (Sun, 02 Nov 2014) | 4 lines
Implemented the compile_1st_matrix_iso_cone() function.
This is for the lib.frame_order.iso_cone module. The function will calculate the 1st degree
in-frame frame order matrix for the isotropic cone model.
........
r26415 | bugman | 2014-11-02 22:14:48 +0100 (Sun, 02 Nov 2014) | 4 lines
Created the Grace graphs for the isotropic cone model 1st degree frame order matrix elements.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26416 | bugman | 2014-11-02 22:14:50 +0100 (Sun, 02 Nov 2014) | 4 lines
Implemented the compile_1st_matrix_iso_cone_torsionless() function.
This is for the lib.frame_order.iso_cone_torsionless module. The function will calculate the 1st
degree in-frame frame order matrix for the torsionless isotropic cone model.
........
r26417 | bugman | 2014-11-02 22:14:52 +0100 (Sun, 02 Nov 2014) | 4 lines
Created the Grace graphs for the torsionless isotropic cone 1st degree frame order matrix elements.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26418 | bugman | 2014-11-02 22:14:55 +0100 (Sun, 02 Nov 2014) | 4 lines
Implemented the compile_1st_matrix_iso_cone_free_rotor() function.
This is for the lib.frame_order.iso_cone_free_rotor module. The function will calculate the 1st
degree in-frame frame order matrix for the free rotor isotropic cone model.
........
r26419 | bugman | 2014-11-02 22:14:57 +0100 (Sun, 02 Nov 2014) | 4 lines
Created the Grace graphs for the free rotor isotropic cone 1st degree frame order matrix elements.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26420 | bugman | 2014-11-02 22:14:59 +0100 (Sun, 02 Nov 2014) | 1 line
Docstring fixes for the new compile_1st_matrix_iso_cone() function.
........
r26421 | bugman | 2014-11-02 22:45:54 +0100 (Sun, 02 Nov 2014) | 4 lines
A minor speed up for the frame_order_simulate.py script.
The angles are now being calculated at the very start prior to the main loop, removing repetitive
calculations.
........
r26422 | bugman | 2014-11-02 22:45:56 +0100 (Sun, 02 Nov 2014) | 5 lines
The frame_order_simulate.py script now uses lib.text.progress.progress_meter().
This script for simulating the frame order matrix elements now uses the standard progress meter in
relax to simplify the script. This should also speed up the calculations as the progress printouts
were slowing down the calculations.
........
r26423 | bugman | 2014-11-03 08:18:07 +0100 (Mon, 03 Nov 2014) | 7 lines
Simulation of the pseudo-ellipse frame order matrix elements.
This is for a simulation of 1,000,000 states for each angle increment, and includes in-frame and
out-of-frame and varying of theta X, Y, and Z. The resultant Grace graphs have been added to the
repository.
........
r26424 | bugman | 2014-11-03 08:31:48 +0100 (Mon, 03 Nov 2014) | 4 lines
The frame order matrix element simulation script now uses the Kronecker outer product.
This allows the frame order matrix to be in the same notation as that used internally in relax. It
will cause the colours of the Sijkl_* curves to match between the simulation and solution scripts.
........
r26425 | bugman | 2014-11-06 13:47:49 +0100 (Thu, 06 Nov 2014) | 7 lines
Added the rotor model to the frame order matrix element simulation script.
The generated in-frame and out-of-frame Grace graphs containing the matrix values for 1,000,000
simulation values have been added to the repository. The script was modified so that the rotation
is generated by special rotation_*() methods which are aliased depending on the model.
........
r26426 | bugman | 2014-11-06 14:07:28 +0100 (Thu, 06 Nov 2014) | 7 lines
Added the free rotor model to the frame order matrix element simulation script.
The generated in-frame and out-of-frame Grace graphs containing the matrix values for 1,000,000
simulation values have been added to the repository. The inside_free_rotor() method has been added
to always return True for the rotation generated by rotation_z_axis().
........
r26427 | bugman | 2014-11-06 15:48:03 +0100 (Thu, 06 Nov 2014) | 6 lines
Simplifications and fixes for the 1st degree frame order matrix calculation for the pseudo-ellipse.
The compile_1st_matrix_pseudo_ellipse() function of the lib.frame_order.pseudo_ellipse module has
been significantly simplified by shifting a lot of maths outside of the quadratic integration.
........
r26428 | bugman | 2014-11-06 15:49:09 +0100 (Thu, 06 Nov 2014) | 5 lines
Updated all the calculated 1st degree frame order matrix graphs for the pseudo-ellipse.
The changes are due to the fixes in the lib.frame_order.pseudo_ellipse module.
........
r26429 | bugman | 2014-11-06 19:49:04 +0100 (Thu, 06 Nov 2014) | 3 lines
Simplifications for all of the torsionless pseudo-ellipse frame order matrix equations.
........
r26430 | bugman | 2014-11-06 20:00:00 +0100 (Thu, 06 Nov 2014) | 6 lines
Implemented the compile_1st_matrix_pseudo_ellipse_torsionless() function.
This is for the lib.frame_order.pseudo_ellipse_torsionless module. The function will calculate the
1st degree in-frame frame order matrix for the torsionless pseudo-ellipse model.
........
r26431 | bugman | 2014-11-06 20:01:37 +0100 (Thu, 06 Nov 2014) | 6 lines
Created the Grace graphs for the torsionless pseudo-ellipse model 1st degree frame order matrix.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26432 | bugman | 2014-11-07 09:00:59 +0100 (Fri, 07 Nov 2014) | 8 lines
Added the isotropic cone model to the frame order matrix element simulation script.
The generated in-frame and out-of-frame Grace graphs for the torsion angle cone_sigma_max,
containing the matrix values for 1,000,000 simulation values have been added to the repository. The
inside_iso_cone() method has been created to check for the theta_x and theta_z angle violations from
the rotation_hypersphere() method.
........
r26433 | bugman | 2014-11-07 09:08:23 +0100 (Fri, 07 Nov 2014) | 7 lines
Simplifications for the inside_*() methods of the frame order matrix element simulation script.
The limit() method is now called only once outside of these methods and the maximum cone half-angles
passed into the inside_*() methods. Although only slightly faster, this is mainly to simplify the
code.
........
r26434 | bugman | 2014-11-07 09:09:39 +0100 (Fri, 07 Nov 2014) | 3 lines
Alphabetical ordering of methods in the frame order matrix element simulation script.
........
r26435 | bugman | 2014-11-07 09:52:09 +0100 (Fri, 07 Nov 2014) | 3 lines
Simplification of some of the pseudo-ellipse 2nd degree frame order matrix equations.
........
r26436 | bugman | 2014-11-07 10:08:53 +0100 (Fri, 07 Nov 2014) | 3 lines
More simplifications of the pseudo-ellipse 2nd degree frame order matrix equations.
........
r26437 | bugman | 2014-11-07 10:11:47 +0100 (Fri, 07 Nov 2014) | 6 lines
Integer to float conversions in part_int_daeg2_pseudo_ellipse_13().
This avoid integer to float conversion during execution, saving a little time for the pseudo-ellipse
2nd degree frame order matrix compilation.
........
r26438 | bugman | 2014-11-07 10:36:06 +0100 (Fri, 07 Nov 2014) | 3 lines
Removal of many repetitive calculations in the pseudo-ellipse 2nd degree frame order matrix equations.
........
r26439 | bugman | 2014-11-07 10:39:17 +0100 (Fri, 07 Nov 2014) | 6 lines
Simplifications of pseudo-ellipse 1st degree frame order matrix functions.
The xx, yy, and zz have been renamed to 00, 11, and 22 for consistency. And all sigma_max arguments
have been dropped as they are not used.
........
r26440 | bugman | 2014-11-07 11:44:51 +0100 (Fri, 07 Nov 2014) | 6 lines
Small numerical changes for the pseudo-ellipse 2nd degree frame order matrix graphs.
These are only for the first point close to zero and the changes are minimal, caused by the recent
simplifications of the code.
........
r26441 | bugman | 2014-11-07 11:45:58 +0100 (Fri, 07 Nov 2014) | 6 lines
Created the Grace graphs for the free rotor pseudo-ellipse model 1st degree frame order matrix.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26442 | bugman | 2014-11-07 13:46:13 +0100 (Fri, 07 Nov 2014) | 6 lines
Implemented the compile_1st_matrix_pseudo_ellipse_free_rotor() function.
This is for the lib.frame_order.pseudo_ellipse_free_rotor module. The function will calculate the
1st degree in-frame frame order matrix for the free_rotor pseudo-ellipse model.
........
r26443 | bugman | 2014-11-07 14:16:04 +0100 (Fri, 07 Nov 2014) | 3 lines
Speed ups and simplifications of the free rotor pseudo-ellipse 2nd degree frame order matrix equations.
........
r26444 | bugman | 2014-11-07 14:17:38 +0100 (Fri, 07 Nov 2014) | 3 lines
Added the torsionless isotropic cone model to the frame order matrix element simulation script.
........
r26445 | bugman | 2014-11-07 15:10:57 +0100 (Fri, 07 Nov 2014) | 6 lines
Implemented the compile_1st_matrix_double_rotor() function.
This is for the lib.frame_order.double_rotor module. The function will calculate the 1st degree
frame order matrix for the double_rotor model.
........
r26446 | bugman | 2014-11-07 15:11:37 +0100 (Fri, 07 Nov 2014) | 6 lines
Created the Grace graphs for the double rotor model 1st degree frame order matrix.
These are the values calculated directly from the lib.frame_order modules. The graphs were
previously all zeros.
........
r26447 | bugman | 2014-11-07 15:46:33 +0100 (Fri, 07 Nov 2014) | 6 lines
Recreated all of the simulated pseudo-ellipse frame order matrix element graphs.
These are now in the Kronecker product notation so that they will match the graphs calculated using
the relax lib.frame_order.pseudo_ellipse module.
........
r26448 | bugman | 2014-11-07 16:14:49 +0100 (Fri, 07 Nov 2014) | 3 lines
Fix for the pseudo-ellipse 1st degree frame order matrix Daeg22 element.
........
r26449 | bugman | 2014-11-07 16:15:11 +0100 (Fri, 07 Nov 2014) | 3 lines
Updated all of the pseudo-ellipse 1st degree frame order matrix graphs for the recent fix.
........
r26450 | bugman | 2014-11-07 16:44:37 +0100 (Fri, 07 Nov 2014) | 20 lines
Reverted r24463 as this is needed to conserve memory, especially for a large number of Sobol' points.
The command used was:
svn merge -r24463:r24462 .
.....
r24463 | bugman | 2014-07-05 19:06:09 +0200 (Sat, 05 Jul 2014) | 9 lines
Changed paths:
M /branches/frame_order_cleanup/target_functions/frame_order.py
Converted all frame order target function data structures to float64.
This affects the vector data structures used for the PCS numeric integration. The float32
structures added for speed do not actually increase the speed. For the double rotor model, 10
target function calls took the pcs_pivot_motion_double_rotor() function 44.936 seconds using float32
and 44.105 seconds using all float64. The cumulative time is also longer. This must be because
other parts are float64, and therefore type conversions are happening during target function calls.
.....
........
r26451 | bugman | 2014-11-07 16:51:22 +0100 (Fri, 07 Nov 2014) | 7 lines
Converted the Sobol' rotation matrices to float32 in the frame order target function.
This is to conserve huge amounts of memory to allow for more Sobol' points to be used. For example
for the models which use 3D Sobol' points (isotropic cone and pseudo-ellipse), a maximum of 50000
Sobol' points requires 50000000 to be created, using about 15 Gb of RAM.
........
r26452 | bugman | 2014-11-07 17:18:52 +0100 (Fri, 07 Nov 2014) | 5 lines
A few Frame_order system test updates for the float64 to float32 memory saving changes.
The chi-squared value of 3 tests was slightly different.
........
r26453 | bugman | 2014-11-07 18:19:46 +0100 (Fri, 07 Nov 2014) | 6 lines
Bug fix for the activation of quadratic integration in the frame order auto-analysis.
The calls to the frame_order.quad_int user function in the optimisation() method did not supply an
argument so the user function was defaulting to False rather than the True value required.
........
r26454 | bugman | 2014-11-07 18:48:31 +0100 (Fri, 07 Nov 2014) | 5 lines
The frame order auto-analysis summary functions are now more robust.
If the data pipe already exists for some reason, it is deleted prior to the new one being created.
........
r26455 | bugman | 2014-11-07 18:58:41 +0100 (Fri, 07 Nov 2014) | 6 lines
Changed the frame_order.quad_int user function argument default to True.
This means that calling the user function without arguments will activate the quadratic integration
rather than turning it off.
........
r26456 | bugman | 2014-11-08 12:43:17 +0100 (Sat, 08 Nov 2014) | 3 lines
Added the isotropic cone model frame order matrix simulation graphs for the cone opening angle theta_x.
........
r26457 | bugman | 2014-11-08 12:53:38 +0100 (Sat, 08 Nov 2014) | 3 lines
Created and added all of the torsionless isotropic cone simulated frame order matrix element graphs.
........
r26458 | bugman | 2014-11-08 18:38:29 +0100 (Sat, 08 Nov 2014) | 7 lines
Added the free rotor isotropic cone model to the frame order matrix element simulation script.
The generated Grace graphs containing the matrix values for 1,000,000 simulation values have been
added to the repository. The self.torsion_check variable has been created to allow the
inside_iso_cone() method to skip the torsion angle check when its value is False.
........
r26459 | bugman | 2014-11-09 10:45:14 +0100 (Sun, 09 Nov 2014) | 7 lines
Added the torsionless pseudo-ellipse model to the frame order matrix element simulation script.
The generated Grace graphs containing the matrix values for 1,000,000 simulation values have been
added to the repository. The rotations are generated by the rotation_hypersphere_torsionless()
method and the angle violations checked using the inside_pseudo_ellipse() method.
........
r26460 | bugman | 2014-11-09 11:25:18 +0100 (Sun, 09 Nov 2014) | 5 lines
Bug fix for the torsionless pseudo-ellipse 1st degree frame order matrix.
The 11 element was of the wrong sign.
........
r26461 | bugman | 2014-11-09 11:27:15 +0100 (Sun, 09 Nov 2014) | 3 lines
Fixes for the torsionless pseudo-ellipse 1st degree frame order matrix element graphs.
........
r26462 | bugman | 2014-11-09 13:15:14 +0100 (Sun, 09 Nov 2014) | 8 lines
Recreated all of the simulated pseudo-ellipse frame order matrix element graphs.
These are now in the Kronecker product notation so that they will match the graphs calculated using
the relax lib.frame_order.pseudo_ellipse module.
The change of r26447 which should have recreated the graphs was incorrect.
........
r26463 | bugman | 2014-11-09 13:28:18 +0100 (Sun, 09 Nov 2014) | 6 lines
Added the free rotor pseudo-ellipse model to the frame order matrix element simulation script.
This only required the self.torsion_check variable to be set to False. The model uses the
inside_pseudo_ellipse() and rotation_hypersphere() methods.
........
r26464 | bugman | 2014-11-09 13:33:51 +0100 (Sun, 09 Nov 2014) | 5 lines
Fixes for free rotor isotropic cone 1st degree frame order matrix graphs calculated using relax.
The 1st degree function accepts the cone opening angle theta rather than the order parameter S.
........
r26465 | bugman | 2014-11-09 16:43:24 +0100 (Sun, 09 Nov 2014) | 3 lines
Added the frame order matrix element graphs for the in-frame free rotor pseudo-ellipse model.
........
r26466 | bugman | 2014-11-09 16:43:54 +0100 (Sun, 09 Nov 2014) | 3 lines
Added the frame order matrix element graphs for the out-of-frame free rotor pseudo-ellipse model.
........
r26467 | bugman | 2014-11-09 17:39:59 +0100 (Sun, 09 Nov 2014) | 6 lines
Fixes for all of the calculated double rotor model frame order matrix graphs.
The X and Y angles were mixed up. The first torsion half-angle sigma1 corresponds to a y-axis
rotation and the second sigma2 corresponds to a x-axis rotation.
........
r26468 | bugman | 2014-11-09 17:43:21 +0100 (Sun, 09 Nov 2014) | 6 lines
Reverted r26467 as too much was committed.
The command used was:
svn merge -r26467:r26466 .
........
r26469 | bugman | 2014-11-09 17:47:14 +0100 (Sun, 09 Nov 2014) | 7 lines
Added support for the double rotor model to the frame order matrix element simulation script.
The double rotation is constructed in the new rotation_double_xy_axes() method, and the checks for
the violation of the two torsion angles in the inside_double_rotor() method. In the main loop, the
theta, phi and sigma angles correspond to sigma1, sigma2, and nothing.
........
r26470 | bugman | 2014-11-09 17:48:05 +0100 (Sun, 09 Nov 2014) | 6 lines
Fixes for all of the calculated double rotor model frame order matrix graphs.
The X and Y angles were mixed up. The first torsion half-angle sigma1 corresponds to a y-axis
rotation and the second sigma2 corresponds to a x-axis rotation.
........
r26471 | bugman | 2014-11-09 20:50:30 +0100 (Sun, 09 Nov 2014) | 3 lines
Added the frame order matrix element graphs for the double rotor model.
........
r26472 | bugman | 2014-11-09 21:20:27 +0100 (Sun, 09 Nov 2014) | 5 lines
A divide by zero fix for the torsionless pseudo-ellipse.
This is in the compile_2nd_matrix_pseudo_ellipse_torsionless() relax library function.
........
r26473 | bugman | 2014-11-09 21:22:29 +0100 (Sun, 09 Nov 2014) | 5 lines
A divide by zero fix for the free rotor pseudo-ellipse.
This is in the compile_2nd_matrix_pseudo_ellipse_free_rotor() relax library function.
........
r26474 | bugman | 2014-11-09 22:23:54 +0100 (Sun, 09 Nov 2014) | 3 lines
Fix for r26460 - the second factor also needs to be inverted.
........
r26475 | bugman | 2014-11-09 22:34:00 +0100 (Sun, 09 Nov 2014) | 7 lines
The 1st angle for the calculated frame order matrix graphs is 0 for all non pseudo-ellipse models.
This is for the frame_order_solution.py script. Only the pseudo-ellipse models where numerical
integration is required fail for the angle of 0.0. Therefore the changing of the first angle from
0.0 to 0.01 only occurs for the pseudo-ellipse models. All graphs have been updated.
........
r26476 | bugman | 2014-11-09 22:45:24 +0100 (Sun, 09 Nov 2014) | 6 lines
The 1st pseudo-ellipse torsion angle value in the frame order matrix graphs is now 0.0.
Only the cone opening angles set to 0.0 cause a failure in the pseudo-ellipse models, so the torsion
angle is now allowed to start at exactly zero.
........
r26477 | bugman | 2014-11-10 11:55:45 +0100 (Mon, 10 Nov 2014) | 3 lines
Clean up of the frame order matrix element simulation script.
........
r26479 | bugman | 2014-11-10 14:27:50 +0100 (Mon, 10 Nov 2014) | 12 lines
Redesign of the free rotor isotropic cone frame order model - the order parameter has been replaced.
From the frame order matrix element graphs in test_suite/shared_data/frame_order/sim_vs_pred_matrix,
specifically Sijkl_iso_cone_free_rotor_in_frame_theta_x_calc.agr,
Sijkl_iso_cone_free_rotor_axis2_1_3_theta_x_calc.agr, and
Sijkl_iso_cone_free_rotor_out_of_frame_theta_x_calc.agr, it is clear that the symmetry of the order
parameter after 120 degrees causes the 2nd degree frame order matrix to be incorrectly estimated.
Therefore the S1 order parameter has been replaced with the original cone opening angle cone_theta.
All parts of relax have been updated for this large conversion.
........
r26480 | bugman | 2014-11-10 14:30:00 +0100 (Mon, 10 Nov 2014) | 6 lines
Updated the frame order matrix element graphs for the free rotor isotropic cone fixes.
The cone S1 parameter has been converted back to the original cone theta opening half-angle,
allowing the 2nd degree frame order matrix elements to be properly calculated for all motions.
........
r26481 | bugman | 2014-11-10 15:04:26 +0100 (Mon, 10 Nov 2014) | 8 lines
Eliminated the lib.frame_order.iso_cone.populate_*() functions.
The populate_1st_eigenframe_iso_cone() function was unused and incorrect, so it was deleted. The
contents of the populate_2nd_eigenframe_iso_cone() function have been shifted
compile_2nd_matrix_iso_cone() as a separate function is unnecessary. This now matches all the other
lib.frame_order modules.
........
r26484 | bugman | 2014-11-10 16:16:54 +0100 (Mon, 10 Nov 2014) | 6 lines
Bug fix for the frame_order.simulate user function.
The incorrect model number was being specified and hence the simulation was not starting from the
optimised average domain position but rather the arbitrary position of the original structure.
........
r26534 | bugman | 2014-11-11 16:41:51 +0100 (Tue, 11 Nov 2014) | 5 lines
Manual Python 3 fixes for the dict.key() function which returns a list or iterator in Python 2 or 3.
This matches r26519 in trunk.
........
r26535 | bugman | 2014-11-11 16:51:21 +0100 (Tue, 11 Nov 2014) | 6 lines
Python 3 fixes via 2to3 - the "while 1" construct has been replaces with "while True".
The command used was:
2to3 -j 4 -w -f idioms .
........
r26536 | bugman | 2014-11-11 17:28:08 +0100 (Tue, 11 Nov 2014) | 6 lines
Python 3 fixes via 2to3 - the spacing around commas has been fixed.
The command used was:
2to3 -j 4 -w -f ws_comma .
........
r26537 | bugman | 2014-11-11 17:37:03 +0100 (Tue, 11 Nov 2014) | 6 lines
Python 3 fixes via 2to3 - the xrange() function has been replaced by range().
The command used was:
2to3 -j 4 -w -f xrange .
........
r26657 | bugman | 2014-11-20 14:41:33 +0100 (Thu, 20 Nov 2014) | 5 lines
Started to create the Frame_order.test_pdb_model_rotor system test.
This will be used to check that the PDB representations of the frame order motions are correct.
........
r26658 | bugman | 2014-11-20 14:46:04 +0100 (Thu, 20 Nov 2014) | 6 lines
Modified the frame_order.pdb_model user function backend to handle missing structural data.
The create_ave_pos() function of the specific_analyses.frame_order.geometric module now checks that
cdp.structure exists, and if not a warning is given and the PDB file creating is skipped.
........
r26668 | bugman | 2014-11-20 16:14:01 +0100 (Thu, 20 Nov 2014) | 7 lines
Fixes for the frame_order.pdb_model user function backend for when no data is present.
The pipe_centre_of_mass() function of pipe_control.structure.mass module is now called with the
missing_error flag set to False so that the PDB generation can continue with the CoM set to [0, 0,
0].
........
r26669 | bugman | 2014-11-20 16:15:13 +0100 (Thu, 20 Nov 2014) | 6 lines
The geometric representation part of the frame_order.pdb_model user function now checks parameters.
This calls the specific_analyses.frame_order.checks.check_parameters Check object to make sure that
all necessary parameters for the model exist.
........
|
2015-10-02 12:24:34
|
Tree
|
[r27955]
by
bugman
Merged revisions 26083-26084,26086,26089-26092,26094,26138 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r26083 | bugman | 2014-09-26 19:42:22 +0200 (Fri, 26 Sep 2014) | 3 lines
Fix for the change of the pipe_control.pipes.test() function to check_pipe().
........
r26084 | bugman | 2014-09-27 00:02:34 +0200 (Sat, 27 Sep 2014) | 5 lines
Small change in the title of the summary table of the frame order auto-analysis.
'Order parameters' has been replaced by 'Cone half angles' to clarify what the values really are.
........
r26086 | bugman | 2014-09-27 13:07:48 +0200 (Sat, 27 Sep 2014) | 7 lines
Fix for the frame order optimisation target setup printouts.
The 'Numerical integration: ' printout was fixed to 'Quasi-random Sobol' sequence'. This now
changes to 'SciPy quadratic integration' if cdp.quad_int is set. The text 'PCS' has also been added
for clarification.
........
r26089 | bugman | 2014-09-27 16:40:04 +0200 (Sat, 27 Sep 2014) | 6 lines
Removed the call to the frame_order.simulate user function for the rigid model in the auto-analysis.
There is no motion to simulate in the rigid model, so the frame_order.simulate user function has no
use.
........
r26090 | bugman | 2014-09-27 17:25:28 +0200 (Sat, 27 Sep 2014) | 14 lines
Improvements, fixes, and expansion of the results and data visualisation file creation.
This is for the frame order auto-analysis. The visualisation() method has been renamed to
results_output() and its scope expanded. The function previously only called the
frame_order.pdb_model and frame_order.simulation user functions for creating PDB representations of
the frame order motions and performing a pseudo-Brownian frame order dynamics simulate. This has
been extended to also call the results.write user function for outputting results files and the
rdc.corr_plot and pcs_corr_plot for generating correlation plots of the measured vs. back-calculated
data.
All parts of the auto-analysis were output files are required now call this method. This ensures
that all output files are always created, and are placed into the correct directories.
........
r26091 | bugman | 2014-09-27 17:38:25 +0200 (Sat, 27 Sep 2014) | 7 lines
Improvements for the sectioning printouts for the frame order auto-analysis.
The sections now use the lib.text.formatting subtitle() and subsubtitle() functions to distinguish
them from the output of all the user functions, which use the section(), subsection() and
subsubsection() functions. New sectioning printouts have been added for clarity.
........
r26092 | bugman | 2014-09-27 17:41:49 +0200 (Sat, 27 Sep 2014) | 6 lines
Possible fixes for the frame order auto-analysis.
This is just in case a user decides to not perform the optimisation starting with a PCS subset. In
this case, the analysis will now execute correctly.
........
r26094 | bugman | 2014-09-30 09:49:39 +0200 (Tue, 30 Sep 2014) | 7 lines
Improvements to the summary table for the frame order auto-analysis.
The rotor and free rotor model motional eigenframe parameter axis_alpha is now being converted into
spherical angles and reported in the table. This allows the motional eigenframe of all models to be
easily compared in the table.
........
r26138 | bugman | 2014-10-02 15:36:47 +0200 (Thu, 02 Oct 2014) | 6 lines
Created a directory and base PDB system for testing out the PCS information content.
The base PDB system consists of Ad Bax's CaM domain structures superimposed onto the open CaM
structure, the N-domain CoM shifted to the origin, and the C-domain CoM shifted to the z-axis.
........
|
2015-10-02 12:16:40
|
Tree
|
[r27954]
by
bugman
Merged revisions 26015-26016,26019-26042,26047 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r26015 | bugman | 2014-09-24 17:01:32 +0200 (Wed, 24 Sep 2014) | 6 lines
Implemented the SciPy quadratic integration target function for the double rotor frame order model.
This simply follows from what all the other quadratic integration target functions and
lib.frame_order module functions do.
........
r26016 | bugman | 2014-09-24 17:07:40 +0200 (Wed, 24 Sep 2014) | 6 lines
Changed the chi2 value checks in the Frame_order.test_cam_quad_int_double_rotor* system tests.
These were the values for the quasi-random Sobol' integration and needed updating for the SciPy
quadratic integration.
........
r26019 | bugman | 2014-09-24 17:20:47 +0200 (Wed, 24 Sep 2014) | 6 lines
Removed the skip_tests argument for the Frame_order system tests __init__() method.
This argument, which was used to manually turn on or off the blacklisted tests, is no longer needed
due to the new --no-skip relax command line flag which will enable all blacklisted tests.
........
r26020 | bugman | 2014-09-24 17:50:52 +0200 (Wed, 24 Sep 2014) | 7 lines
The frame order auto-analysis Optimisation_settings object now supports the quad_int flag.
This is for activating the SciPy quadratic integration. It is accepted as an argument for the
add_grid() and add_min() methods, and it returned by the new get_grid_quad_int() and
get_min_quad_int() methods.
........
r26021 | bugman | 2014-09-24 18:43:46 +0200 (Wed, 24 Sep 2014) | 8 lines
Added the ability to specify a pre-run directory in the frame order auto-analysis.
This will be used for refinement purposes. If the new pre_run_dir argument, modelled on the
relaxation dispersion auto-analysis, is supplied then results files will be loaded from this
directory and the base data pipe copying and PCS subset optimisation steps will be skipped. The
model nesting algorithm is also deactivated.
........
r26022 | bugman | 2014-09-24 18:51:21 +0200 (Wed, 24 Sep 2014) | 8 lines
Activated the SciPy quadratic integration in the frame order auto-analysis.
If the Optimisation_settings object has been set up with the quad_int flag, then the auto-analysis
will skip the sobol_setup() method and instead directly call the frame_order.quad_int user function.
Optimisation will then use the SciPy quadratic integration rather than the quasi-random Sobol'
integration.
........
r26023 | bugman | 2014-09-25 09:05:18 +0200 (Thu, 25 Sep 2014) | 7 lines
Improvements for the usage of the frame_order.quad_int user function in the auto-analysis.
The frame_order.quad_int user function is now called even when the Optimisation_settings object
quad_int flag is False. This allows for switching between the SciPy quadratic integration and the
quasi-random Sobol' integration, as the SciPy quadratic integration can now be turned off.
........
r26024 | bugman | 2014-09-25 09:14:30 +0200 (Thu, 25 Sep 2014) | 3 lines
Additions to the frame order auto-analysis documentation.
........
r26025 | bugman | 2014-09-25 09:39:41 +0200 (Thu, 25 Sep 2014) | 6 lines
Incorporated the contents of the summarise.py script into the frame order auto-analysis module.
This has been converted into the summarise() function which will generate a results summary table as
the analysis is still running.
........
r26026 | bugman | 2014-09-25 10:20:42 +0200 (Thu, 25 Sep 2014) | 9 lines
Improved logic in the auto_analyses.frame_order.summarise() function.
The model names, directories and titles are now being auto-generated from the full list of frame
order models in lib.frame_order.variables.MODEL_LIST.
To create a common mechanism for determining the model directory name, the
Frame_order_analysis.model_directory() method has been converted into a module function.
........
r26027 | bugman | 2014-09-25 10:24:12 +0200 (Thu, 25 Sep 2014) | 3 lines
The frame order auto-analysis now calls the summarise() function at the end to create a summary table.
........
r26028 | bugman | 2014-09-25 10:28:26 +0200 (Thu, 25 Sep 2014) | 3 lines
Shifted the final state saving in the frame order auto-analysis to be within the safety of the try block.
........
r26029 | bugman | 2014-09-25 10:30:28 +0200 (Thu, 25 Sep 2014) | 7 lines
Turned off the final state saving in the Frame_order.test_auto_analysis system test.
This almost halves the time required for the test. A private class variable _final_state has been
added to the auto_analyses.frame_order.Frame_order_analysis class which when False will cause the
state saving step to be skipped.
........
r26030 | bugman | 2014-09-25 10:30:57 +0200 (Thu, 25 Sep 2014) | 3 lines
Trailing whitespace cleanup.
........
r26031 | bugman | 2014-09-25 10:40:46 +0200 (Thu, 25 Sep 2014) | 7 lines
The summarise() function call is now after saving the final state in the frame order auto-analysis.
This is needed because the summarise() function will create a new set of data pipes, loading the
results which already exist under a different pipe name in the relax data store. Otherwise the
final state file is twice as big as it should be.
........
r26032 | bugman | 2014-09-25 11:14:31 +0200 (Thu, 25 Sep 2014) | 6 lines
Incorporated the contents of count_sobol_points.py into the frame order auto-analysis module.
The analysis script has been converted into the count_sobol_points() function which will generate a
summary table of the number of quasi-random Sobol' points used for the PCS numerical integration.
........
r26033 | bugman | 2014-09-25 11:16:29 +0200 (Thu, 25 Sep 2014) | 5 lines
The frame order auto-analysis now calls the count_sobol_points() function at the end.
This is to automatically create the Sobol' point summary table.
........
r26034 | bugman | 2014-09-25 11:20:25 +0200 (Thu, 25 Sep 2014) | 7 lines
Fixes for the auto_analyses.frame_order.summerise() function.
If the count_sobol_points() function is called followed by summerise(), a RelaxError will be raised
as the data pipe already exists. The summerise() function has been modified to switch to the data
pipe if it already exists.
........
r26035 | bugman | 2014-09-25 11:26:31 +0200 (Thu, 25 Sep 2014) | 5 lines
Expanded the frame order auto-analysis documentation.
This adds a description for the summarise() and count_sobol_points() functions.
........
r26036 | bugman | 2014-09-25 11:49:05 +0200 (Thu, 25 Sep 2014) | 9 lines
Elimination of most of the Frame_order.fixme_test_* system tests and associated data.
These tests are from a very early stage of the development of the frame order theory back when the
base data was the full and reduced alignment tensors for the each domain calculated from the RDC
data. They do not fit into the current analysis where the base data is the RDCs and PCSs for the
moving domain. There is no point upgrading the tests as it will be far too much effort and it will
only duplicate the coverage of the Frame_order.test_cam_* system tests.
........
r26037 | bugman | 2014-09-25 11:49:34 +0200 (Thu, 25 Sep 2014) | 3 lines
Updated the test_suite.system_tests.scripts.frame_order package __all__ list.
........
r26038 | bugman | 2014-09-25 12:09:56 +0200 (Thu, 25 Sep 2014) | 3 lines
Renamed the Frame_order.fixme_test_opendx_map system test to Frame_order.test_opendx_map to activate it.
........
r26039 | bugman | 2014-09-25 13:19:59 +0200 (Thu, 25 Sep 2014) | 7 lines
Upgraded the Frame_order.test_opendx_map system test.
To upgrade from the ancient design to the current design so that the test is functional and
relevant, this now uses the same setup as the Frame_order.test_cam_qr_int_rigid user function.
Instead of performing optimisation, the test calls the dx.map user function.
........
r26040 | bugman | 2014-09-25 13:26:16 +0200 (Thu, 25 Sep 2014) | 8 lines
Fix for the frame order specific API calculate() method.
This was caught by the Frame_order.test_opendx_map system test. The scaling matrix was not being
specified by the dx.map user function backend and this was causing the method to fail. Instead of
passing the non-existent scaling matrix into the target function, the argument is simply ignored.
The scaling matrix has no effect on the minimise.calculate user function so it is not necessary.
........
r26041 | bugman | 2014-09-25 13:28:30 +0200 (Thu, 25 Sep 2014) | 7 lines
The verbosity flag is now being respected by the frame order specific API calculate() method.
This silences the method when executing the dx.map user function. The chi2 value printout is
suppressed and the verbosity argument is being sent into the frame order count_sobol_points()
function.
........
r26042 | bugman | 2014-09-25 13:58:18 +0200 (Thu, 25 Sep 2014) | 3 lines
Added a section printout to the frame order auto-analysis when summary tables are created.
........
r26047 | bugman | 2014-09-26 10:02:47 +0200 (Fri, 26 Sep 2014) | 5 lines
The frame_order.simulate user function now defaults to creating a gzipped PDB file.
This is to save room, and because most molecular viewers will automatically read gzipped PDB files.
........
|
2015-10-02 12:10:30
|
Tree
|
[r27953]
by
bugman
Merged revisions 25964,25970,25981,25983,25987-26010 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r25964 | bugman | 2014-09-23 10:19:40 +0200 (Tue, 23 Sep 2014) | 7 lines
Shifted the specific_analyses.frame_order.variables module into lib.frame_order.
This is both to minimise circular dependencies, as previously the specific_analyses.frame_order
modules import from target_functions.frame_order and vice-versa, and to allow the relax library
functions to have access to these variables.
........
r25970 | bugman | 2014-09-23 17:13:58 +0200 (Tue, 23 Sep 2014) | 9 lines
Implemented the frame_order.simulate user function backend for the double rotor frame order model.
This involved extending the algorithm to loop over N states, where N=2 for the double rotor and N=1
for all other models. To handle the rotations being about the x and y-axes, an axis permutation
algorithm is used to shift these axes to z prior to decomposing to the torsion-tilt angles. The
reverse permutation is used to shift the axes back after correcting for being outside of the allowed
angles.
........
r25981 | bugman | 2014-09-23 20:05:55 +0200 (Tue, 23 Sep 2014) | 6 lines
Fixes for the specific_analyses.frame_order.geometric.average_position() function.
The recent trunk changes with the structural object Internal_selection class required a change in
this function.
........
r25983 | bugman | 2014-09-23 20:09:49 +0200 (Tue, 23 Sep 2014) | 6 lines
Updated the lib.frame_order.simulation.brownian() function.
This now uses the internal structural object selection object logic - the selection() method is
called to obtain the Internal_selection object, and this is then passed into the rotation() method.
........
r25987 | bugman | 2014-09-24 09:31:51 +0200 (Wed, 24 Sep 2014) | 26 lines
Reverted r23202.
The command used was:
svn merge -r23202:23201 .
This is part of restoring the SciPy quadratic integration in the frame order target functions.
Although incredibly slow, this will be useful for refining the final results, especially for models
whereby the number of Sobol' points collapses to zero.
.....
r23202 | bugman | 2014-05-16 14:31:11 +0200 (Fri, 16 May 2014) | 6 lines
Changed paths:
M /branches/frame_order_cleanup/lib/frame_order/iso_cone.py
M /branches/frame_order_cleanup/lib/frame_order/iso_cone_torsionless.py
M /branches/frame_order_cleanup/lib/frame_order/matrix_ops.py
M /branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py
M /branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse_torsionless.py
M /branches/frame_order_cleanup/lib/frame_order/rotor.py
Deletion of all of the Scipy quadratic integration functions for the PCS in the relax library.
These are no longer used, as they are far too slow. The quasi-random functions have long replaced
these.
.....
........
r25988 | bugman | 2014-09-24 09:33:25 +0200 (Wed, 24 Sep 2014) | 20 lines
Reverted r23200.
The command used was:
svn merge -r23200:23199 .
This is part of restoring the SciPy quadratic integration in the frame order target functions.
Although incredibly slow, this will be useful for refining the final results, especially for models
whereby the number of Sobol' points collapses to zero.
.....
r23200 | bugman | 2014-05-16 14:14:48 +0200 (Fri, 16 May 2014) | 5 lines
Changed paths:
M /branches/frame_order_cleanup/target_functions/frame_order.py
Import cleanup for the frame order target functions.
The Scipy quadratic integration functions for the PCS have been removed.
.....
........
r25989 | bugman | 2014-09-24 09:43:32 +0200 (Wed, 24 Sep 2014) | 22 lines
Reverted r23199.
The command used was:
svn merge -r23199:23198 .
This is part of restoring the SciPy quadratic integration in the frame order target functions.
Although incredibly slow, this will be useful for refining the final results, especially for models
whereby the number of Sobol' points collapses to zero.
.....
r23199 | bugman | 2014-05-16 14:12:07 +0200 (Fri, 16 May 2014) | 7 lines
Changed paths:
M /branches/frame_order_cleanup/target_functions/frame_order.py
Deletion of half of the frame order target functions.
All of the target functions using Scipy quadratic integration (which cause a frame order analysis to
take over 1,000,000 years to complete) have been deleted. The quasi-random target functions that
replace these have been renamed to remove the '_qrint' ending.
.....
........
r25990 | bugman | 2014-09-24 09:52:57 +0200 (Wed, 24 Sep 2014) | 42 lines
Reverted r23309, the deletion of the frame_order.quad_int user function and the rest of the backend.
The command used was:
svn merge -r23309:23308 .
This is part of restoring the SciPy quadratic integration in the frame order target functions.
Although incredibly slow, this will be useful for refining the final results, especially for models
whereby the number of Sobol' points collapses to zero.
.....
r23309 | bugman | 2014-05-21 17:06:17 +0200 (Wed, 21 May 2014) | 4 lines
Changed paths:
M /branches/frame_order_cleanup/auto_analyses/frame_order.py
M /branches/frame_order_cleanup/specific_analyses/frame_order/optimisation.py
M /branches/frame_order_cleanup/specific_analyses/frame_order/uf.py
M /branches/frame_order_cleanup/target_functions/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/free_rotor/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/free_rotor2/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/free_rotor_missing_data/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/iso_cone/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor2/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/iso_cone_torsionless/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/pseudo_ellipse/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/pseudo_ellipse/multi_processor_test.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/pseudo_ellipse2/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/pseudo_ellipse_free_rotor/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/pseudo_ellipse_torsionless/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rigid/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor2/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor2/pcs_only/frame_order.py
M /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/rotor_2_state/frame_order.py
M /branches/frame_order_cleanup/user_functions/frame_order.py
Deletion of the frame_order.quad_int user function.
This no longer has a purpose, as the incredibly slow quadratic integration code has been removed
from relax.
.....
........
r25991 | bugman | 2014-09-24 09:57:17 +0200 (Wed, 24 Sep 2014) | 6 lines
Fixes for the recent commit restorations for the SciPy quadratic integration.
The cdp.quad_int flag is now passed into the specific_analyses.frame_order.optimisation
multiprocessor command objects which then pass it into the target function.
........
r25992 | bugman | 2014-09-24 10:01:07 +0200 (Wed, 24 Sep 2014) | 5 lines
Removed the call to the frame_order.quad_int user function in the auto-analysis.
This was the result of a bad restoring merger of an old commit.
........
r25993 | bugman | 2014-09-24 10:14:53 +0200 (Wed, 24 Sep 2014) | 5 lines
The quad_int argument for the frame order target function class now defaults to False.
This is so that quasi-random Sobol' numerical integration will be used by default.
........
r25994 | bugman | 2014-09-24 10:16:53 +0200 (Wed, 24 Sep 2014) | 5 lines
The cdp.quad_int flag is now passed into the target function for the frame order calculate() method.
This is for the minimise.calculate user function backend.
........
r25995 | bugman | 2014-09-24 10:25:13 +0200 (Wed, 24 Sep 2014) | 7 lines
Fixes for the missing cdp.quad_int flag.
If the cdp.quad_int flag is missing, this is now set to False before setting up the target function
class. The previous behaviour was that the frame_order.quad_int user function must be called prior
to optimisation. Now it is optional for turning this flag on and off.
........
r25996 | bugman | 2014-09-24 10:26:09 +0200 (Wed, 24 Sep 2014) | 3 lines
Fix for r25994 - the cdp.quad_int flag was not passed into the target function properly.
........
r25997 | bugman | 2014-09-24 10:29:31 +0200 (Wed, 24 Sep 2014) | 5 lines
The RDC only optimisation now defaults to the *_qrint() frame order target functions.
This restores the earlier behaviour prior to the restoration of the SciPy quadratic integration.
........
r25998 | bugman | 2014-09-24 10:53:03 +0200 (Wed, 24 Sep 2014) | 9 lines
Clean up for the frame order target function aliasing.
The Scipy quadratic integration and the quasi-random Sobol' integration target functions are now
aliased using the getattr() Python method to programmatically choose one or the other. The rigid
model has been removed from the list as it is not a numeric model, and the func_double_rotor()
target function has been renamed to func_double_rotor_qrint() to make it consistent with the naming
of the other target functions.
........
r25999 | bugman | 2014-09-24 11:22:28 +0200 (Wed, 24 Sep 2014) | 7 lines
Renaming of all the frame order target functions and PCS integration functions.
For consistency, all quasi-random Sobol' integration functions now use the 'qr_int' tag whereas the
SciPy quadratic integration functions use the 'quad_int' tag. This is not only in the target
function names but also the PCS integration functions in lib.frame_order.
........
r26000 | bugman | 2014-09-24 11:38:12 +0200 (Wed, 24 Sep 2014) | 9 lines
Duplicated all Frame_order.test_cam_* system tests for testing the SciPy quadratic integration.
The Frame_order.test_cam_* system tests have all been renamed to Frame_order.test_cam_qr_int_*.
These have been duplicated and renamed to Frame_order.test_cam_quad_int_*. The flag() system test
method has been extended to include the quad_int flag which is then stored in the status object and
used in the base CaM frame order system test script to activate the frame_order.quad_int user
function.
........
r26001 | bugman | 2014-09-24 13:17:16 +0200 (Wed, 24 Sep 2014) | 5 lines
Activated the quad_int flag for a number of the Frame_order.test_cam_quad_int_* system tests.
The quad_int argument for the flags() test suite method had been missed for a few of these tests.
........
r26002 | bugman | 2014-09-24 13:20:02 +0200 (Wed, 24 Sep 2014) | 7 lines
Updated the chi2 check in the Frame_order.test_cam_qr_int_pseudo_ellipse_free_rotor_rdc system test.
This test is not normally run as it blacklisted and duplicates the coverage of other tests. However
its chi-squared value check had not been updated for a while and hence the test fails when
explicitly run.
........
r26003 | bugman | 2014-09-24 13:25:34 +0200 (Wed, 24 Sep 2014) | 5 lines
Updated all of the SciPy quadratic integration frame order target functions.
The pivot point is now handled quite different from back in May when these functions were deleted.
........
r26004 | bugman | 2014-09-24 13:36:08 +0200 (Wed, 24 Sep 2014) | 3 lines
Missing imports for the SciPy quadratic integration function for the PCS in lib.frame_order.rotor.
........
r26005 | bugman | 2014-09-24 13:51:26 +0200 (Wed, 24 Sep 2014) | 7 lines
The Sobol' point counting is now turned off for the frame order optimisation functions if none exist.
If the cdp.quad_int flag is set, then there will be no Sobol' points to count. This
count_sobol_point() user feedback function will therefore not be called by the minimise.calculate,
minimise.grid_search and minimise.execute user functions.
........
r26006 | bugman | 2014-09-24 14:05:21 +0200 (Wed, 24 Sep 2014) | 6 lines
Turned off optimisation for all of the Frame_order.test_cam_quad_int_* system tests.
The SciPy quadratic integration is far too slow to be used in the test suite. The simple call to
the minimise.calculate user function is sufficient for checking these target functions.
........
r26007 | bugman | 2014-09-24 14:07:09 +0200 (Wed, 24 Sep 2014) | 7 lines
Updated all of the Scipy quadratic integration frame order target functions.
A number of the data structures in the target function class have been redesigned since these target
functions were deleted back in May. All of the func_*_quad_int*() target functions have been
updated for these changes.
........
r26008 | bugman | 2014-09-24 14:09:46 +0200 (Wed, 24 Sep 2014) | 5 lines
Missing imports for the lib.frame_order.matrix_ops module.
These are for the recently restored SciPy quadratic integration functions.
........
r26009 | bugman | 2014-09-24 14:10:40 +0200 (Wed, 24 Sep 2014) | 3 lines
Removal of debugging code that was accidentally deleted.
........
r26010 | bugman | 2014-09-24 14:36:39 +0200 (Wed, 24 Sep 2014) | 8 lines
Updated all of the chi2 value checks for the Frame_order.test_cam_quad_int_* system tests.
This is only for those tests which use PCS data - the RDC only test chi2 values are the same as in
the Frame_order.test_cam_qr_int_* system tests. In all cases, the chi2 value is lower for the more
accurate SciPy quadratic integration as compared to the quasi-random Sobol' integration, as
expected.
........
|
2015-10-02 12:06:02
|
Tree
|
[r27952]
by
bugman
Merged revisions 25901,25905,25909,25918-25922,25926,25929-25931,25948-25956,25960-25961 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r25901 | bugman | 2014-09-18 17:53:33 +0200 (Thu, 18 Sep 2014) | 5 lines
Fix for the frame order system test optimisation printouts.
The cdp.num_int_pts variable is now called cdp.sobol_max_points.
........
r25905 | bugman | 2014-09-19 09:07:19 +0200 (Fri, 19 Sep 2014) | 6 lines
The starting time of the axis permutation model optimisations is now output.
This is in the frame order auto-analysis. This call to the time user function occurred for the
normal models, so extending it to the permuted axes models makes the output more consistent.
........
r25909 | bugman | 2014-09-19 09:56:34 +0200 (Fri, 19 Sep 2014) | 6 lines
Simplified the atomic position averaging warning in the frame order analysis.
Instead of throwing a warning for each spin, one warning for all spins is now given. This should
make the output a lot less verbose.
........
r25918 | bugman | 2014-09-19 11:55:07 +0200 (Fri, 19 Sep 2014) | 5 lines
The frame order minimise_setup_atomic_pos() function now accepts the verbosity argument.
This is used to silence the warnings in user functions such as frame_order.sobol_setup.
........
r25919 | bugman | 2014-09-19 12:04:28 +0200 (Fri, 19 Sep 2014) | 8 lines
Improvements for the frame order overfit_deselect() API method.
Three changes have been made: The print statements have been converted to RelaxWarnings; the spin
IDs or spin ID pairs are now stored in a list and one RelaxWarning for the missing PCS data and one
for the missing RDC data is now given; and the verbose flag is now used to determine if a
RelaxWarning will be given.
........
r25920 | bugman | 2014-09-19 12:06:32 +0200 (Fri, 19 Sep 2014) | 3 lines
Fix for the previous commit - a bracket was missing preventing relax from starting.
........
r25921 | bugman | 2014-09-19 12:08:36 +0200 (Fri, 19 Sep 2014) | 3 lines
Change to the position averaging warning in the minimise_setup_atomic_pos() frame order function.
........
r25922 | bugman | 2014-09-19 12:18:57 +0200 (Fri, 19 Sep 2014) | 6 lines
Improvements for the printout from the update_model() frame order function.
A list of updated parameters is now created and everything is printed on a single line at the end.
The printout is therefore much more compact.
........
r25926 | bugman | 2014-09-19 18:26:26 +0200 (Fri, 19 Sep 2014) | 9 lines
Spun out part of the frame_order.pdb_model user function into the new frame_order.simulate.
The new user function arguments required for properly creating the pseudo-Brownian dynamics
simulation would have made the frame_order.pdb_model user function too complicated. Therefore this
part has been spun out into the new frame_order.simulate user function. The frame_order.simulate
frontend fully describes the algorithm that will be used to simulate the dynamic content of the PCS
and RDC data, and warns that not all modes of motion are visible and present.
........
r25929 | bugman | 2014-09-19 18:33:01 +0200 (Fri, 19 Sep 2014) | 6 lines
Updated the frame order auto-analysis to call the new frame_order.simulate user function.
Although not implemented yet, this allows the user function to create the simulation PDB file in the
future.
........
r25930 | bugman | 2014-09-19 18:41:29 +0200 (Fri, 19 Sep 2014) | 3 lines
Small fix for the new frame_order.simulate user function backend.
........
r25931 | bugman | 2014-09-19 18:43:15 +0200 (Fri, 19 Sep 2014) | 6 lines
Updated the base script for the Frame_order.test_cam_* system tests.
The frame_order.simulate user function is now called directly after the frame_order.pdb_model user
function.
........
r25948 | bugman | 2014-09-22 11:52:24 +0200 (Mon, 22 Sep 2014) | 17 lines
Created the backend framework for the frame_order.simulate user function.
The backend specific_analyses.frame_order.uf.simulate() function performs all data checks required,
prepares the output file object, assembles the frame order parameter values and pivot point, and
creates a copy of the structural object object with the ensemble collapsed into a single model.
All this data is then passed into the new lib.frame_order.simulation.brownian() function. This
initialises all required data structures and the structural object. The main loop of the simulation
is also implemented, taking snapshots at every fixed number of steps and terminating the loop once
the total number of snapshots are reached. The snapshot consists of copying the original unrotated
structural model and rotating it into the new position. The rotation is currently the identity
matrix.
The old specific_analyses.frame_order.geometric.create_distribution() stub function has been
deleted.
........
r25949 | bugman | 2014-09-22 12:04:58 +0200 (Mon, 22 Sep 2014) | 5 lines
Decreased the time required for the Frame_order.test_cam_* system tests.
The frame_order.simulate user function now only creates a total of 20 snapshots rather than 1000.
........
r25950 | bugman | 2014-09-22 12:19:36 +0200 (Mon, 22 Sep 2014) | 7 lines
Added new arguments to the frame order auto-analysis for the frame_order.simulate user function.
These are the brownian_step_size, brownian_snapshot and brownian_total arguments which are passed
directly into the frame_order.simulate user function. This gives the user more control, as well as
allowing the test suite to speed up this part of the analysis.
........
r25951 | bugman | 2014-09-22 12:21:31 +0200 (Mon, 22 Sep 2014) | 6 lines
Huge speed up for the Frame_order.test_auto_analysis user function.
The pseudo-Brownian dynamics simulation via the frame_order.simulate user function has been
massively speed up to allow the test to be almost as fast as before.
........
r25952 | bugman | 2014-09-22 12:26:32 +0200 (Mon, 22 Sep 2014) | 7 lines
Spun out the code for shifting to the average frame order position into a new function.
The old code of the create_ave_pos() of the specific_analyses.frame_order.geometric module has been
shifted into the new average_position() function. This will allow the code to be reused by other
parts of relax to obtain the average frame order structures.
........
r25953 | bugman | 2014-09-22 12:28:49 +0200 (Mon, 22 Sep 2014) | 6 lines
Implemented the shifting to the average position for the frame_order.simulate user function backend.
This simply sends the structural object into the new average_position() function of the
specific_analyses.frame_order.geometric module.
........
r25954 | bugman | 2014-09-22 13:50:37 +0200 (Mon, 22 Sep 2014) | 6 lines
Improvements for the frame_order.simulate user function.
The rigid model is now skipped, the PDB file closed, and some printouts for better user feedback
have been added.
........
r25955 | bugman | 2014-09-22 13:52:54 +0200 (Mon, 22 Sep 2014) | 6 lines
Changed the default PDB file name for the frame_order.simulate user function to 'simulate.pdb'.
The '*.bz2' extension has been dropped so that the file is quicker to create and does not need to be
decompressed for loading into molecular viewers.
........
r25956 | bugman | 2014-09-22 15:08:06 +0200 (Mon, 22 Sep 2014) | 7 lines
Created the specific_analyses.frame_order.geometric.generate_axis_system() function.
This is now used by most parts of the frame order analysis to generate the full 3D eigenframe of the
motions. Previously this was implemented each time the frame or major axis was required. This
replicated and highly inconsistent code has been eliminated.
........
r25960 | bugman | 2014-09-22 17:00:37 +0200 (Mon, 22 Sep 2014) | 6 lines
Fix for the new specific_analyses.frame_order.geometric.generate_axis_system() function.
The rotor and free rotor models were not correctly handled and the returned eigenframe was the zero
matrix.
........
r25961 | bugman | 2014-09-23 09:26:08 +0200 (Tue, 23 Sep 2014) | 11 lines
Implemented the pseudo-Brownian frame order dynamics simulation for the single motion models.
This uses the same logic as in the test_suite/shared_data/frame_order/cam/*/generate_distribution.py
scripts which were used to generate all of the test suite data. However rather than using a random
rotation matrix, a random 3D vector is used to rotate a fixed angle. And the rotation is used to
rotate the current state to state i+1. The rotation for the state is decomposed into torsion-tilt
angles once shifted into the motional eigenframe, the violations checked for as the state shifted to
the boundary, then the new state reconstructed from the corrected torsion-tilt angles, and then it
is shifted from the motional eigenframe to the PDB frame.
........
|
2015-10-02 11:56:22
|
Tree
|
[r27951]
by
bugman
Merged revisions 25790-25792,25794-25799,25804-25809,25811-25845,25862-25896 via svnmerge from
svn+ssh://bugman@.../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'
sequence are now skipped to avoid any bias. For speed, the axis order of the Sobol' torsion-tilt
angles has been swapped so that the numpy.swapaxes() function call is no longer required in the
lib.frame_order.*.pcs_numeric_int_*() functions.
........
r25873 | bugman | 2014-09-17 17:11:30 +0200 (Wed, 17 Sep 2014) | 1 line
Updated the frame order count_sobol_points() function to handle the swapped axis order.
........
r25874 | bugman | 2014-09-17 17:11:32 +0200 (Wed, 17 Sep 2014) | 8 lines
Huge speed up for the generation of the Sobol' sequence data in the frame order target function.
The new Sobol_data class has been created and is instantiated in the module namespace as
target_function.frame_order.sobol_data. This is used to store all of the Sobol' sequence associated
data, including the torsion-tilt angles and all corresponding rotation matrices. When initialising
the target function, if the Sobol_data container holds the data for the same model and same total
number of Sobol' points, then the pre-existing data will be used rather than regenerating all the
data. This can save a huge amount of time.
........
r25875 | bugman | 2014-09-17 17:11:33 +0200 (Wed, 17 Sep 2014) | 4 lines
Updated the frame order count_sobol_points() function to use the new Sobol_data container.
The Sobol' sequence data generated by the target function is now located at
target_functions.frame_order.sobol_data.
........
r25876 | bugman | 2014-09-17 17:11:36 +0200 (Wed, 17 Sep 2014) | 5 lines
Updated all the lib.frame_order.*.pcs_numeric_int_*() functions for the new Sobol' point algorithm.
The functions now all accept the max_points argument and terminate the loop over the Sobol' points
once the maximum number of points has been reached. The calls to numpy.swapaxes() have also been
removed as this is now pre-performed by the target function initialisation.
........
r25877 | bugman | 2014-09-17 17:11:37 +0200 (Wed, 17 Sep 2014) | 1 line
Changed the default oversampling factor from 100 to 1 in the frame_order.sobol_setup user function.
........
r25878 | bugman | 2014-09-17 17:11:39 +0200 (Wed, 17 Sep 2014) | 5 lines
Converted the frame order auto-analysis to use the new frame_order.sobol_setup user function design.
The auto-analysis Optimisation_settings object has also been modified so that all num_int_pts
arguments and internal structures have been split into the two new sobol_max_points and
sobol_oversample names and objects.
........
r25879 | bugman | 2014-09-17 17:11:41 +0200 (Wed, 17 Sep 2014) | 4 lines
Fix for the rigid frame order model for the recent frame_order.sobol_setup user function changes.
For this model, the number of Sobol' points normally is does not exist. This is now correctly
handled.
........
r25880 | bugman | 2014-09-17 17:11:43 +0200 (Wed, 17 Sep 2014) | 4 lines
Created the sobol_setup() method for the frame order auto-analysis.
This is used to correctly handle the new design of the frame_order.sobol_setup user function
consistently throughout the protocol.
........
r25881 | bugman | 2014-09-17 17:11:44 +0200 (Wed, 17 Sep 2014) | 3 lines
Updated the Frame_order.test_auto_analysis system test script.
This now uses the new auto-analysis Optimisation_settings object design.
........
r25882 | bugman | 2014-09-17 17:11:46 +0200 (Wed, 17 Sep 2014) | 4 lines
Updated the Frame_order.test_count_sobol_points system test.
The call to the frame_order.num_int_pts user function was changed to
frame_order.sobol_setup.
........
r25883 | bugman | 2014-09-17 17:11:49 +0200 (Wed, 17 Sep 2014) | 5 lines
Fixes for the Frame_order.test_count_sobol_points2 system test.
The test_suite/shared_data/frame_order/axis_permutations/cam_pseudo_ellipse.bz2 relax state file has
been manual edited to change the num_int_pts data pipe structure to sobol_max_points and to add the
new sobol_oversample variable.
........
r25884 | bugman | 2014-09-17 17:11:51 +0200 (Wed, 17 Sep 2014) | 4 lines
Added a backwards compatibility hook for state and results files for the Sobol' sequence changes.
The data pipe num_int_pts variable is now renamed to sobol_max_points when present, and the
sobol_oversample variable is created and set to 1.
........
r25885 | bugman | 2014-09-17 17:11:53 +0200 (Wed, 17 Sep 2014) | 4 lines
Updates to all of the Frame_order.test_count_sobol_points_* system tests.
The frame_order.sobol_setup user function is used to set a small maximum number of points (20) to
allow the tests to be fast. The value of 20 is also checked for to allow the tests to pass.
........
r25886 | bugman | 2014-09-17 17:11:55 +0200 (Wed, 17 Sep 2014) | 4 lines
Renamed the cdp.used_sobol_points variable to sobol_points_used.
This is created by the count_sobol_points() frame order function. The name change is to match the
sobol_max_points and sobol_oversample variable names.
........
r25887 | bugman | 2014-09-17 17:11:57 +0200 (Wed, 17 Sep 2014) | 4 lines
Renamed all the Frame_order.test_num_int_pts* system tests to Frame_order.test_sobol_setup*.
These system tests where for checking the operation of the old frame_order.num_int_pts user
function. But this is now the frame_order.sobol_setup user function.
........
r25888 | bugman | 2014-09-17 17:11:59 +0200 (Wed, 17 Sep 2014) | 3 lines
Fix for all of the Frame_order.test_rigid_data_to_*_model system tests.
The frame_order.num_int_pts user function call was changed to frame_order.sobol_setup.
........
r25889 | bugman | 2014-09-17 17:12:00 +0200 (Wed, 17 Sep 2014) | 3 lines
Updated the chi2 check in the Frame_order.test_rigid_data_to_free_rotor_model system test.
This value has changed due to the first 1000 points of the Sobol' sequence being skipped.
........
r25890 | bugman | 2014-09-17 17:12:02 +0200 (Wed, 17 Sep 2014) | 4 lines
Fixes for all of the lib.frame_order.*.pcs_numeric_int_*_qrint() functions.
The loop over the Sobol' points was broken. As numpy.swapaxes() has been applied to the points
argument already, the loop needs to be over the second dimension of the points data structure.
........
r25891 | bugman | 2014-09-17 17:12:05 +0200 (Wed, 17 Sep 2014) | 7 lines
Updates for all of the Frame_order.test_cam_* system tests.
The NUM_INT_PTS variable in the system tests scripts is now passed into the frame_order.sobol_setup
user function as the max_num argument. This number has also been changed so that the tests take a
reasonable amount of time. All chi2 value checks were updated. These were validated by increasing
the number of integration points and watching the chi2 value of the Frame_order.test_cam_*_pcs
version of the system tests head to zero.
........
r25892 | bugman | 2014-09-17 17:12:06 +0200 (Wed, 17 Sep 2014) | 4 lines
Another update for the chi2 check in the Frame_order.test_rigid_data_to_free_rotor_model system test.
The previous commit used an incorrect value for the chi2. This new value is now much closer to the
original.
........
r25893 | bugman | 2014-09-17 17:24:15 +0200 (Wed, 17 Sep 2014) | 7 lines
Turned down the verbosity of the update_model() frame order function.
The verbosity flag is now accepted and set to zero by the get_param_names() API method and
specific_analyses.frame_order.parameters.param_num() function. This removes a lot of useless
printouts from many different user functions.
........
r25894 | bugman | 2014-09-17 17:31:01 +0200 (Wed, 17 Sep 2014) | 7 lines
Introduced the verbosity argument to the count_sobol_points() frame order function.
This is used to turn the printouts on or off. The optimisation code now calls this function with
the verbosity argument sent into the minimise.grid_search and minimise.execute user functions.
Hence the printouts are suppressed for Monte Carlo simulations.
........
r25895 | bugman | 2014-09-17 17:35:58 +0200 (Wed, 17 Sep 2014) | 7 lines
Removed the axis system printout from the frame_order.pdb_model user function.
This is for the geometric representation of the frame order dynamics. The axis system is printed
out as the rotation matrix used for the lib.structure.geometric.generate_vector_residues() function
later on anyway. The change is to simplify the printouts.
........
r25896 | bugman | 2014-09-17 17:55:01 +0200 (Wed, 17 Sep 2014) | 3 lines
Editing of the docstring of the frame_order.sobol_setup user function.
........
|
2015-10-02 11:54:25
|
Tree
|
[r27950]
by
bugman
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.
........
|
2015-10-02 11:44:48
|
Tree
|
[r27949]
by
bugman
Merged revisions 24839-24840,25299-25301,25402,25416,25536-25537,25710-25711 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r24839 | bugman | 2014-07-30 17:27:07 +0200 (Wed, 30 Jul 2014) | 8 lines
Fixes for the removal of the RDC data checks from the frame order optimisation functions.
The specific analysis API method overfit_deselect() has now been created to deselect spins which do
not have PCS data or interatomic data containers missing RDC data. The handling of deselected spins
and interatomic data containers is now also correctly handled throughout the frame order specific
code.
........
r24840 | bugman | 2014-07-30 17:27:48 +0200 (Wed, 30 Jul 2014) | 3 lines
Enabled pivot optimisation in the full_analysis.py script for the CaM frame order test data.
........
r25299 | bugman | 2014-08-26 17:31:19 +0200 (Tue, 26 Aug 2014) | 6 lines
The frame order auto-analysis now calls the time() user function.
This is used at the start of each model section, as well as at the very start and very end of the
analysis. This feedback is needed for the user to be able to optimise the optimisation settings.
........
r25300 | bugman | 2014-08-26 17:49:16 +0200 (Tue, 26 Aug 2014) | 8 lines
Major bugfix for the frame order auto-analysis.
The algorithm of using a PCS data subset of a few selected residues to find an initial parameter
estimate followed by using all PCS data was badly implemented. The use of the PCS subset caused
most spin systems to be deselected, however they remained deselected once all data was being used.
So the result was that only the spin subset was ever being used in the analysis.
........
r25301 | bugman | 2014-08-26 17:52:19 +0200 (Tue, 26 Aug 2014) | 3 lines
Removed some printouts accidentally committed in the previous revision.
........
r25402 | bugman | 2014-08-28 18:45:24 +0200 (Thu, 28 Aug 2014) | 3 lines
Fix for the recent lib.period_table and lib.physical_constant module changes.
........
r25416 | bugman | 2014-08-29 10:11:58 +0200 (Fri, 29 Aug 2014) | 7 lines
Created the model_directory() method for the frame order auto-analysis.
This is used to create the full path for saving model specific files. It replaces spaces with
underscores in the path and removes all commas. The commas in the path appear to be fatal for
certain PyMOL versions when viewing the frame order representation.
........
r25536 | bugman | 2014-09-02 11:35:22 +0200 (Tue, 02 Sep 2014) | 3 lines
The frame order auto-analysis results printout has been extended to include the pivot point.
........
r25537 | bugman | 2014-09-02 11:39:40 +0200 (Tue, 02 Sep 2014) | 7 lines
Change to the parameter nesting in the frame order auto-analysis.
The pivot is now taken from the rotor model for all other models. Taking the pivot point from the
isotropic cone model is not a good idea as there are situations where the pivot point optimisation
catastrophically fails, sending the point many tens or hundreds of Angstrom away from the molecule.
........
r25710 | bugman | 2014-09-09 09:18:49 +0200 (Tue, 09 Sep 2014) | 10 lines
Copied a frame order results file for testing axis permutations.
The command used was:
svn cp test_suite/shared_data/frame_order/cam/pseudo_ellipse/frame_order.bz2@r23644 test_suite/shared_data/frame_order/axis_permutations/cam_pseudo_ellipse.bz2
This is from the test_suite/shared_data/frame_order/cam/pseudo_ellipse/ directory. The optimisation
results back at r23644 were identified to have failed, in that it found the alternative minimum.
The pseudo-ellipse model as two minima in the space, and in this case the global minimum was missed.
........
r25711 | bugman | 2014-09-09 10:55:41 +0200 (Tue, 09 Sep 2014) | 5 lines
Created the Frame_order.test_axis_permutation system test.
This is to test the operation of the yet-to-be implemented frame_order.permute_axes user function.
........
|
2015-10-02 11:41:38
|
Tree
|
[r27948]
by
bugman
Merged revisions 24819-24823,24832-24836 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r24819 | bugman | 2014-07-29 18:43:34 +0200 (Tue, 29 Jul 2014) | 5 lines
Missing import in the lib.frame_order.double_rotor module.
This was identified by the new Frame_order.test_auto_analysis system test.
........
r24820 | bugman | 2014-07-30 08:46:03 +0200 (Wed, 30 Jul 2014) | 7 lines
Updates and fixes for the frame order auto-analysis.
The custom grid setup now works for the new reduced parameter set models and the double rotor model
is now also included. The cone axis alpha angle to spherical angle conversion has had a bug
removed. And some of the printouts are now more detailed.
........
r24821 | bugman | 2014-07-30 09:34:22 +0200 (Wed, 30 Jul 2014) | 8 lines
Redesigned the Frame_order.test_auto_analysis system test.
This now uses a hypothetical new Optimisation_settings object from the frame order auto-analysis
module for holding all of the grid search, zooming grid search and minimisation settings. This will
allow for far greater user control of the settings and hugely simplify the auto-analysis interface
by decreasing the number of input arguments. It should also be less confusing.
........
r24822 | bugman | 2014-07-30 11:07:47 +0200 (Wed, 30 Jul 2014) | 16 lines
Implementation of the Optimisation_settings object in the frame order auto-analysis.
This object holds all of the grid search, zooming grid search, and minimisation settings. It
provides the add_grid() and add_min() methods to allow the user to add successive iterations of
optimisation and settings to the object. The loop_grid() and loop_min() methods are used to loop
over each iteration of each method. And the get_grid_inc(), get_grid_num_int_pts(),
get_grid_zoom_level(), get_min_algor(), get_min_func_tol() and get_min_num_int_pts() methods are
used to access the user defined settings.
The auto-analysis has been redesigned around this new concept. All of the optimisation arguments
have been replaced. Instead there are the opt_rigid, opt_subset, opt_full, and opt_mc arguments
which are expected to be instances of the Optimisation_settings object. The optimisation in the
auto-analysis is now more advanced in that more user optimisation settings are now available and
active.
........
r24823 | bugman | 2014-07-30 12:22:43 +0200 (Wed, 30 Jul 2014) | 9 lines
Added linear constraints for the pivot and average domain translation frame order parameters.
The pivot coordinates are constrained between -999 and 999 Angstrom and the translation between -500
and 500 Angstrom. This allows the frame_order.pdb_model user function to operate in the case of
failed models - often the free rotors fitting to torsionally restricted data - by preventing the PDB
coordinates from being out of the PDB format range. It should also speed up optimisation by
stopping the optimisation of failed models earlier.
........
r24832 | bugman | 2014-07-30 14:26:15 +0200 (Wed, 30 Jul 2014) | 8 lines
The frame order auto-analysis Optimisation_settings object now handles the maximum iterations.
The new max_iter argument has been added to the add_min() method, and the new get_min_max_iter()
method added to fetch the value. This is used in the auto-analysis to set the maximum number of
optimisation iterations in the minimise.execute user function calls. Limiting this will be of
greatest benefit for the test suite.
........
r24833 | bugman | 2014-07-30 14:27:47 +0200 (Wed, 30 Jul 2014) | 7 lines
Speed up of the Frame_order.test_auto_analysis system test.
This involves limiting the maximum number of optimisation steps to 20 for most parts (the rigid
model excluded so the average domain position is correctly found), and using the PCS subset data for
the full data set.
........
r24834 | bugman | 2014-07-30 14:36:03 +0200 (Wed, 30 Jul 2014) | 6 lines
Updated the full_analysis.py script for the CaM frame order test data.
This is for the recent changes to the auto-analysis with the Optimisation_settings object and for
the changes of this branch.
........
r24835 | bugman | 2014-07-30 14:38:21 +0200 (Wed, 30 Jul 2014) | 5 lines
Fix for the previous commit (r24834).
The results directory was incorrectly set.
........
r24836 | bugman | 2014-07-30 15:31:09 +0200 (Wed, 30 Jul 2014) | 10 lines
Removed the RDC data checks from the frame order optimisation.
This is in the minimise_setup_rdcs() and store_bc_data() functions of the
specific_analyses.frame_order.optimisation module, called before and after all optimisation. The
reason was identified by profiling - this check was adding significant amounts of time to the setup
and results unpacking parts of the optimisation. Specifically the interatomic_loop() function was
identified via profiling as the function requiring the most amount of cumulative time in the
Frame_order.test_auto_analysis system test (17 seconds out of a total of ~60 seconds).
........
|
2015-10-02 10:39:07
|
Tree
|
[r27947]
by
bugman
Merged revisions 24778,24783-24784,24787,24798-24810,24814-24817 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/frame_order_cleanup
........
r24778 | bugman | 2014-07-27 10:40:21 +0200 (Sun, 27 Jul 2014) | 7 lines
Fixes for the CaM free-rotor pseudo-ellipse frame order model test data set.
This is for the constraint 0 <= theta_x <= theta_y <= pi, as the old data was created with theta_x
> theta_y. The new data is also of high quality using 20 million structures and numpy.float128 data
averaging.
........
r24783 | bugman | 2014-07-28 14:21:04 +0200 (Mon, 28 Jul 2014) | 5 lines
Created the lib.frame_order.rotor_axis.convert_axis_alpha_to_spherical() function.
This will convert the axis alpha angle to the equivalent spherical angles theta and phi.
........
r24784 | bugman | 2014-07-28 15:48:50 +0200 (Mon, 28 Jul 2014) | 5 lines
Renamed the lib.frame_order.rotor_axis module to lib.frame_order.conversions.
This module will be used for all sorts of frame order parameter conversions.
........
r24787 | bugman | 2014-07-28 16:29:59 +0200 (Mon, 28 Jul 2014) | 5 lines
Added the pipe_name argument to the specific_analyses.frame_order.data.generate_pivot() function.
This allows the pivot from data pipes other than the current one to be assembled and returned.
........
r24798 | bugman | 2014-07-29 11:39:10 +0200 (Tue, 29 Jul 2014) | 8 lines
Updated the frame order optimisation results for the CaM free rotor, pseudo-ellipse test data.
The optimisation in the frame_order.py is now of higher precision with the number of Sobol' numeric
integration points significantly increased, especially for the Monte Carlo simulations. The new
frame order representation files have been added to the repository, as well as the intermediate
state files.
........
r24799 | bugman | 2014-07-29 11:40:25 +0200 (Tue, 29 Jul 2014) | 8 lines
Updated the frame order optimisation results for the CaM torsionless, pseudo-ellipse test data.
The optimisation in the frame_order.py is now of higher precision with the number of Sobol' numeric
integration points significantly increased, especially for the Monte Carlo simulations. The new
frame order representation files have been added to the repository, as well as the intermediate
state files.
........
r24800 | bugman | 2014-07-29 11:58:19 +0200 (Tue, 29 Jul 2014) | 5 lines
Fix for the Frame_order.test_cam_pseudo_ellipse_free_rotor system test.
This is for the change of the X and Y cone opening angles.
........
r24801 | bugman | 2014-07-29 13:11:20 +0200 (Tue, 29 Jul 2014) | 14 lines
Redesign and expansion of the nested model parameter copying in the frame order auto-analysis.
The nested parameter protocol used to allow the analysis to complete in under 1,000,000 years was no
longer functional due to the switching to the axis alpha parameter to decrease parameter number and
redundancy. The copying of the average domain position for the free rotor models was also incorrect
as the dropping of the alpha Euler angle cause the translation parameters and beta and gamma angles
to change drastically.
The new protocol has been split into four methods for the average domain position, the pivot point,
the motional eigenframe and the parameters of ordering. These use the fact that the free rotor and
torsionless models are the two extrema of the models where the torsion angle is restricted. The
pivot copying is a new addition.
........
r24802 | bugman | 2014-07-29 13:58:14 +0200 (Tue, 29 Jul 2014) | 7 lines
Created the Frame_order.test_auto_analysis system test.
This will be an extremely quick run through of the frame order auto-analysis as this is not
currently tested. 1 Sobol' quasi-random integration point will be used for all models for speed.
The system test uses the rigid CaM test data to perform a full analysis.
........
r24803 | bugman | 2014-07-29 13:59:39 +0200 (Tue, 29 Jul 2014) | 3 lines
Import fix for the frame order auto-analysis.
........
r24804 | bugman | 2014-07-29 14:01:04 +0200 (Tue, 29 Jul 2014) | 3 lines
Alphabetical ordering of the imports in the frame order auto-analysis module.
........
r24805 | bugman | 2014-07-29 14:06:14 +0200 (Tue, 29 Jul 2014) | 5 lines
Fixes for the backend script of the Frame_order.test_auto_analysis system test.
This includes a missing import and the removal of a long ago deleted user function.
........
r24806 | bugman | 2014-07-29 14:08:11 +0200 (Tue, 29 Jul 2014) | 6 lines
Fix for the frame order auto-analysis for the call to the grid search user function.
This user function has been renamed to minimise.grid_search, however not all parts of the analysis
had been converted to the new name.
........
r24807 | bugman | 2014-07-29 15:13:46 +0200 (Tue, 29 Jul 2014) | 6 lines
Created a method in the frame order auto-analysis to reorder the models.
This is needed as the nested model parameter copying protocol requires the simpler models to be
optimised first.
........
r24808 | bugman | 2014-07-29 15:17:02 +0200 (Tue, 29 Jul 2014) | 5 lines
The Frame_order.test_auto_analysis system test now writes all files to the directory of ds.tmpdir.
This is to prevent the system test from dumping files in the current directory.
........
r24809 | bugman | 2014-07-29 15:38:41 +0200 (Tue, 29 Jul 2014) | 5 lines
Modified the specific_analyses.frame_order.parameters.update_model() function.
This will no longer set all parameters to 0.0, excluding the pivot point.
........
r24810 | bugman | 2014-07-29 16:07:28 +0200 (Tue, 29 Jul 2014) | 6 lines
Modified the specific_analyses.frame_order.parameters.assemble_param_vector() function.
This can now handle the case of no parameters being present. The corresponding elements of the
numpy array will consist of NaN values.
........
r24814 | bugman | 2014-07-29 16:41:17 +0200 (Tue, 29 Jul 2014) | 10 lines
Better handling of unset parameters in the frame order optimisation functions.
The specific_analyses.frame_order.optimisation.target_fn_data_setup() and
specific_analyses.frame_order.parameters.assemble_param_vector() function both now accept the
unset_fail argument. This is set in both the calculate() and minimise() API methods. When set, a
RelaxError will be raised in the assemble_param_vector() function when a parameter has not been set
yet. This together with previous changes will prevent the frame order analysis from using 0.0 as a
starting value for unset parameters.
........
r24815 | bugman | 2014-07-29 17:01:55 +0200 (Tue, 29 Jul 2014) | 7 lines
Fixes for all of the Frame_order.test_rigid_data_to_*_model system tests.
The base script now sets all parameter values so that the minimise.calculate user function can
operate. The two free rotor model chi-squared values have been updated as these are sensitive to
the motional eigenframe parameter values - these models can never approximate a rigid state.
........
r24816 | bugman | 2014-07-29 17:38:31 +0200 (Tue, 29 Jul 2014) | 5 lines
Modified the optimisation of the rigid model in the frame order auto-analysis.
The grid search is now implemented as a zooming grid search.
........
r24817 | bugman | 2014-07-29 18:03:37 +0200 (Tue, 29 Jul 2014) | 5 lines
Missing import in the lib.frame_order.rotor module.
This was identified by the new Frame_order.test_auto_analysis system test.
........
|
2015-10-02 10:31:21
|
Tree
|