[r26359]
by
bugman
Modifications to the new N_state_model.test_CaM_IQ_tensor_fit system test.
The system test now checks all of the optimised values to make sure the correct values have been
found. That will block any future regressions in this N-state model code path. The system test is
now also faster. And the pcs.structural_noise user function RMSD value has been set to 0.0 so that
the test no longer has a random component affecting the final optimised values.
|
2014-10-22 14:22:26
|
Tree
|
[r26358]
by
bugman
The align_tensor.display user function now has more consistent section formatting.
The section() and subsection() functions of the lib.text.sectioning module are now being used to
standardise these custom printouts with the rest of relax.
|
2014-10-22 13:55:46
|
Tree
|
[r26357]
by
bugman
Merged revisions 26334-26348 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26334 | bugman | 2014-10-22 09:47:22 +0200 (Wed, 22 Oct 2014) | 9 lines
Modified the atomic position handling in pipe_control.structure.main.load_spins_multi_mol().
The multiple molecule merging functionality of the structure.load_spins user function now handles
missing atomic positions differently. The aim is that the length of the spin container position
variable is fixed for all spins to the number of structures, as the N-state model analysis assumes
this equal length for all spins. When data is missing, the atomic position for that structure is
now set to None. This will require other modifications in relax to support this new design.
........
r26335 | bugman | 2014-10-22 10:08:50 +0200 (Wed, 22 Oct 2014) | 6 lines
Modified the interatom.unit_vectors user function backend to handle missing atomic positions.
This is to match the structure.load_spins user function change whereby missing atomic positions are
now set to the value of None.
........
r26336 | bugman | 2014-10-22 10:21:18 +0200 (Wed, 22 Oct 2014) | 6 lines
Fix for the atomic position handling in pipe_control.structure.main.load_spins_multi_mol().
The dimensionality of the position structure returned by the structural object atom_loop() method
needed to be reduced.
........
r26337 | bugman | 2014-10-22 10:47:48 +0200 (Wed, 22 Oct 2014) | 9 lines
The structure.load_spins user function now stores the number of states in cdp.N.
This is to help the specific analyses which handle ensembles of structures. With the introduction
of the from_mols argument to the structure.load_spins user function, the number of states is now not
equal to the number of structural models, as the states can now come from different structures of
the same model. Therefore the user function will now explicitly set cdp.N to the number of states
depending on how the spins were loaded.
........
r26338 | bugman | 2014-10-22 11:02:30 +0200 (Wed, 22 Oct 2014) | 7 lines
Clean up and speed up of the N_state_model.test_CaM_IQ_tensor_fit system test.
All output files are now set to 'devnull' so that the system test no longer creates any files within
the relax source directories. And the optimisation settings have been decreased to hugely speed up
the system test.
........
r26339 | bugman | 2014-10-22 11:36:57 +0200 (Wed, 22 Oct 2014) | 6 lines
Bug fix for the lib.arg_check.is_float_matrix() function.
The check for a numpy.ndarray data structure type was incorrect so that lists of numpy arrays were
failing in this function. Rank-2 arrays were not affected.
........
r26340 | bugman | 2014-10-22 11:38:09 +0200 (Wed, 22 Oct 2014) | 6 lines
Expanded the lib.arg_check.is_float_matrix() function by adding the none_elements argument.
This matches a number of the other module functions, and allows for entire rows of the matrix to be
None.
........
r26341 | bugman | 2014-10-22 11:44:55 +0200 (Wed, 22 Oct 2014) | 8 lines
Lists of lists containing rows of None are now better supported by the lib.xml functions.
The object_to_xml() function will now convert the float parts to IEEE-754 byte arrays, and the None
parts will be stored as None in the <ieee_754_byte_array> list node. The matching xml_to_object()
method has also been modified to read in this new node format. This affects the results.write and
state.save user functions (as well as the results.read and state.load user functions).
........
r26342 | bugman | 2014-10-22 14:00:50 +0200 (Wed, 22 Oct 2014) | 5 lines
Added spacing after the minimise.grid_search user function setup printouts.
This is for better spacing for the next messages from the specific analysis.
........
r26343 | bugman | 2014-10-22 14:01:58 +0200 (Wed, 22 Oct 2014) | 5 lines
Speed up of the N_state_model.test_CaM_IQ_tensor_fit system test.
This test is however still far too slow.
........
r26344 | bugman | 2014-10-22 14:22:11 +0200 (Wed, 22 Oct 2014) | 7 lines
Added printouts to pipe_control.pcs.return_pcs_data() and pipe_control.rdc.return_rdc_data().
These functions now accept the verbosity argument which if greater than 0 will activate printouts of
how many RDCs or PCSs have been assembled for each alignment. This will be useful for user feedback
as the spin verses interatomic data container selections can be difficult to understand.
........
r26345 | bugman | 2014-10-22 14:26:17 +0200 (Wed, 22 Oct 2014) | 8 lines
The verbosity argument for the N-state model optimisation is now propagated for more printouts.
The argument for the calculate() and minimise() API methods is now sent into
specific_analyses.n_state_model.optimisation.target_fn_setup(), and from there into the
pipe_control.pcs.return_pcs_data() and pipe_control.rdc.return_rdc_data() functions. That way the
number of RDCs and PCSs used in the N-state model is reported back to the user for better feedback.
........
r26346 | bugman | 2014-10-22 14:34:35 +0200 (Wed, 22 Oct 2014) | 6 lines
Updated the N_state_model.test_CaM_IQ_tensor_fit system test so it operates correctly as a GUI test.
All user functions are now executed through the special self._execute_uf() method to allow either
the prompt interpreter or the GUI to execute the user function.
........
r26347 | bugman | 2014-10-22 14:37:25 +0200 (Wed, 22 Oct 2014) | 6 lines
Modified the N_state_model.test_CaM_IQ_tensor_fit system/GUI test for implementing a new feature.
The 'spin_selection' argument has been added to the interatom.define user function. This will be
used to carry the spin selections over into the interatomic data containers.
........
r26348 | bugman | 2014-10-22 14:52:21 +0200 (Wed, 22 Oct 2014) | 6 lines
Implemented the spin_selection Boolean argument for the interatom.define user function.
This has been added to the frontend with a description, and to the backend. When set, it allows the
spin selections to define the interatomic data container selection.
........
|
2014-10-22 13:39:59
|
Tree
|
[r26356]
by
bugman
Merged revisions 26334-26348 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26334 | bugman | 2014-10-22 09:47:22 +0200 (Wed, 22 Oct 2014) | 9 lines
Modified the atomic position handling in pipe_control.structure.main.load_spins_multi_mol().
The multiple molecule merging functionality of the structure.load_spins user function now handles
missing atomic positions differently. The aim is that the length of the spin container position
variable is fixed for all spins to the number of structures, as the N-state model analysis assumes
this equal length for all spins. When data is missing, the atomic position for that structure is
now set to None. This will require other modifications in relax to support this new design.
........
r26335 | bugman | 2014-10-22 10:08:50 +0200 (Wed, 22 Oct 2014) | 6 lines
Modified the interatom.unit_vectors user function backend to handle missing atomic positions.
This is to match the structure.load_spins user function change whereby missing atomic positions are
now set to the value of None.
........
r26336 | bugman | 2014-10-22 10:21:18 +0200 (Wed, 22 Oct 2014) | 6 lines
Fix for the atomic position handling in pipe_control.structure.main.load_spins_multi_mol().
The dimensionality of the position structure returned by the structural object atom_loop() method
needed to be reduced.
........
r26337 | bugman | 2014-10-22 10:47:48 +0200 (Wed, 22 Oct 2014) | 9 lines
The structure.load_spins user function now stores the number of states in cdp.N.
This is to help the specific analyses which handle ensembles of structures. With the introduction
of the from_mols argument to the structure.load_spins user function, the number of states is now not
equal to the number of structural models, as the states can now come from different structures of
the same model. Therefore the user function will now explicitly set cdp.N to the number of states
depending on how the spins were loaded.
........
r26338 | bugman | 2014-10-22 11:02:30 +0200 (Wed, 22 Oct 2014) | 7 lines
Clean up and speed up of the N_state_model.test_CaM_IQ_tensor_fit system test.
All output files are now set to 'devnull' so that the system test no longer creates any files within
the relax source directories. And the optimisation settings have been decreased to hugely speed up
the system test.
........
r26339 | bugman | 2014-10-22 11:36:57 +0200 (Wed, 22 Oct 2014) | 6 lines
Bug fix for the lib.arg_check.is_float_matrix() function.
The check for a numpy.ndarray data structure type was incorrect so that lists of numpy arrays were
failing in this function. Rank-2 arrays were not affected.
........
r26340 | bugman | 2014-10-22 11:38:09 +0200 (Wed, 22 Oct 2014) | 6 lines
Expanded the lib.arg_check.is_float_matrix() function by adding the none_elements argument.
This matches a number of the other module functions, and allows for entire rows of the matrix to be
None.
........
r26341 | bugman | 2014-10-22 11:44:55 +0200 (Wed, 22 Oct 2014) | 8 lines
Lists of lists containing rows of None are now better supported by the lib.xml functions.
The object_to_xml() function will now convert the float parts to IEEE-754 byte arrays, and the None
parts will be stored as None in the <ieee_754_byte_array> list node. The matching xml_to_object()
method has also been modified to read in this new node format. This affects the results.write and
state.save user functions (as well as the results.read and state.load user functions).
........
r26342 | bugman | 2014-10-22 14:00:50 +0200 (Wed, 22 Oct 2014) | 5 lines
Added spacing after the minimise.grid_search user function setup printouts.
This is for better spacing for the next messages from the specific analysis.
........
r26343 | bugman | 2014-10-22 14:01:58 +0200 (Wed, 22 Oct 2014) | 5 lines
Speed up of the N_state_model.test_CaM_IQ_tensor_fit system test.
This test is however still far too slow.
........
r26344 | bugman | 2014-10-22 14:22:11 +0200 (Wed, 22 Oct 2014) | 7 lines
Added printouts to pipe_control.pcs.return_pcs_data() and pipe_control.rdc.return_rdc_data().
These functions now accept the verbosity argument which if greater than 0 will activate printouts of
how many RDCs or PCSs have been assembled for each alignment. This will be useful for user feedback
as the spin verses interatomic data container selections can be difficult to understand.
........
r26345 | bugman | 2014-10-22 14:26:17 +0200 (Wed, 22 Oct 2014) | 8 lines
The verbosity argument for the N-state model optimisation is now propagated for more printouts.
The argument for the calculate() and minimise() API methods is now sent into
specific_analyses.n_state_model.optimisation.target_fn_setup(), and from there into the
pipe_control.pcs.return_pcs_data() and pipe_control.rdc.return_rdc_data() functions. That way the
number of RDCs and PCSs used in the N-state model is reported back to the user for better feedback.
........
r26346 | bugman | 2014-10-22 14:34:35 +0200 (Wed, 22 Oct 2014) | 6 lines
Updated the N_state_model.test_CaM_IQ_tensor_fit system test so it operates correctly as a GUI test.
All user functions are now executed through the special self._execute_uf() method to allow either
the prompt interpreter or the GUI to execute the user function.
........
r26347 | bugman | 2014-10-22 14:37:25 +0200 (Wed, 22 Oct 2014) | 6 lines
Modified the N_state_model.test_CaM_IQ_tensor_fit system/GUI test for implementing a new feature.
The 'spin_selection' argument has been added to the interatom.define user function. This will be
used to carry the spin selections over into the interatomic data containers.
........
r26348 | bugman | 2014-10-22 14:52:21 +0200 (Wed, 22 Oct 2014) | 6 lines
Implemented the spin_selection Boolean argument for the interatom.define user function.
This has been added to the frontend with a description, and to the backend. When set, it allows the
spin selections to define the interatomic data container selection.
........
|
2014-10-22 13:39:55
|
Tree
|
[r26355]
by
bugman
Modified the Structure.test_load_spins_multi_mol system test for the spin.pos variable changes.
The atomic position for an ensemble of structures is now set to None rather than being missing, so
the system test has been updated to check for this.
|
2014-10-22 13:39:47
|
Tree
|
[r26354]
by
bugman
Changed the spin_selection argument default in the interatom.define user function backend.
This now defaults to False to allow other parts of relax which call this function to operate as
previously. The default for the interatom.define user function is however still True.
|
2014-10-22 13:38:23
|
Tree
|
[r26353]
by
bugman
Merged revisions 26332-26333 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26332 | bugman | 2014-10-22 08:50:36 +0200 (Wed, 22 Oct 2014) | 9 lines
Created the N_state_model.test_CaM_IQ_tensor_fit system test.
This is for catching bug #22849 (https://gna.org/bugs/?22849), the failure of the N-state model
analysis when optimising only alignment tensors using RDCs and/or PCSs.
This new test checks code paths unchecked in the rest of the test suite, and is therefore of high
value.
........
r26333 | bugman | 2014-10-22 09:27:01 +0200 (Wed, 22 Oct 2014) | 10 lines
Final fix for bug #22849 (https://gna.org/bugs/?22849).
This is the failure of the N-state model analysis when optimising only alignment tensors using RDCs
and/or PCSs. The alignment tensor is no longer initialised to zero values. This is to allow the
skip_preset argument for the minimise.grid_search user function to be operational for the N-state
model, a feature introduced with the zooming grid search. The solution was to check for the
uninitialised tensor in the minimise_setup_fixed_tensors() method of the
specific_analyses.n_state_model.optimisation module.
........
|
2014-10-22 13:34:36
|
Tree
|
[r26352]
by
bugman
Merged revisions 26332-26333 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26332 | bugman | 2014-10-22 08:50:36 +0200 (Wed, 22 Oct 2014) | 9 lines
Created the N_state_model.test_CaM_IQ_tensor_fit system test.
This is for catching bug #22849 (https://gna.org/bugs/?22849), the failure of the N-state model
analysis when optimising only alignment tensors using RDCs and/or PCSs.
This new test checks code paths unchecked in the rest of the test suite, and is therefore of high
value.
........
r26333 | bugman | 2014-10-22 09:27:01 +0200 (Wed, 22 Oct 2014) | 10 lines
Final fix for bug #22849 (https://gna.org/bugs/?22849).
This is the failure of the N-state model analysis when optimising only alignment tensors using RDCs
and/or PCSs. The alignment tensor is no longer initialised to zero values. This is to allow the
skip_preset argument for the minimise.grid_search user function to be operational for the N-state
model, a feature introduced with the zooming grid search. The solution was to check for the
uninitialised tensor in the minimise_setup_fixed_tensors() method of the
specific_analyses.n_state_model.optimisation module.
........
|
2014-10-22 13:34:23
|
Tree
|
[r26351]
by
bugman
Merged revisions 26307-26312,26321-26329 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26307 | bugman | 2014-10-17 16:13:04 +0200 (Fri, 17 Oct 2014) | 3 lines
Fix for the gui.fonts module to allow it to be used outside of the GUI.
........
r26308 | bugman | 2014-10-17 16:54:40 +0200 (Fri, 17 Oct 2014) | 5 lines
Updated all of the scripts in devel_scripts/gui/.
These have been non-functional since the merger of the bieri_gui back in January 2011.
........
r26309 | bugman | 2014-10-17 16:55:44 +0200 (Fri, 17 Oct 2014) | 3 lines
The gui.misc.bitmap_setup() function can now be used outside of the GUI.
........
r26310 | bugman | 2014-10-17 20:22:56 +0200 (Fri, 17 Oct 2014) | 3 lines
Fix for the GUI test base class new_analysis_wizard() method for relaxation dispersion analyses.
........
r26311 | bugman | 2014-10-18 10:20:36 +0200 (Sat, 18 Oct 2014) | 5 lines
Modified the pipe_control.pipes.get_bundle() function to operate when no pipe is supplied.
In this case, the pipe bundle that the current data pipe belongs to will be returned.
........
r26312 | bugman | 2014-10-18 10:22:07 +0200 (Sat, 18 Oct 2014) | 6 lines
Fix for the recently broken (r26306) Relax_disp.test_tp02_data_to_tp02 system test.
The data pipe bundle variable was no longer defined, so now it is retrieved using the
pipe_control.pipes.get_bundle() function.
........
r26321 | bugman | 2014-10-21 08:58:14 +0200 (Tue, 21 Oct 2014) | 3 lines
Bug fix for the structure.align user function for when no data pipes are supplied.
........
r26322 | bugman | 2014-10-21 13:52:10 +0200 (Tue, 21 Oct 2014) | 5 lines
Created the Periodic_table.has_element() method for the lib.periodic_table module.
This is used to simply check if a given symbol exists as an atom in the periodic table.
........
r26323 | bugman | 2014-10-21 13:57:05 +0200 (Tue, 21 Oct 2014) | 3 lines
Added 4 unit tests to the _lib.test_periodic_table module for the Periodic_table.has_element() method.
........
r26324 | bugman | 2014-10-21 14:17:49 +0200 (Tue, 21 Oct 2014) | 8 lines
Modified the internal structural object backend for the structure.read_pdb user function.
The MolContainer._det_pdb_element() method for handling PDB files with missing element information
has been updated to use the Periodic_table.has_element() method to check if the PDB atom name
corresponds to any atoms in the periodic table. This allows for far greater support for HETATOMS
and all of the metals.
........
r26325 | bugman | 2014-10-21 14:43:36 +0200 (Tue, 21 Oct 2014) | 7 lines
Created the Structure.test_load_spins_multi_mol system test.
This is to test yet to be implemented functionality of the structure.load_spins user function. This
is the loading of spin information similar, but not necessarily identical molecules all loaded into
the same structural model. For this, the from_mols argument will be added.
........
r26326 | bugman | 2014-10-21 15:55:05 +0200 (Tue, 21 Oct 2014) | 6 lines
Fixes for the Structure.test_load_spins_multi_mol system test.
The call to the structure.load_spins user function has also been modified so that all 3 spins are
loaded at the same time.
........
r26327 | bugman | 2014-10-21 15:58:31 +0200 (Tue, 21 Oct 2014) | 8 lines
Implemented the multiple molecule merging functionality of the structure.load_spins user function.
The argument has been added to the user function frontend and a description added for this new
functionality. In the backend, the pipe_control.structure.main.load_spins() function will now call
the load_spins_multi_mol() function if from_mols is supplied. This alternative function is required
to handle missing atoms and differential atom numbering.
........
r26328 | bugman | 2014-10-21 17:03:49 +0200 (Tue, 21 Oct 2014) | 8 lines
Modified the N_state_model.test_populations system test to test the grid search code paths.
This performs a grid search of one increment after minimisation, then switches to the 'fixed'
N-state model and performs a second grid search of one increment. This now tests currently untested
code paths in the grid_search() API method behind the minimise.grid_search user function. The test
demonstrates a bug in the N-state model which was not uncovered in the test suite.
........
r26329 | bugman | 2014-10-21 17:56:08 +0200 (Tue, 21 Oct 2014) | 7 lines
Bug fix for the N-state model grid search when only alignment tensor parameters are optimised.
The algorithm for splitting up the grid search to optimise each tensor separately, hence massively
collapsing the dimensionality of the problem, was being performed incorrectly. The grid_search()
API method inc, lower, and upper arguments are lists of lists, but were only being treated as lists.
........
|
2014-10-22 13:34:04
|
Tree
|
[r26350]
by
bugman
Merged revisions 26305-26306 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk
........
r26305 | bugman | 2014-10-17 14:58:52 +0200 (Fri, 17 Oct 2014) | 14 lines
Changed the logic for how the new analysis wizard in the GUI is destroyed.
This relates to bug #22818 (https://gna.org/bugs/?22818), the GUI test suite failures in MS Windows
- PyAssertionError: C++ assertion "Assert failure".
The Destroy() method has been added to the Analysis_wizard class to properly close all elements of
the wizard. This is now called from the menu_new() method of the Analysis_controller class, which
is the target of the menu item and toolbar button.
To allow the test suite to use this, the menu_new() method now accepts the destroy boolean argument.
The test suite can set this to False and then access the GUI elements after calling the method
(however the Destroy() method must be called by the test suite).
........
r26306 | bugman | 2014-10-17 15:05:32 +0200 (Fri, 17 Oct 2014) | 16 lines
Resign of how the new analysis wizard is handled in the GUI tests.
This relates to bug #22818 (https://gna.org/bugs/?22818), the GUI test suite failures in MS Windows
- PyAssertionError: C++ assertion "Assert failure".
The GUI test base class method new_analysis_wizard() has been created to simplify the process. When
a new analysis is desired, this method should be called. It will return the analysis page GUI
element for use in the test. The method standardises the execution of the new analysis wizard and
sets up the analysis in the GUI. It also properly destroys the wizard to avoid the memory leaking
issues such as bug #22818.
All GUI tests have been converted to use new_analysis_wizard(). This allows the GUI tests to pass
on MS Windows. However there are still significant sources of memory leaks (the USER Objects count)
visible in the Windows Task Manager.
........
|
2014-10-22 13:28:02
|
Tree
|