Menu

SVN archive Commit Log


Commit Date  
[r27434] by bugman

The structure.sequence_alignment user function now sets some arguments to None before storage.

This is for all arguments not used in the sequence alignment. For example the residue number based
alignment does not use the gap penalties, pairwise alignment algorithm or the substitution matrices.

2015-01-31 16:59:44 Tree
[r27433] by bugman

Creation of the lib.sequence_alignment.msa.msa_general() function.

This consists of code from the structure.sequence_alignment user function backend function
pipe_control.structure.main.sequence_alignment() for selecting between the different sequence
alignment methods.

2015-01-31 16:56:51 Tree
[r27432] by bugman

Updated the Structure.test_align_CaM_BLOSUM62 system test script.

The MSA algorithm and pairwise alignment algorithms are now specified in the
structure.sequence_alignment user function calls.

2015-01-31 16:54:04 Tree
[r27431] by bugman

Modified the structure.sequence_alignment user function arguments.

The pairwise_algorithm and matrix arguments can no be None, and they default to None.

2015-01-31 16:33:38 Tree
[r27430] by bugman

Corrections and simplifications for the Structure.test_sequence_alignment_residue_number system test.

2015-01-31 16:26:57 Tree
[r27429] by bugman

Created the Structure.test_sequence_alignment_residue_number system test.

This will be used to test the structure.sequence_alignment user function together with the 'residue
number' MSA algorithm. This is simply a copy of the
Structure.test_sequence_alignment_central_star_nw70_blosum62 system test with a few small changes.

2015-01-31 14:17:09 Tree
[r27428] by bugman

Modified the Structure.test_sequence_alignment_central_star_nw70_blosum62 system test.

Some residues are now deleted so that the sequences are not identical.

2015-01-31 14:15:17 Tree
[r27427] by bugman

Renamed the Structure.test_sequence_alignment_molecules system test.

The new name is Structure.test_sequence_alignment_central_star_nw70_blosum62, to better reflect what
the test is doing.

2015-01-31 14:07:35 Tree
[r27426] by bugman

Shifted the residue skipping data structure construction into the relax library.

The code was originally in pipe_control.structure.main.assemble_structural_coordinates() but has
been shifted into the new lib.sequence_alignment.msa.msa_residue_skipping() function. This will
also for greater code reuse. The lib.sequence_alignment.msa module is also a better location for
such functionality.

2015-01-31 12:13:38 Tree
[r27425] by bugman

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

........
r27377 | bugman | 2015-01-30 09:32:26 +0100 (Fri, 30 Jan 2015) | 6 lines

Small fix for the lib.structure.internal.coordinates.assemble_coord_array() function.

The termination condition for determining the residues in common between all structures was
incorrect.
........
r27378 | bugman | 2015-01-30 09:36:46 +0100 (Fri, 30 Jan 2015) | 7 lines

Modified the Structure.test_align_molecules_end_truncation system test.

The calmodulin bound calciums are now deleted prior to the structure.align user function call. This
prevents these being labelled as '*' residues and aligning with real amino acids via the central
star multiple sequence alignment (MSA) algorithm.
........
r27379 | bugman | 2015-01-30 09:59:25 +0100 (Fri, 30 Jan 2015) | 10 lines

Large speed up of the mol-res-spin selection object.

The Selection.contains_mol(), Selection.contains_res() and Selection.contains_spin() methods of the
lib.selection module have been redesigned for speed. Instead of setting a number of flags and
performing bit operations at the end of the method to return the correct Boolean value, each of the
multiple checks now simply returns a Boolean value, avoiding all subsequent checks. The check list
order has also been rearranged so that the least expensive checks are to the top and the most time
intensive checks are last.
........
r27380 | bugman | 2015-01-30 10:30:34 +0100 (Fri, 30 Jan 2015) | 7 lines

Created the new relax data store object for saving sequence alignments.

This is in the new data_store.seq_align module via the Seqence_alignments object, subclassed from
RelaxListType, for holding all alignments and the Alignment Element object, subclassed from Element,
for holding each individual alignment. The objects are currently unused.
........
r27381 | bugman | 2015-01-30 11:03:38 +0100 (Fri, 30 Jan 2015) | 3 lines

Added the seq_align module to the data_store package __all__ list.
........
r27382 | bugman | 2015-01-30 11:04:02 +0100 (Fri, 30 Jan 2015) | 3 lines

Spelling mistake in the Sequence_alignments class name.
........
r27383 | bugman | 2015-01-30 11:33:40 +0100 (Fri, 30 Jan 2015) | 6 lines

Created the Test_seq_align.test_alignment_addition unit test.

This is in the _data_store.test_seq_align unit test module. This tests the setup of the sequence
alignment object via the data_store.seq_align.Sequence_alignment.add() method.
........
r27384 | bugman | 2015-01-30 11:35:11 +0100 (Fri, 30 Jan 2015) | 6 lines

Fixes for the data_store.seq_align.Alignment.generate_id() method.

These problems were identified by the _data_store.test_seq_align module
Test_seq_align.test_alignment_addition unit test.
........
r27385 | bugman | 2015-01-30 11:45:54 +0100 (Fri, 30 Jan 2015) | 7 lines

Added the Test_seq_align.test_find_alignment and Test_seq_align.test_find_missing_alignment unit tests.

These are in the _data_store.test_seq_align unit test module. They check the functionality of the
currently unimplemented Sequence_alignment.find_alignment() method which will be used to return
pre-existing alignments.
........
r27386 | bugman | 2015-01-30 11:57:38 +0100 (Fri, 30 Jan 2015) | 5 lines

Code rearrangement in the _data_store.test_seq_align unit test module.

The ID generation has been shifted into the generate_ids() method to be used by multiple tests.
........
r27387 | bugman | 2015-01-30 11:58:44 +0100 (Fri, 30 Jan 2015) | 5 lines

Implemented the data_store.seq_align.Sequence_alignments.find_alignment() method.

This will only return an alignment if all alignment input data and alignment settings match exactly.
........
r27388 | bugman | 2015-01-30 12:23:40 +0100 (Fri, 30 Jan 2015) | 6 lines

Shifted the data_store.seq_align.Alignment.generate_id() method into the relax library.

It has been converted into the lib.structure.internal.coordinates.generate_id() function to allow
for greater reuse.
........
r27389 | bugman | 2015-01-30 12:35:35 +0100 (Fri, 30 Jan 2015) | 9 lines

Created the Sequence.test_align_molecules system test.

This will be used to implement the sequence.align user function which will be used for performing
sequence alignments on structural data within the relax data store and storing the data in the data
pipe independent sequence_alignments data store object (which will be an instance of
data_store.seq_align.Sequence_alignments). The system test also checks the XML saving and loading
of the ds.sequence_alignments data structure.
........
r27390 | bugman | 2015-01-30 12:46:23 +0100 (Fri, 30 Jan 2015) | 8 lines

Renamed the Sequence.test_align_molecules system test to Structure.test_sequence_alignment_molecules.

As the sequence alignment is dependent on the structural data in the relax data store, the user
function for sequence alignment would be better named as structure.sequence_alignment. The
sequence.align user function is not appropriate as all other sequence user functions relate to the
molecule, residue, and spin data structure of each data pipe rather than to the structural data.
........
r27391 | bugman | 2015-01-30 14:46:12 +0100 (Fri, 30 Jan 2015) | 6 lines

Modified the Structure.test_sequence_alignment_molecules system test.

Changed and expanded the arguments to the yet to be implemented structure.sequence_alignment user
function.
........
r27392 | bugman | 2015-01-30 15:40:38 +0100 (Fri, 30 Jan 2015) | 8 lines

Important formatting improvement for the description in the GUI user function windows.

Previously lists, item lists, and prompt items were spaced with one empty line at the top and two at
the bottom. The two empty lines at the bottom was an accident caused by how the list text elements
were built up. Now the final newline character is stripped so that the top and bottom of the lists
only consist of one empty line. The change can give a lot more room in the GUI window.
........
r27393 | bugman | 2015-01-30 15:50:18 +0100 (Fri, 30 Jan 2015) | 7 lines

Created the frontend for the structure.sequence_alignment user function.

This is based on the structure.align user function with the 3D superimposition arguments removed and
new arguments added for selecting the MSA algorithm and the pairwise alignment algorithm (despite
only NW70 being currently implemented).
........
r27394 | bugman | 2015-01-30 16:27:19 +0100 (Fri, 30 Jan 2015) | 8 lines

Modified the assemble_coordinates() function of the pipe_control.structure.main module.

The function has been renamed to assemble_structural_objects(). The call to the
lib.structure.internal.coordinates.assemble_coord_array() function has also been shifted out of
assemble_structural_objects() to simplify the logic and decrease the amount of arguments passed
around.
........
r27395 | bugman | 2015-01-30 16:55:13 +0100 (Fri, 30 Jan 2015) | 7 lines

Spun out the atomic assembly code of the assemble_coord_array() function.

The code from the lib.structure.internal.coordinates.assemble_coord_array() function has been
shifted to the new assemble_atomic_coordinates(). This is to simplify assemble_coord_array() as
well as to isolate the individual functionality for reuse.
........
r27396 | bugman | 2015-01-30 17:20:04 +0100 (Fri, 30 Jan 2015) | 6 lines

Implemented the backend of the structure.sequence_alignment user function.

This checks some of the input parameters, assembles the structural objects then the atomic
coordinate information, performs the multiple sequence alignment, and then stores the results.
........
r27397 | bugman | 2015-01-30 17:31:48 +0100 (Fri, 30 Jan 2015) | 6 lines

Fixes for the sequence alignment objects for the relax data store.

The Sequence_alignments(RelaxListType) and Alignment(Element) classes were not being set up
correctly. The container names and descriptions were missing.
........
r27398 | bugman | 2015-01-30 17:34:36 +0100 (Fri, 30 Jan 2015) | 5 lines

The data store ds.sequence_alignment object is now being treated as special and is blacklisted.

The object is now explicitly recreated in the data store from_xml() method.
........
r27399 | bugman | 2015-01-30 17:42:54 +0100 (Fri, 30 Jan 2015) | 3 lines

Fix for a fatal bug introduced in the last commit (r27398).
........
r27400 | bugman | 2015-01-30 17:52:57 +0100 (Fri, 30 Jan 2015) | 6 lines

More advanced support for different numpy number types in the lib.xml relax library module.

This allows numpy int16, int32, float32, and float64 objects to be stored and retrieved from relax
XML save and results files.
........
r27401 | bugman | 2015-01-30 18:03:56 +0100 (Fri, 30 Jan 2015) | 3 lines

Fixes for handling the sequence_alignments data store object.
........
r27402 | bugman | 2015-01-30 18:04:44 +0100 (Fri, 30 Jan 2015) | 5 lines

Implemented the data store Sequence_alignments.from_xml() method.

This method is required for being able to read RelaxListType objects from the XML file.
........
r27403 | bugman | 2015-01-30 18:52:30 +0100 (Fri, 30 Jan 2015) | 8 lines

Modified the data returned by lib.structure.internal.coordinates.assemble_atomic_coordinates().

The function will now assemble simple lists of object IDs, model numbers and molecule names with
each list element corresponding to a different structural model. This will be very useful for
converting from the complicated pipes, models, and molecules user function arguments into relax data
store independent flat lists.
........
r27404 | bugman | 2015-01-30 18:54:08 +0100 (Fri, 30 Jan 2015) | 7 lines

Updates for the structure.sequence_alignment user function.

This is for the changes to the lib.structure.internal.coordinates.assemble_atomic_coordinates()
function return values. The new object ID, model, and molecule flat lists are used directly for
storing the alignment results in the relax data store.
........
r27405 | bugman | 2015-01-30 19:46:14 +0100 (Fri, 30 Jan 2015) | 6 lines

Updates for the Structure.test_sequence_alignment_molecules system test.

This is required due to the changes in the backend of the structure.sequence_alignment user
function.
........
r27406 | bugman | 2015-01-31 10:02:45 +0100 (Sat, 31 Jan 2015) | 11 lines

Merger of the structure.align and structure.superimpose user functions.

The final user function is called structure.superimpose. As the sequence alignment component of the
structure.align user function has been shifted into the new structure.sequence_alignment user
function and the information is now stored in ds.sequence_alignments relax data store object, the
functionality of structure.align and structure.superimpose are now essentially the same. The
sequence alignment arguments and documentation has also been eliminated. And the documentation has
been updated to say that sequence alignments from structure.sequence_alignment will be used for
superimposing the structures.
........
r27407 | bugman | 2015-01-31 10:03:50 +0100 (Sat, 31 Jan 2015) | 3 lines

Updated the Structure system tests for the structure.align and structure.superimpose user function merger.
........
r27408 | bugman | 2015-01-31 10:13:27 +0100 (Sat, 31 Jan 2015) | 5 lines

Fix for the structure.sequence_alignment user function.

The alignment data should be stored in ds.sequence_alignments rather than ds.sequence_alignment.
........
r27409 | bugman | 2015-01-31 10:17:58 +0100 (Sat, 31 Jan 2015) | 6 lines

Sequence alignments can now be retrieved without supplying the algorithm settings.

This is in the data_store.seq_align.Sequence_alignments.find_alignment() method. The change allows
for the retrieval of pre-existing sequence alignments at any stage.
........
r27410 | bugman | 2015-01-31 11:32:07 +0100 (Sat, 31 Jan 2015) | 15 lines

Added a function for assemble the common atomic coordinates taking sequence alignments into account.

This is the new pipe_control.structure.main.assemble_structural_coordinates() function. It takes
the sequence alignment logic out of the lib.structure.internal.coordinates.assemble_coord_array()
function so that sequence alignments in the relax data store can be used. The logic has also been
redefined as: 1, use a sequence alignment from the relax data store if present; 2, use no sequence
alignment if coordinates only come from structural models; 3, fall back to a residue number based
alignment. The residue number based alignment is yet to be implemented.

As a consequence, the lib.structure.internal.coordinates.assemble_coord_array() function has been
greatly simplified. It no longer handles sequence alignments, but instead expects the residue
skipping data structure, built from the alignment, as an argument. The seq_info_flag argument has
also been eliminated in this function as well as the pipe_control.structure.main module.
........
r27411 | bugman | 2015-01-31 11:36:34 +0100 (Sat, 31 Jan 2015) | 7 lines

Updated the structure.displacement user function for the changed atomic assembly logic.

This now uses the assemble_structural_coordinates() function of the pipe_control.structure.main
module to obtain the common coordinates based on pre-existing sequence alignments, no-alignment, or
the default of a residue number based alignment.
........
r27412 | bugman | 2015-01-31 11:37:29 +0100 (Sat, 31 Jan 2015) | 7 lines

Updated the structure.find_pivot user function for the changed atomic assembly logic.

This now uses the assemble_structural_coordinates() function of the pipe_control.structure.main
module to obtain the common coordinates based on pre-existing sequence alignments, no-alignment, or
the default of a residue number based alignment.
........
r27413 | bugman | 2015-01-31 11:38:34 +0100 (Sat, 31 Jan 2015) | 7 lines

Updated the structure.atomic_fluctuations user function for the changed atomic assembly logic.

This now uses the assemble_structural_coordinates() function of the pipe_control.structure.main
module to obtain the common coordinates based on pre-existing sequence alignments, no-alignment, or
the default of a residue number based alignment.
........
r27414 | bugman | 2015-01-31 11:39:41 +0100 (Sat, 31 Jan 2015) | 7 lines

Updated the structure.rmsd user function for the changed atomic assembly logic.

This now uses the assemble_structural_coordinates() function of the pipe_control.structure.main
module to obtain the common coordinates based on pre-existing sequence alignments, no-alignment, or
the default of a residue number based alignment.
........
r27415 | bugman | 2015-01-31 11:40:22 +0100 (Sat, 31 Jan 2015) | 7 lines

Updated the structure.web_of_motion user function for the changed atomic assembly logic.

This now uses the assemble_structural_coordinates() function of the pipe_control.structure.main
module to obtain the common coordinates based on pre-existing sequence alignments, no-alignment, or
the default of a residue number based alignment.
........
r27416 | bugman | 2015-01-31 11:42:52 +0100 (Sat, 31 Jan 2015) | 5 lines

Fix for the structure.superimpose user function if no data pipes are supplied.

This reintroduces the pipes list construction.
........
r27417 | bugman | 2015-01-31 11:49:51 +0100 (Sat, 31 Jan 2015) | 6 lines

Fix for the new pipe_control.structure.main.assemble_structural_coordinates() function.

The atom_id argument is now passed into the assemble_atomic_coordinates() function of the
lib.structure.internal.coordinates module so that atom subsets are once again recognised.
........
r27418 | bugman | 2015-01-31 11:54:29 +0100 (Sat, 31 Jan 2015) | 5 lines

Another fix for the new pipe_control.structure.main.assemble_structural_coordinates() function.

The logic for determining if only models will be superimposed was incorrect.
........
r27419 | bugman | 2015-01-31 12:04:18 +0100 (Sat, 31 Jan 2015) | 7 lines

Implemented the residue number based alignment in the atomic assembly function.

This is in the new pipe_control.structure.main.assemble_structural_coordinates() function. The code
for creating the residue skipping data structure is now shared between the three sequence alignment
options.
........
r27420 | bugman | 2015-01-31 12:21:57 +0100 (Sat, 31 Jan 2015) | 8 lines

Implemented the multiple sequence alignment method based on residue numbers.

This is the new msa_residue_numbers() function in the lib.sequence_alignment.msa module. The logic
is rather basic in that the alignment is based on a residue number range from the lowest residue
number to the highest - i.e. it does not take into account gaps in common between all input
sequences.
........
r27421 | bugman | 2015-01-31 12:24:09 +0100 (Sat, 31 Jan 2015) | 5 lines

The residue number based sequence alignment is now executed when assembling atomic coordinates.

This is in the assemble_structural_coordinates() function of the pipe_control.structure.main module.
........
r27422 | bugman | 2015-01-31 12:41:37 +0100 (Sat, 31 Jan 2015) | 6 lines

Modified the internal structural object one_letter_codes() method.

This now validates the models to make sure all models match, and the method requires the selection
object so that residue subsets can be handled.
........
r27423 | bugman | 2015-01-31 12:42:39 +0100 (Sat, 31 Jan 2015) | 5 lines

The assemble_atomic_coordinates() function now calls one_letter_codes() with the selection object.

This is the lib.structure.internal.coordinates module function.
........
r27424 | bugman | 2015-01-31 12:44:26 +0100 (Sat, 31 Jan 2015) | 6 lines

Fix for the residue number based sequence alignment when assembling structural coordinates.

This is in the assemble_structural_coordinates() function of the pipe_control.structure.main module.
The sequences of the different molecules can be of different lengths.
........

2015-01-31 11:46:48 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.