Menu

SVN archive Commit Log


Commit Date  
[r27641] by bugman

Created a large set of system tests for implementing the frame_order.distribute user function.

This user function will be similar to frame_order.simulate. However instead of creating a PDB file
with models from a pseudo-Brownian simulation, the frame_order.distribute user function will
generate a PDB file of models forming a uniform distribution of structures covering the full frame
order motional space.

The new system tests are:

Frame_order.test_distribute_double_rotor_mode1_xz_plane_tilt
Frame_order.test_distribute_double_rotor_mode1_z_axis
Frame_order.test_distribute_double_rotor_mode2_xz_plane_tilt
Frame_order.test_distribute_double_rotor_mode2_z_axis
Frame_order.test_distribute_free_rotor_z_axis
Frame_order.test_distribute_iso_cone_z_axis
Frame_order.test_distribute_iso_cone_xz_plane_tilt
Frame_order.test_distribute_iso_cone_torsionless_z_axis
Frame_order.test_distribute_pseudo_ellipse_xz_plane_tilt
Frame_order.test_distribute_pseudo_ellipse_z_axis
Frame_order.test_distribute_pseudo_ellipse_free_rotor_z_axis
Frame_order.test_distribute_pseudo_ellipse_torsionless_z_axis
Frame_order.test_distribute_rotor_z_axis

These are aliases for the equivalent Frame_order.test_simulate_* system tests which have had the
'type' keyword argument added, defaulting to 'sim', which allows to switch between the
frame_order.simulate and frame_order.distribute user functions. The concept behind these system
tests are the same for both user functions, so the code is shared.

2015-02-14 09:38:26 Tree
[r27640] by bugman

Merged revisions 27635-27639 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r27635 | bugman | 2015-02-12 19:42:34 +0100 (Thu, 12 Feb 2015) | 10 lines

Created new system tests for implementing new functionality for the structure.mean user function.

This includes the Structure.test_mean_models and Structure.test_mean_molecules. The idea is to
convert the user function to the new pipes/models/molecules/atom_id design. This will allow
molecules with non-identical sequences and atomic compositions to be averaged. The set_mol_name and
set_model_num arguments from the structure.read_pdb, structure.read_gaussian, and structure.read_xyz
user functions will also be implemented to allow the mean structure to be stored alongside the other
molecules.
........
r27636 | bugman | 2015-02-13 17:05:57 +0100 (Fri, 13 Feb 2015) | 3 lines

Some fixes for the checks in the Structure.test_mean_molecules system test.
........
r27637 | bugman | 2015-02-13 17:06:35 +0100 (Fri, 13 Feb 2015) | 3 lines

Fix for the structure.mean user function call in the Structure.test_mean_models system test.
........
r27638 | bugman | 2015-02-13 17:33:19 +0100 (Fri, 13 Feb 2015) | 7 lines

Expanded the checking in all the Structure.test_mean* system tests to cover all atomic information.

This includes the Structure.test_mean, Structure.test_mean_models, and Structure.test_mean_molecules
system tests. All structural data is now carefully checked to make sure that the structure.mean
user function operates correctly.
........
r27639 | bugman | 2015-02-13 17:45:08 +0100 (Fri, 13 Feb 2015) | 15 lines

Converted the structure.mean user function to the new pipe/model/molecule/atom_id design.

This allows the average structure calculation to work on atomic coordinates from different data
pipes, different structural models, and different molecules. The user function backend uses the new
pipe_control.structure.main.assemble_structural_coordinates() function to assemble the common atom
coordinates, molecule names, residue names, residue numbers, atom names and elements. All this
information is then used to construct a new molecule container for storing the average structure in
the internal structural object.

To allow for the averaged structural data to be stored, the internal structural object method
add_coordinates() has been created. This is modelled on the PDB, Gaussian, and XYZ format loading
methods. The internal structural object mean() method is no longer used, but remains for anyone who
might have interest in the future (though as it is untested, bit-rot will be a problem).
........

2015-02-13 17:21:48 Tree
[r27639] by bugman

Converted the structure.mean user function to the new pipe/model/molecule/atom_id design.

This allows the average structure calculation to work on atomic coordinates from different data
pipes, different structural models, and different molecules. The user function backend uses the new
pipe_control.structure.main.assemble_structural_coordinates() function to assemble the common atom
coordinates, molecule names, residue names, residue numbers, atom names and elements. All this
information is then used to construct a new molecule container for storing the average structure in
the internal structural object.

To allow for the averaged structural data to be stored, the internal structural object method
add_coordinates() has been created. This is modelled on the PDB, Gaussian, and XYZ format loading
methods. The internal structural object mean() method is no longer used, but remains for anyone who
might have interest in the future (though as it is untested, bit-rot will be a problem).

2015-02-13 16:45:08 Tree
[r27638] by bugman

Expanded the checking in all the Structure.test_mean* system tests to cover all atomic information.

This includes the Structure.test_mean, Structure.test_mean_models, and Structure.test_mean_molecules
system tests. All structural data is now carefully checked to make sure that the structure.mean
user function operates correctly.

2015-02-13 16:33:19 Tree
[r27637] by bugman

Fix for the structure.mean user function call in the Structure.test_mean_models system test.

2015-02-13 16:06:35 Tree
[r27636] by bugman

Some fixes for the checks in the Structure.test_mean_molecules system test.

2015-02-13 16:05:57 Tree
[r27635] by bugman

Created new system tests for implementing new functionality for the structure.mean user function.

This includes the Structure.test_mean_models and Structure.test_mean_molecules. The idea is to
convert the user function to the new pipes/models/molecules/atom_id design. This will allow
molecules with non-identical sequences and atomic compositions to be averaged. The set_mol_name and
set_model_num arguments from the structure.read_pdb, structure.read_gaussian, and structure.read_xyz
user functions will also be implemented to allow the mean structure to be stored alongside the other
molecules.

2015-02-12 18:42:34 Tree
[r27634] by bugman

Merged revisions 27631 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r27631 | bugman | 2015-02-12 18:40:34 +0100 (Thu, 12 Feb 2015) | 7 lines

Fix for bug #23265 (https://gna.org/bugs/?23265).

This is the failure of the edit buttons in the user function GUI windows. The problem was that the
column titles of the window opened by the edit button were being incorrectly handled if the
dimensions of the window were not supplied.
........

2015-02-12 17:42:16 Tree
[r27633] by bugman

Merged revisions 27612,27614,27616-27618,27620-27629 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r27612 | bugman | 2015-02-10 12:05:01 +0100 (Tue, 10 Feb 2015) | 10 lines

Huge speed up for the assembly of atomic coordinates from a large number of structures.

The internal structural object validate_models() method was being called once for each structure
when assembling the atomic coordinates. This resulted in the _translate() internal structural
object method, which converts all input data to formatted strings, being called hundreds of millions
of times. The problem was in lib.structure.internal.coordinates.assemble_atomic_coordinates(), in
that the one_letter_codes() method, which calls validate_models(), was called for each molecule
encountered. The solution was not to validate models in one_letter_codes().
........
r27614 | bugman | 2015-02-10 12:54:17 +0100 (Tue, 10 Feb 2015) | 8 lines

Huge speed up of the internal structural object validate_models() method.

The string formatting to create pseudo-PDB records and the large number of calls to the _translate()
method for atomic information string formatting has been shifted to only be called when atomic
information does not match. Instead the structural information is directly compared within a large
if-else statement.
........
r27616 | bugman | 2015-02-10 13:08:00 +0100 (Tue, 10 Feb 2015) | 6 lines

Created the Structure.test_atomic_fluctuations_no_match system test.

This demonstrates a failure in the operation of the structure.atomic_fluctuations user function when
the supplied atom ID matches no atoms.
........
r27617 | bugman | 2015-02-10 13:15:55 +0100 (Tue, 10 Feb 2015) | 6 lines

Fixes for the lib.structure.internal.coordinates.assemble_coord_array() function.

The problem was uncovered by the Structure.test_atomic_fluctuations_no_match system test. The
function can now handle no data being passed in.
........
r27618 | bugman | 2015-02-10 13:19:26 +0100 (Tue, 10 Feb 2015) | 8 lines

Fixes for the pipe_control.structure.main.assemble_structural_coordinates() function.

The function will now raise a RelaxError if no structural data matching the atom ID can be found.
The problem was uncovered by the Structure.test_atomic_fluctuations_no_match system test. The fix
affects the structure.atomic_fluctuations, structure.displacement, structure.find_pivot,
structure.rmsd, structure.superimpose, and structure.web_of_motion user functions.
........
r27620 | bugman | 2015-02-10 13:24:55 +0100 (Tue, 10 Feb 2015) | 6 lines

Fix for the Structure.test_atomic_fluctuations_no_match system test.

The structure.atomic_fluctuations user function will now raise a RelaxError when no data
corresponding to the atom ID can be found, so the test now checks for this.
........
r27621 | bugman | 2015-02-11 09:25:58 +0100 (Wed, 11 Feb 2015) | 3 lines

Created the unit test infrastructure for the lib.structure.internal.object module.
........
r27622 | bugman | 2015-02-11 09:55:57 +0100 (Wed, 11 Feb 2015) | 8 lines

Created the Test_object.test_add_atom_sort unit test.

This is from the _lib._structure._internal.test_object unit test module. The test will be used to
implement the sorting of input data by residue number in the add_atom() internal structural object
method. This will mean that added atoms will be placed in residue sequence order, so that output
PDB files are correctly ordered.
........
r27623 | bugman | 2015-02-11 10:17:07 +0100 (Wed, 11 Feb 2015) | 9 lines

Implementation of methods for sorting sequence data in the internal structural object.

The information is sorted in the molecule container level using the new MolContainer._sort() private
method. This uses the _sort_key() helper method which determines what the new order should be.
This is used as the 'key' argument for the Python sort() method. Instead of list shuffling, new
lists in the correct order are created. Although not memory efficient, this might be faster than
shuffling.
........
r27624 | bugman | 2015-02-11 10:23:45 +0100 (Wed, 11 Feb 2015) | 6 lines

The loading of structural data now sorts the data if the merge flag is True.

The pack_structs() method for sorting the data will now call the new MolContainer._sort() function
is the data is being merged. This is to ensure that the final structural data is correctly ordered.
........
r27625 | bugman | 2015-02-11 10:29:27 +0100 (Wed, 11 Feb 2015) | 3 lines

Fixes for a number of Structure system tests for the sorted structural data changes.
........
r27626 | bugman | 2015-02-11 10:48:24 +0100 (Wed, 11 Feb 2015) | 7 lines

Modified the structure.read_pdb user function backend to skip water molecules.

All residues with the name 'HOH' are now skipped when loading PDB files. This is implemented in the
MolContainer.fill_object_from_pdb() method, and a RelaxWarning is printed listing the residue
numbers of all skipped waters.
........
r27627 | bugman | 2015-02-11 10:49:57 +0100 (Wed, 11 Feb 2015) | 6 lines

Modified the Structure.test_read_pdb_1UBQ system test for the new water skipping feature.

As the structure.read_pdb user function will now skip waters, the last atom in the structural object
will now be the last ubiquitin atom and not the last water atom.
........
r27628 | bugman | 2015-02-11 11:25:41 +0100 (Wed, 11 Feb 2015) | 7 lines

Modified the Test_object.test_add_atom_sort unit test to check atom connectivities.

This is from the _lib._structure._internal.test_object unit test module. The problem is that the
MolContainer._sort() method for sorting the structural data currently does not correctly update the
bonded data structure.
........
r27629 | bugman | 2015-02-11 11:28:15 +0100 (Wed, 11 Feb 2015) | 6 lines

Completed the implementation of the sorting of structural data in the internal structural object.

The MolContainer._sort() private method now changes the connect atom indices in the bonded data
structure to the new sorted indices.
........

2015-02-12 17:41:55 Tree
[r27632] by bugman

Merged revisions 27631 via svnmerge from
svn+ssh://bugman@.../svn/relax/trunk

........
r27631 | bugman | 2015-02-12 18:40:34 +0100 (Thu, 12 Feb 2015) | 7 lines

Fix for bug #23265 (https://gna.org/bugs/?23265).

This is the failure of the edit buttons in the user function GUI windows. The problem was that the
column titles of the window opened by the edit button were being incorrectly handled if the
dimensions of the window were not supplied.
........

2015-02-12 17:41:26 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.