Author: bugman Date: Mon Jul 2 12:21:45 2012 New Revision: 17120 URL: http://svn.gna.org/viewcvs/relax?rev=17120&view=rev Log: Merged revisions 16833-16839,16847,16866,16879,16884,16887,16889,16891,16900-16916,16957,16959,16992,16998,17009,17017-17021,17028,17030,17039-17040,17044,17114-17116 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r16833 | bugman | 2012-06-11 09:27:38 +0200 (Mon, 11 Jun 2012) | 5 lines The Missing_data dialog can now have the parent wx element specified. This is needed when launched from a child window such as the BMRB export window. ........ r16834 | bugman | 2012-06-11 09:30:51 +0200 (Mon, 11 Jun 2012) | 3 lines Removed the word 'used' from the software and scripts GUI list element titles. ........ r16835 | bugman | 2012-06-11 09:31:41 +0200 (Mon, 11 Jun 2012) | 5 lines Added checks to the BMRB export to make sure all necessary data has been input. If not, then the Missing_data dialog will be presented to the user to explain what is required. ........ r16836 | bugman | 2012-06-11 10:05:58 +0200 (Mon, 11 Jun 2012) | 3 lines The completion of the test suite in the GUI mode now sets the controller main gauge to 100%. ........ r16837 | bugman | 2012-06-11 10:15:21 +0200 (Mon, 11 Jun 2012) | 17 lines Python 3 updates for the entire relax code base. The command used was: 2to3 -w \ -f buffer \ -f idioms \ -f set_literal \ -f ws_comma \ -x except \ -x import \ -x imports \ -x long \ -x numliterals \ -x xrange \ relax . ........ r16838 | bugman | 2012-06-11 10:19:08 +0200 (Mon, 11 Jun 2012) | 3 lines Used some colour for the relax GUI terminating print out asking for citations. ........ r16839 | bugman | 2012-06-11 11:48:27 +0200 (Mon, 11 Jun 2012) | 3 lines Updated the release checklist document for the relax 2.0 development series. ........ r16847 | bugman | 2012-06-11 19:55:17 +0200 (Mon, 11 Jun 2012) | 6 lines Spun out the automatic column width formatting code from relax_io.write_spin_data() to write_data(). The write_data() will be useful for many other columnar data printouts, and will write out to any file handles given to it. ........ r16866 | bugman | 2012-06-11 21:05:16 +0200 (Mon, 11 Jun 2012) | 6 lines Bug fix for a segmentation fault occurring during the model-free GUI test. Flushing of the interpreter queue object is needed as some parts of the interface use asynchronous user function calls. ........ r16879 | bugman | 2012-06-12 11:34:42 +0200 (Tue, 12 Jun 2012) | 6 lines Reverted the 2to3 changes of r16837 as these are deadly for Python 2.6! The command used was: svn merge -r16837:16836 . ........ r16884 | bugman | 2012-06-12 17:56:04 +0200 (Tue, 12 Jun 2012) | 3 lines Bug fix for the Sequence GUI input element - the Sequence_list_ctrl class was in the wrong module! ........ r16887 | bugman | 2012-06-12 21:12:00 +0200 (Tue, 12 Jun 2012) | 3 lines Created a script for converting svn logs into the format for release messages. ........ r16889 | bugman | 2012-06-12 23:39:44 +0200 (Tue, 12 Jun 2012) | 6 lines Merged the changes to the CHANGES file from the 2.0.0 tag back into the trunk. The command used was: svn merge -r16887:r16888 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/tags/2.0.0 ........ r16891 | bugman | 2012-06-12 23:52:04 +0200 (Tue, 12 Jun 2012) | 6 lines Merged the remainder of the 2.0.0 tag CHANGES file changes back to trunk. The command used was: svn merge -r16889:r16890 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/tags/2.0.0 ........ r16900 | bugman | 2012-06-13 17:06:56 +0200 (Wed, 13 Jun 2012) | 3 lines Hack for the relax_fit C module compilation to detect supported CPUs for Mac OS X cross compilation. ........ r16901 | bugman | 2012-06-13 20:36:49 +0200 (Wed, 13 Jun 2012) | 3 lines Improved the debugging drawing for the about GUI elements. ........ r16902 | bugman | 2012-06-13 21:10:14 +0200 (Wed, 13 Jun 2012) | 7 lines Bug fix for sizing of the GUI about dialogs - the virtual sizes are now accurately calculated. To do this, the window contents (a wx.BufferedDC instance) is created twice, with the virtual window size exactly calculated in the first pass, and then used to set up the device context in the second. A space is also now added to the end to ensure the border is there. ........ r16903 | bugman | 2012-06-13 21:11:44 +0200 (Wed, 13 Jun 2012) | 5 lines Bug fix for the model-free analysis tab about window - sometimes a grey region would appear at the bottom. This is a problem in at least GTK+ as scrolling is in increments of 20! ........ r16904 | bugman | 2012-06-13 21:45:56 +0200 (Wed, 13 Jun 2012) | 5 lines Bug fix for the grey about windows on MS Windows! All the about windows were grey. The temporary wxPython 2.9.3.1 fix was breaking the Windows GUI! ........ r16905 | bugman | 2012-06-13 21:51:27 +0200 (Wed, 13 Jun 2012) | 6 lines The about model-free dialog no longer has grey at the bottom in MS Windows. The wx.ScrolledWindow.GetScrollPixelsPerUnit() function is now used to determine how many pixels the y scrolling is, and rounds up the virtual size based on that. ........ r16906 | bugman | 2012-06-13 22:47:51 +0200 (Wed, 13 Jun 2012) | 3 lines Added the status/weather-snow-scattered-night Oxygen icon as a wizard graphic for the temperature uf. ........ r16907 | bugman | 2012-06-14 00:05:46 +0200 (Thu, 14 Jun 2012) | 7 lines Created the gui.misc.bitmap_setup() function for handling bitmap alpha correctly on operating systems. This function is required to handle alpha in bitmap on MS Windows so that regions with partial transparency are not blended into the default dark grey colour of Windows' windows. ........ r16908 | bugman | 2012-06-14 14:38:37 +0200 (Thu, 14 Jun 2012) | 6 lines Initialised a look up table in the cdp.mol structure for faster spin access. This look up table will be slowly transitioned to, and should significantly speed up certain operations. ........ r16909 | bugman | 2012-06-14 14:54:56 +0200 (Thu, 14 Jun 2012) | 8 lines Started to fill up the spin ID look up table. The index_molecule() and index_residue() functions have been added to determine the MoleculeList and ResidueList indices of given molecules and residues. These are used by the create_spin for efficiency and to allow the indices (together with the spin index and spin ID string) to be assembled into the look up table. This table is not used anywhere yet. ........ r16910 | bugman | 2012-06-14 15:40:44 +0200 (Thu, 14 Jun 2012) | 6 lines generic_fns.mol_res_spin.create_pseudo_spin() is now adding data to the spin ID look up table. To support this, the return_residue() method now takes the 'indices' argument and returns the molecule and residue indices. ........ r16911 | bugman | 2012-06-14 16:07:52 +0200 (Thu, 14 Jun 2012) | 3 lines Created generic_fns.mol_res_spin.return_spin_from_id() for returning spin containers from spin IDs. ........ r16912 | bugman | 2012-06-14 16:14:08 +0200 (Thu, 14 Jun 2012) | 3 lines Fix for return_residue() for a bug introduced at r16910. ........ r16913 | bugman | 2012-06-14 16:24:16 +0200 (Thu, 14 Jun 2012) | 3 lines Fix for the gui.misc.bitmap_setup() function for Mac OS X - all bitmaps with alpha had black backgrounds! ........ r16914 | bugman | 2012-06-14 16:27:58 +0200 (Thu, 14 Jun 2012) | 5 lines Added the 'pipe' argument to generic_fns.mol_res_spin.return_spin_from_id(). This is to mimic the return_spin() function. ........ r16915 | bugman | 2012-06-14 16:34:52 +0200 (Thu, 14 Jun 2012) | 5 lines return_spin_from_id() now defaults to return_spin() when the spin ID is not in the lookup table. The slower return_spin() method will allow return_spin_from_id() to always be functional. ........ r16916 | bugman | 2012-06-14 17:38:57 +0200 (Thu, 14 Jun 2012) | 6 lines Renamed return_spin_from_id() to return_spin(), and return_spin() to return_spin_from_selection(). This shaves off a number of seconds from the system test - the look up table speed ups will come with support in the other mol_res_spin module functions. ........ r16957 | bugman | 2012-06-19 14:55:38 +0200 (Tue, 19 Jun 2012) | 3 lines The generate_spin_id() function now choses to use the spin name instead of number by default. ........ r16959 | bugman | 2012-06-19 16:06:30 +0200 (Tue, 19 Jun 2012) | 5 lines Created the generic_fns.mol_res_spin.return_spin_indices() function to return the index triplet. This allows a spin ID to be converted into the molecule, residue and spin indices. ........ r16992 | bugman | 2012-06-20 01:33:02 +0200 (Wed, 20 Jun 2012) | 3 lines Bug fix for the relax_data.copy user function - it can now handle spins without relaxation data. ........ r16998 | bugman | 2012-06-20 11:19:32 +0200 (Wed, 20 Jun 2012) | 3 lines Update and clean up of the model-free LaTeX table generation script. ........ r17009 | bugman | 2012-06-21 10:01:59 +0200 (Thu, 21 Jun 2012) | 6 lines Bug fox for the generic_fns.mol_res_spin.return_spin_indices() function. The selection object was using the wrong variable name, and the look up table fallback was always on! ........ r17017 | bugman | 2012-06-21 10:36:48 +0200 (Thu, 21 Jun 2012) | 3 lines The spin ID lookup table has been made private so that it is not included in the save files. ........ r17018 | bugman | 2012-06-21 21:49:43 +0200 (Thu, 21 Jun 2012) | 5 lines Fix for reading of BMRB CSA saveframe data - spin IDs generated from the data now have molecule info. This is problematic only in certain edge cases, for example a multi-molecule entry. ........ r17019 | bugman | 2012-06-21 22:05:06 +0200 (Thu, 21 Jun 2012) | 6 lines Removal of a hack from the generic_fns.bmrb.generate_sequence() function. This hack was for naming unnamed spins. But this is not needed as the generic_fns.mol_res_spin.create_spin() function already does this but with many more safety checks. ........ r17020 | bugman | 2012-06-21 22:18:14 +0200 (Thu, 21 Jun 2012) | 6 lines Removed a hack from the generic_fns.relax_data.pack_data() function for the BMRB support. This calls the generic_fns.bmrb.generate_sequence() function! As non-BMRB code paths access the pack_data() function, this is a nasty hack which would have caused problems in the future. ........ r17021 | bugman | 2012-06-22 13:41:40 +0200 (Fri, 22 Jun 2012) | 26 lines Creation of a fast molecule, residue and spin data lookup framework using private metadata. This consists of two elements: The already existing private lookup table now at cdp.mol._spin_id_lookup which is a dictionary with spin IDs as keys and a list of molecule, residue and spin indices as values; and a set of private variables within the molecule, residue and spin containers which identify the parent container names, numbers and indices. As all data is private, it will not be visible to the user or be saved in the XML results and save files and should be considered volatile. All this private metadata is kept up to date via the two new generic_fns.mol_res_spin functions metadata_prune() and metadata_update(). For fast operation, these methods can update specific container subsets via the mol_index, res_index and spin_index arguments. All parts of relax which modify the data pipe's molecule, residue and spin data structure (the generic_fns.mol_res_spin functions and test suite) call these two functions as needed. Two auxiliary functions spin_id_variants() and spin_id_variants_elim() have been added to create all possible matching spin ID strings for a given spin (the second created IDs strings which should no longer exist). The speed ups from this change are significant. On one system, the system and unit tests decrease from 492.8s/26.4s to 434.3s/25.1s. On another the decrease is from 330.7s/17.4s to 258.9s/15.4s. In addition, the pipe argument has been added to the generic_fns.mol_res_spin functions create_molecule(), create_residue(), create_pseudo_spin() and create_spin(). Also, the molecule name will now always be a string! Previously this was allowed to be an integer. This is needed for the private metadata functions to operate correctly. A number of unit tests have been updated for the changes. ........ r17028 | bugman | 2012-06-22 15:15:56 +0200 (Fri, 22 Jun 2012) | 5 lines The sequence.read user function now fails with a RelaxError if no sequence data was loaded. This is for better user feedback. ........ r17030 | bugman | 2012-06-22 16:12:48 +0200 (Fri, 22 Jun 2012) | 7 lines Fix for the sequence.read user function for a problem with r17028. The sequence.generate() function was not returning the correct result as it didn't take into account the renaming and renumbering of empty spin containers. Now sequence.read will always print out the generated sequence and not result in a RelaxError for most of the system tests. ........ r17039 | bugman | 2012-06-22 18:21:16 +0200 (Fri, 22 Jun 2012) | 5 lines Converted the consistency testing documentation strings to the Uf_tables and Desc_container design. This is needed to use the consistency testing documentation within the user function help system. ........ r17040 | bugman | 2012-06-22 18:23:31 +0200 (Fri, 22 Jun 2012) | 3 lines Added the consistency testing documentation to the grace.write and value.* user functions. ........ r17044 | bugman | 2012-06-25 09:34:49 +0200 (Mon, 25 Jun 2012) | 6 lines Modified the working of the n_state_model.elim_no_prob backend. This user function is not functional anyway and is not tested by the relax test suite, but will remain as it might be useful in the future. ........ r17114 | bugman | 2012-07-02 11:14:28 +0200 (Mon, 02 Jul 2012) | 5 lines Created a system test to replicate Romel Bobby's bug #19887. This is the bug report at https://gna.org/bugs/?19887. ........ r17115 | bugman | 2012-07-02 12:03:02 +0200 (Mon, 02 Jul 2012) | 11 lines Partial fix for bug #19887 (https://gna.org/bugs/?19887). The problem is that the number of peak height values was not the same for all spins! The error message was being caused by the math_fns.relax_fit C object 'setup' function being feed in incorrect values, causing relax to fail directly after the setup() call in specific_fns.relax_fit.minimise(). The number of points was being taken from cdp.relax_times, but in the Relax_fit.test_bug_19887_curvefit_fail system test, one of the 3 spins has 4 points rather than 5. Now the correct number is sent into setup(). ........ r17116 | bugman | 2012-07-02 12:17:23 +0200 (Mon, 02 Jul 2012) | 6 lines A final fix for bug #19887 (https://gna.org/bugs/?19887). Now a RelaxError is raised if the number of peak intensities is not the same for all spins. This occurs in the relaxation curve-fitting overfit_deselect() method. ........ Added: branches/frame_order_testing/graphics/wizards/oxygen-icon-weather-snow-scattered-night.png - copied unchanged from r17116, trunk/graphics/wizards/oxygen-icon-weather-snow-scattered-night.png branches/frame_order_testing/scripts/log_converter.py - copied unchanged from r17116, trunk/scripts/log_converter.py branches/frame_order_testing/test_suite/shared_data/peak_lists/bug_19887/ - copied from r17116, trunk/test_suite/shared_data/peak_lists/bug_19887/ branches/frame_order_testing/test_suite/system_tests/scripts/curve_fitting/bug_19887_curvefit_fail.py - copied unchanged from r17116, trunk/test_suite/system_tests/scripts/curve_fitting/bug_19887_curvefit_fail.py Modified: branches/frame_order_testing/ (props changed) branches/frame_order_testing/data/__init__.py branches/frame_order_testing/data/mol_res_spin.py branches/frame_order_testing/docs/CHANGES branches/frame_order_testing/docs/Release_Checklist branches/frame_order_testing/generic_fns/bmrb.py branches/frame_order_testing/generic_fns/mol_res_spin.py branches/frame_order_testing/generic_fns/relax_data.py branches/frame_order_testing/generic_fns/sequence.py branches/frame_order_testing/gui/about.py branches/frame_order_testing/gui/analyses/auto_model_free.py branches/frame_order_testing/gui/analyses/base.py branches/frame_order_testing/gui/analyses/wizard.py branches/frame_order_testing/gui/components/free_file_format.py branches/frame_order_testing/gui/components/scripts.py branches/frame_order_testing/gui/components/software.py branches/frame_order_testing/gui/controller.py branches/frame_order_testing/gui/export_bmrb.py branches/frame_order_testing/gui/input_elements/sequence.py branches/frame_order_testing/gui/input_elements/sequence_2D.py branches/frame_order_testing/gui/message.py branches/frame_order_testing/gui/misc.py branches/frame_order_testing/gui/pipe_editor.py branches/frame_order_testing/gui/relax_gui.py branches/frame_order_testing/gui/spin_viewer/containers.py branches/frame_order_testing/gui/wizard.py branches/frame_order_testing/relax_io.py branches/frame_order_testing/sample_scripts/model_free/table_latex.py branches/frame_order_testing/sconstruct branches/frame_order_testing/specific_fns/consistency_tests.py branches/frame_order_testing/specific_fns/model_free/bmrb.py branches/frame_order_testing/specific_fns/n_state_model.py branches/frame_order_testing/specific_fns/relax_fit.py branches/frame_order_testing/test_suite/gui_tests/model_free.py branches/frame_order_testing/test_suite/system_tests/relax_fit.py branches/frame_order_testing/test_suite/unit_tests/_generic_fns/test_mol_res_spin.py branches/frame_order_testing/test_suite/unit_tests/molecule_testing_base.py branches/frame_order_testing/test_suite/unit_tests/spin_testing_base.py branches/frame_order_testing/user_functions/grace.py branches/frame_order_testing/user_functions/temperature.py branches/frame_order_testing/user_functions/value.py [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/frame_order_testing/data/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/data/__init__.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/data/mol_res_spin.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/data/mol_res_spin.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/docs/CHANGES URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/CHANGES?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/docs/Release_Checklist URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/Release_Checklist?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/generic_fns/bmrb.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/generic_fns/bmrb.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/generic_fns/mol_res_spin.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/generic_fns/mol_res_spin.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/generic_fns/relax_data.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/generic_fns/relax_data.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/generic_fns/sequence.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/generic_fns/sequence.py?rev=17120&r1=17119&r2=17120&view=diff Modified: branches/frame_order_testing/gui/about.py [... 95 lines stripped ...]