Author: bugman Date: Fri Oct 2 11:30:10 2015 New Revision: 27938 URL: http://svn.gna.org/viewcvs/relax?rev=27938&view=rev Log: Merged revisions 24352,24358,24366-24379,24385,24397,24402-24406,24409-24411 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/frame_order_cleanup ........ r24352 | bugman | 2014-06-27 17:47:15 +0200 (Fri, 27 Jun 2014) | 7 lines Shifted the rotor generation for the frame order geometric representation into its own function. This is the specific_analyses.frame_order.geometric.add_rotors() function which adds the rotors are new structures to a given internal structural object. The code has been extended to add support for the double rotor model. ........ r24358 | bugman | 2014-06-27 18:36:44 +0200 (Fri, 27 Jun 2014) | 6 lines Removed unused imports. This is from the splitting of the specific_analyses.frame_order.uf module into the new geometric module. ........ r24366 | bugman | 2014-07-01 09:13:39 +0200 (Tue, 01 Jul 2014) | 6 lines Fix for the pivots created by the specific_analyses.frame_order.data.generate_pivot() function. This is for the double rotor model where the 1st mode of motion is about the 2nd pivot, and the 2nd mode of motion about the 1st pivot. ........ r24367 | bugman | 2014-07-01 11:11:25 +0200 (Tue, 01 Jul 2014) | 5 lines Fixes for the cone geometric representation in the internal structural object. The representation can now be created if the given MoleculeContainer object is empty. ........ r24368 | bugman | 2014-07-01 11:40:21 +0200 (Tue, 01 Jul 2014) | 10 lines Refactored the frame order geometric motional representation code. The code of the specific_analyses.frame_order.geometric.create_geometric_rep() function has been spun out into 3 new functions: add_rotors(), add_axes(), and add_cones(). This is to better isolate the various elements to allow for better control. Each function now adds the atoms for its geometric representation to a separate molecule called 'axes' or 'cones'. The add_rotors() does not create a molecule as the lib.structure.represent.rotor.rotor_pdb() function creates its own. As part of the rafactorisation, the neg_cone flag has been eliminated. ........ r24369 | bugman | 2014-07-01 11:46:58 +0200 (Tue, 01 Jul 2014) | 7 lines Renamed the residues of the rotor geometric object representation. The rotor axis atoms now belong to the RTX residue and the propeller blades to the RTB residue. The 'RT' at the start represents the rotor and this will allow all the geometric objects to be better isolated. ........ r24370 | bugman | 2014-07-01 11:59:05 +0200 (Tue, 01 Jul 2014) | 7 lines Improvements to the internal structural object _get_chemical_name() method. This now uses a translation table to convert the hetID or residue name into a description, for example as used in the PDB HETNAM records to give a human readable description of the residue inside the PDB file itself. The new rotor RTX and RTB residue names have been added to the table as well. ........ r24371 | bugman | 2014-07-01 12:04:41 +0200 (Tue, 01 Jul 2014) | 3 lines Typo fix for r24368, the 'cones' molecule was mistyped. ........ r24372 | bugman | 2014-07-01 12:18:03 +0200 (Tue, 01 Jul 2014) | 10 lines Renaming of the residues of the cone geometric representation. The cone apex or centre is now the CNC residue, the cone axis is now CNX and the cone edge is now CNE. These used to be APX, AXE, and EDG respectively. The aim is to make these names 100% specific to the cone object so that they can be more easily selected for manipulating the representation and so that they are more easily identifiable. The internal structural object _get_chemical_name() function now returns a description for each of these. Note that the main cone object is still named CON. ........ r24373 | bugman | 2014-07-01 12:42:41 +0200 (Tue, 01 Jul 2014) | 8 lines The motional pivots for the frame order models are now labelled in the geometric representation. The pivot points are now added as a new molecule called 'pivots' in the frame_order.pdb_model user function. The atoms all belong to the PIV residue. The pymol.frame_order user function now selects this residue, hides its atoms, and then shows the atom name 'Piv' as the label. For the double rotor model, the atom names 'Piv1' and 'Piv2' are used to differentiate the pivots. ........ r24374 | bugman | 2014-07-01 12:51:23 +0200 (Tue, 01 Jul 2014) | 6 lines Renamed the lib.structure.represent.rotor.rotor_pdb() function to rotor(). This function is not PDB specific and it just creates a 3D structural representation of a rotor object. ........ r24375 | bugman | 2014-07-01 13:49:54 +0200 (Tue, 01 Jul 2014) | 15 lines Added support for labels in the rotor geometric object for the internal structural object. The labels are created by the frame_order.pdb_model user function backend. For the double rotor model, these are 'x-ax' and 'y-ax'. For all other models, the label is 'z-ax'. The labels are then sent into the lib.structure.represent.rotor.rotor() function via the new label argument. This function adds two new atoms to the rotor molecule which are 2 Angstrom outside of the rotor span and lying on the rotor axis. These then have their atom name set to the label. The residue name is set to the new RTL name which has been added to the internal structural object _get_chemical_name() method to describe the residue in the PDB file for the user. Finally the pymol.frame_order user function selects these atoms, hides them and then labels them using the atom name (x-ax, y-ax, or z-ax). ........ r24376 | bugman | 2014-07-01 14:20:02 +0200 (Tue, 01 Jul 2014) | 5 lines Modified the rotor representation generated by the pymol.frame_order user function. This is to make the object less bulky. ........ r24377 | bugman | 2014-07-01 16:17:10 +0200 (Tue, 01 Jul 2014) | 17 lines Redesign of the axis geometric representation for the frame order motions. This is now much more model dependent to avoid clashes with the rotor objects and other representations: - For the torsionless isotropic cone, a single z-axis is created. - For the double rotor, a single z-axis is produced connecting the two pivots, from pivot2 to pivot1. - For the pseudo-ellipse and free rotor pseudo-ellipse, the x and y-axes are created. - For the torsionless pseudo-ellipse, all three x, y and z-axes are created. - For all other models, no axis system is produced as this has been made redundant by the rotor objects. ........ r24378 | bugman | 2014-07-01 16:26:41 +0200 (Tue, 01 Jul 2014) | 5 lines Fixes for the cone geometric object created by the frame_order.pdb_model user function. This was broken by the code refactoring and now works again for the pseudo-ellipse models. ........ r24379 | bugman | 2014-07-01 16:46:08 +0200 (Tue, 01 Jul 2014) | 8 lines Fix for the pymol.frame_order user function. The representation function for the rotor objects was hiding all parts of the representation, hence the pivot labels where being hidden. To fix this, the hiding of the geometric object now occurs in the base frame_order_geometric() function prior to setting up the representations for the various objects. ........ r24385 | bugman | 2014-07-01 18:08:30 +0200 (Tue, 01 Jul 2014) | 11 lines Started to redesign the frame_order.pdb_model user function. Instead of having the positive and negative representations in different PDB models, and the Monte Carlo simulations in different molecules, these will now all be shifted into separate files. For this to be possible, the file root rather than file names must now be supplied to the frame_order.pdb_model user function. To allow for different file compression, the compress_type argument is now used. The backend code correctly handles the file root change, but the multiple files are not created yet. ........ r24397 | bugman | 2014-07-02 09:54:00 +0200 (Wed, 02 Jul 2014) | 19 lines Python 3 fixes using the 2to3 script. Fatal changes to the multi.processor module were reverted. The command used was: 2to3 -j 4 -w \ -f buffer \ -f idioms \ -f set_literal \ -f ws_comma \ -x except \ -x import \ -x imports \ -x long \ -x numliterals \ -x xrange \ . ........ r24402 | bugman | 2014-07-02 11:57:18 +0200 (Wed, 02 Jul 2014) | 5 lines Improvements to the lib.structure.represent.rotor.rotor() function for handling models. The 'rotor', 'rotor2', or 'rotor3' molecule name determination is now also model specific. ........ r24403 | bugman | 2014-07-02 11:59:23 +0200 (Wed, 02 Jul 2014) | 7 lines The frame order generate_pivot() function can now return the pivots for Monte Carlo simulations. This is the specific_analyses.frame_order.data.generate_pivot() function. The sim_index argument has been added to the function which will allow the pivots from the Monte Carlo simulations to be returned. If the pivot was fixed, then the original pivot will be returned instead. ........ r24404 | bugman | 2014-07-02 13:40:45 +0200 (Wed, 02 Jul 2014) | 3 lines Test suite fixes for the recent redesign of the frame_order.pdb_model user function. ........ r24405 | bugman | 2014-07-02 13:42:36 +0200 (Wed, 02 Jul 2014) | 3 lines Fixes for the frame_order.pdb_model user function for the rotor and free rotor models. ........ r24406 | bugman | 2014-07-02 13:59:36 +0200 (Wed, 02 Jul 2014) | 17 lines Redesign of the geometric object representation part of the frame_order.pdb_model user function. The positive and negative representations of the frame order motions have been separated out into two PDB files rather than being two models of one PDB file. This will help the user understand that there are two identical representations of the motions, as both will now be displayed rather than having to understand the model concept of PyMOL. The file root is taken, for example 'frame_order', and the files 'frame_order_pos.pdb' and 'frame_order_neg.pdb' are created. If no inverse representation exists for the model, the file 'frame_order.pdb' will be created instead. The Monte Carlo simulations are now also treated differently. Rather than showing multiple vectors in the axes representation component within one molecule in the same file as the frame order representation, these are now in their own file and each simulation is now a different model. If an inverse representation is present, then the positive representation will go into the file 'frame_order_sim_pos.pdb', for example, and the negative representation into the file 'frame_order_sim_neg.pdb'. Otherwise the file 'frame_order_sim.pdb' will be created. ........ r24409 | bugman | 2014-07-02 14:51:29 +0200 (Wed, 02 Jul 2014) | 5 lines Clean up of the frame_order.pdb_model user function definitions. Some elements were no longer of use, and some descriptions have been updated. ........ r24410 | bugman | 2014-07-02 14:53:21 +0200 (Wed, 02 Jul 2014) | 6 lines Redesign of the pymol.frame_order user function to match the redesign of frame_order.pdb_model. The file names are no longer given but rather the file root. Then all PDB files matching that file root in the given directory will be loaded into PyMOL. ........ r24411 | bugman | 2014-07-02 15:19:46 +0200 (Wed, 02 Jul 2014) | 5 lines Updated all of the frame order scripts for the frame_order.pdb_model and pymol.frame_order changes. These are the scripts for the CaM frame order test data. ........ Modified: trunk/ (props changed) trunk/lib/structure/internal/object.py trunk/lib/structure/represent/cone.py trunk/lib/structure/represent/rotor.py trunk/pipe_control/pymol_control.py trunk/pipe_control/structure/geometric.py trunk/specific_analyses/frame_order/data.py trunk/specific_analyses/frame_order/geometric.py trunk/specific_analyses/frame_order/uf.py trunk/target_functions/frame_order.py trunk/test_suite/shared_data/frame_order/cam/double_rotor/frame_order.py trunk/test_suite/shared_data/frame_order/cam/double_rotor/system_create.py trunk/test_suite/shared_data/frame_order/cam/free_rotor/frame_order.py trunk/test_suite/shared_data/frame_order/cam/free_rotor2/frame_order.py trunk/test_suite/shared_data/frame_order/cam/free_rotor_missing_data/frame_order.py trunk/test_suite/shared_data/frame_order/cam/iso_cone/frame_order.py trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor/frame_order.py trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor2/frame_order.py trunk/test_suite/shared_data/frame_order/cam/iso_cone_torsionless/frame_order.py trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse/frame_order.py trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse2/frame_order.py trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_free_rotor/frame_order.py trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_torsionless/frame_order.py trunk/test_suite/shared_data/frame_order/cam/represent_frame_order.py trunk/test_suite/shared_data/frame_order/cam/rigid/frame_order.py trunk/test_suite/shared_data/frame_order/cam/rigid/rotor_analysis/frame_order.py trunk/test_suite/shared_data/frame_order/cam/rotor/frame_order.py trunk/test_suite/shared_data/frame_order/cam/rotor2/frame_order.py trunk/test_suite/shared_data/frame_order/cam/rotor_2_state/frame_order.py trunk/test_suite/shared_data/frame_order/cam/rotor_small_angle/frame_order.py trunk/test_suite/shared_data/frame_order/timings/multi_tensor_projections.py trunk/test_suite/shared_data/frame_order/timings/tensor_projections.py trunk/test_suite/system_tests/scripts/frame_order/cam/base_script.py trunk/user_functions/frame_order.py trunk/user_functions/pymol_control.py [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/lib/structure/internal/object.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/structure/internal/object.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/lib/structure/represent/cone.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/structure/represent/cone.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/lib/structure/represent/rotor.py URL: http://svn.gna.org/viewcvs/relax/trunk/lib/structure/represent/rotor.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/pipe_control/pymol_control.py URL: http://svn.gna.org/viewcvs/relax/trunk/pipe_control/pymol_control.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/pipe_control/structure/geometric.py URL: http://svn.gna.org/viewcvs/relax/trunk/pipe_control/structure/geometric.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/specific_analyses/frame_order/data.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/frame_order/data.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/specific_analyses/frame_order/geometric.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/frame_order/geometric.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/specific_analyses/frame_order/uf.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/frame_order/uf.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/target_functions/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/target_functions/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/double_rotor/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/double_rotor/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/double_rotor/system_create.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/double_rotor/system_create.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/free_rotor/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/free_rotor/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/free_rotor2/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/free_rotor2/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/free_rotor_missing_data/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/free_rotor_missing_data/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/iso_cone/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/iso_cone/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor2/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/iso_cone_free_rotor2/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/iso_cone_torsionless/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/iso_cone_torsionless/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse2/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse2/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_free_rotor/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_free_rotor/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_torsionless/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/pseudo_ellipse_torsionless/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/represent_frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/represent_frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/rigid/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/rigid/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/rigid/rotor_analysis/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/rigid/rotor_analysis/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/rotor/frame_order.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/frame_order/cam/rotor/frame_order.py?rev=27938&r1=27937&r2=27938&view=diff Modified: trunk/test_suite/shared_data/frame_order/cam/rotor2/frame_order.py [... 23 lines stripped ...]