Author: bugman Date: Mon Oct 15 14:54:26 2012 New Revision: 17807 URL: http://svn.gna.org/viewcvs/relax?rev=17807&view=rev Log: Merged revisions 17687,17689-17691,17693,17697-17737,17776-17778,17780-17806 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ................ r17687 | bugman | 2012-10-02 18:55:31 +0200 (Tue, 02 Oct 2012) | 5 lines Another Python 3 fix for the relax_io.extract_data() function. Sometimes this function sees byte types, sometimes string types. The function can now handle both. ................ r17689 | bugman | 2012-10-02 23:51:32 +0200 (Tue, 02 Oct 2012) | 3 lines Python 3 bug fix for the geometric structure module - another integer division to float problem. ................ r17690 | bugman | 2012-10-03 00:09:30 +0200 (Wed, 03 Oct 2012) | 3 lines The Python 3 dictionary values() method no longer returns a list, so a list() call is needed. ................ r17691 | bugman | 2012-10-03 01:26:26 +0200 (Wed, 03 Oct 2012) | 6 lines Bug fix for wxPython 2.9.4.0 - the unsetting of the alpha mask for all bitmap images should now work. The wx.Bitmap.SetMaskColour(None) call does not work, so instead a wx.Colour() instance is passed in instead. ................ r17693 | bugman | 2012-10-03 22:46:34 +0200 (Wed, 03 Oct 2012) | 6 lines Fix to the DummyFileObject to allow Python 2.5 and lower to run relax. The byte arrays are now placed in eval() statements to allow the 2.5 and lower interpreters to parse the code. ................ r17697 | bugman | 2012-10-04 18:20:51 +0200 (Thu, 04 Oct 2012) | 7 lines Added the Mf.test_bug_20213_asn_sidechain() system test to catch bug #20213. The data and script comes from the files 'sh3-47.2.zip' and 'run.py' attached to the bug report https://gna.org/bugs/?20213. The PDB now only contains Asp47, the optimisation parameters have been made almost insignificant, and all models but 'tm0' have been removed from the analysis. ................ r17698 | bugman | 2012-10-04 18:23:16 +0200 (Thu, 04 Oct 2012) | 3 lines The Mf.test_bug_20213_asn_sidechain() system test now uses a temporary directory for output. ................ r17699 | bugman | 2012-10-04 18:37:56 +0200 (Thu, 04 Oct 2012) | 5 lines Created the simple Sequence.test_sequence_copy() system test to catch bug #20213. https://gna.org/bugs/?20213. ................ r17700 | bugman | 2012-10-04 19:02:08 +0200 (Thu, 04 Oct 2012) | 8 lines Fix for bug #20213 (https://gna.org/bugs/?20213). The problem was that the generic_fns.sequence.generate() function was searching for a spin based on its spin ID generated from the spin name and not spin number. Hence two spins with the same name but different numbers were treated as the same spin, and only data from one was being generated via the copy() function. ................ r17701 | bugman | 2012-10-05 18:42:15 +0200 (Fri, 05 Oct 2012) | 8 lines Created the relax_io.readlines method for handling the bz2 and gzip module byte strings in Python 3. The bz2.BZ2File and gzip.GzipFile classes now return lists of bytes strings from their readlines() methods in Python 3. This causes failures all over relax. This behaviour is probably a bug in these classes. The relax_io.readlines method is a workaround for this problem, to have a list of standard strings returned. ................ r17702 | bugman | 2012-10-05 18:43:11 +0200 (Fri, 05 Oct 2012) | 3 lines Python 3 bug fix for the internal PDB and XYZ 3D structure readers by using relax_io.readlines(). ................ r17703 | bugman | 2012-10-05 19:39:17 +0200 (Fri, 05 Oct 2012) | 3 lines First attempt at making the relaxation curve-fitting C module Python 3 compatible. ................ r17704 | bugman | 2012-10-05 19:45:46 +0200 (Fri, 05 Oct 2012) | 3 lines The relaxation curve-fitting C module now supports compilation on both Python 2 and 3. ................ r17705 | bugman | 2012-10-05 19:48:03 +0200 (Fri, 05 Oct 2012) | 6 lines The relax_fit specific analysis module now supports both Python 2 and 3. The command used was: 2to3 -w specific_fns/relax_fit.py ................ r17706 | bugman | 2012-10-07 15:00:19 +0200 (Sun, 07 Oct 2012) | 3 lines Added a script for testing out the C module compilation on multiple python targets. ................ r17707 | bugman | 2012-10-07 15:13:52 +0200 (Sun, 07 Oct 2012) | 3 lines Finished off the C module compilation testing script. ................ r17708 | bugman | 2012-10-07 15:16:28 +0200 (Sun, 07 Oct 2012) | 3 lines Renamed the 'scripts' directory to 'devel_scripts' so that users are less likely to ask about the scripts. ................ r17709 | bugman | 2012-10-07 15:26:15 +0200 (Sun, 07 Oct 2012) | 3 lines The manual C module compilation script is now executable. ................ r17710 | bugman | 2012-10-07 15:37:52 +0200 (Sun, 07 Oct 2012) | 3 lines Added the IO module to the relax information print out and dependency checks. ................ r17711 | bugman | 2012-10-07 15:40:50 +0200 (Sun, 07 Oct 2012) | 7 lines The relax_io.open_read_file() now supports all Python versions over 2.4. This required some really nasty hacks for Python 3.0, 3.1 and 3.2 with the Bzip2Fixed and GzipFixed classes overriding the incomplete and buggy bz2.BZ2File and gzip.GzipFile modules, and being wrapped around io.TextIOWrapper(). ................ r17712 | bugman | 2012-10-07 15:50:10 +0200 (Sun, 07 Oct 2012) | 11 lines Reverted revisions r17702, r17701, r17693, r17687, r17685, r17684, and r17669. The command used were: svn merge -r17702:17669 relax_io.py svn merge -r17702:r17701 /data/relax/relax-trunk/generic_fns/structure/internal.py The relax_io module should now handle all files as text, independent of compression. These reverted revisions were attempts at fixing the buggy behaviour of Python 3.0, 3.1 and 3.2. But now the io.TextIOWrapper() class is being used to eliminate the byte streams, which should be text streams. ................ r17713 | bugman | 2012-10-07 15:56:44 +0200 (Sun, 07 Oct 2012) | 3 lines The C module compilation testing script now accepts the Python version as a first argument. ................ r17714 | bugman | 2012-10-07 16:15:02 +0200 (Sun, 07 Oct 2012) | 6 lines Reverted r17681 as file objects in relax are now always treated as text, so byte streams are not needed. The command used was: svn merge -r17681:r17680 . ................ r17715 | bugman | 2012-10-07 16:29:56 +0200 (Sun, 07 Oct 2012) | 5 lines Python 3 fix for the Pipes.test_pipe_bundle() system test. The order of bundle names returned by generic_fns.pipes.bundle_names() is not guaranteed in Python 3. ................ r17716 | bugman | 2012-10-07 16:38:01 +0200 (Sun, 07 Oct 2012) | 5 lines For consistency between Python 2 and 3, the grace.write user function outputs to 15 decimal places. This increased precision will only be of use in the relax test suite. ................ r17717 | bugman | 2012-10-07 16:38:43 +0200 (Sun, 07 Oct 2012) | 3 lines Python 3 fix for the Noe.test_noe_analysis() system test for the grace.write precision changes. ................ r17718 | bugman | 2012-10-07 18:12:33 +0200 (Sun, 07 Oct 2012) | 8 lines Python 3 fix for the relax_io.open_write_file() function. This now matches the behaviour of open_read_file() in that there are three different behaviours for opening bz2 and gz files for writing to for the different Python versions (one for Python 2, one for Python 3.0 to 3.2, and one for Python 3.3+). All byte streams have been eliminated as open_write_file() is for creating text files. ................ r17719 | bugman | 2012-10-07 18:45:38 +0200 (Sun, 07 Oct 2012) | 3 lines Fix for the Relax_fit.test_bug_12670_12679() system test for the changes to Grace files at r17716. ................ r17720 | bugman | 2012-10-07 18:53:30 +0200 (Sun, 07 Oct 2012) | 3 lines Python 3 fix - removed the use of the string module from generic_fns.spectrum. ................ r17721 | bugman | 2012-10-07 18:59:12 +0200 (Sun, 07 Oct 2012) | 6 lines Removed the ability to save and restore states using the pickle module. A pickled state is of no use to relax anymore. It's removal is needed for Python 3 support. So now everything defaults to the XML formatted output. ................ r17722 | bugman | 2012-10-07 18:59:43 +0200 (Sun, 07 Oct 2012) | 3 lines Eliminated the State.test_state_pickle() system test as pickled states are no longer supported. ................ r17723 | bugman | 2012-10-07 19:12:26 +0200 (Sun, 07 Oct 2012) | 3 lines Removed the pickle format information and arguments from the state user function definitions. ................ r17724 | bugman | 2012-10-07 19:21:06 +0200 (Sun, 07 Oct 2012) | 6 lines Python 3 support for Modelfree4 and Dasha. The subprocess.Popen class works with byte arrays rather than strings in Python 3+. The Python objects are now interconverted when the Python 3 encode() and decode() methods are detected. ................ r17725 | bugman | 2012-10-07 19:22:04 +0200 (Sun, 07 Oct 2012) | 3 lines Small comment edit. ................ r17726 | bugman | 2012-10-07 20:56:21 +0200 (Sun, 07 Oct 2012) | 6 lines Python 3 fix for the Mf.test_latex_table system test. The latex_mf_table.py model-free system test script docstring contains backslashes, so the raw string format r"""Text""" is now used. ................ r17727 | bugman | 2012-10-07 20:59:22 +0200 (Sun, 07 Oct 2012) | 3 lines The OMP model-free results file generation script now outputs for any relax version. ................ r17728 | bugman | 2012-10-07 21:54:24 +0200 (Sun, 07 Oct 2012) | 6 lines Removed the Python 3 byte array hack which should have been removed earlier. This code is from r17669 which should have been removed at r17712 but was accidentally left out. Instead of reverting, the code has been deleted as r17669 contained another useful change. ................ r17729 | bugman | 2012-10-07 21:58:58 +0200 (Sun, 07 Oct 2012) | 5 lines Added a Python 3 version of the truncated OMP model-free results file. This was created with trunk which is during the 2.1 relax releases. ................ r17730 | bugman | 2012-10-07 22:06:49 +0200 (Sun, 07 Oct 2012) | 6 lines The messsage about skipping the GUI tests due to wxPython being missing is now more specific. This was being shown for all runs of the test suite when it only needs to appear if GUI tests have been run. ................ r17731 | bugman | 2012-10-07 22:11:43 +0200 (Sun, 07 Oct 2012) | 6 lines The relaxation curve-fitting system tests are now skipped if the module is missing or broken. This improves the printouts from the test suite and shows a summary of skipped tests rather than a pile of traceback messages and errors. ................ r17732 | bugman | 2012-10-08 00:11:32 +0200 (Mon, 08 Oct 2012) | 7 lines Python 3 fix for the model-free results file reading tests. The ordering of dictionaries is different in Python 3, so now these are properly converted from strings to dictionaries before comparison. This was not happening because of the XML changes from Python 2.7.3 onwards. ................ r17733 | bugman | 2012-10-08 00:34:46 +0200 (Mon, 08 Oct 2012) | 5 lines Python 3 fix for the setting of diffusion and alignment tensor simulation values. The previous code somehow worked in Python 2 but was not formally correct and broke in Python 3. ................ r17734 | bugman | 2012-10-08 00:41:24 +0200 (Mon, 08 Oct 2012) | 5 lines The fix of r17733 actually broke Python 2. The list.__setattr__() method is fundamentally different between Python 2 and 3! ................ r17735 | bugman | 2012-10-08 00:47:19 +0200 (Mon, 08 Oct 2012) | 3 lines Removed some debugging printouts accidentally committed in r17734. ................ r17736 | bugman | 2012-10-08 00:48:50 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the fix of r17734 which attempted to fix r17733. The Python version is now being detected. ................ r17737 | bugman | 2012-10-08 11:04:32 +0200 (Mon, 08 Oct 2012) | 6 lines Updated the relax version numbers and 'trunk' used relax user manual. For example the information about checking out the main development line was still talking about 1.3 rather than the trunk. ................ r17776 | bugman | 2012-10-09 00:59:53 +0200 (Tue, 09 Oct 2012) | 3 lines Initialized merge tracking via "svnmerge" with revisions "1-17738" from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/tensor_data ................ r17777 | bugman | 2012-10-09 01:01:34 +0200 (Tue, 09 Oct 2012) | 180 lines Merged revisions 17739-17774 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/tensor_data ........ r17739 | bugman | 2012-10-08 11:36:44 +0200 (Mon, 08 Oct 2012) | 6 lines The diffusion tensor data structure has been completely converted into a read-only structure. The __setattr__() method now will always raise a RelaxError, and the diffusion tensor simulation data structure objects __setitem__() method will raise the same error. ........ r17740 | bugman | 2012-10-08 11:37:18 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the initialisation of the diffusion tensor data structure, now that it is read-only. ........ r17741 | bugman | 2012-10-08 11:37:54 +0200 (Mon, 08 Oct 2012) | 3 lines The new diffusion tensor fixed() method has been created to allow the fixed flag to be changed. ........ r17742 | bugman | 2012-10-08 11:42:23 +0200 (Mon, 08 Oct 2012) | 6 lines Created the diffusion tensor data structure type() method for setting the tensor type. This is to remove the "cdp.diff_tensor.type = 'x'" code from the core of relax, as the structure is now read only. ........ r17743 | bugman | 2012-10-08 11:44:02 +0200 (Mon, 08 Oct 2012) | 5 lines Renamed the diffusion tensor data structure type() method to set_type(). This is because the type is stored as the 'type' object, clashing with the method name. ........ r17744 | bugman | 2012-10-08 14:04:54 +0200 (Mon, 08 Oct 2012) | 5 lines Converted the old diffusion tensor __setattr__() method into the set() method. This is the only way in which diffusion tensor parameters, errors and simulations can be set. ........ r17745 | bugman | 2012-10-08 14:13:34 +0200 (Mon, 08 Oct 2012) | 5 lines Improvements to the diffusion tensor set() method. The parameters, errors and simulations are now properly differentiated and stored. ........ r17746 | bugman | 2012-10-08 14:19:03 +0200 (Mon, 08 Oct 2012) | 3 lines A number of private diffusion tensor objects and methods have switched to the single leading '_' format. ........ r17747 | bugman | 2012-10-08 16:32:48 +0200 (Mon, 08 Oct 2012) | 3 lines Removed all the unused imports from specific_fns.model_free.main. ........ r17748 | bugman | 2012-10-08 17:16:25 +0200 (Mon, 08 Oct 2012) | 5 lines Redesigned how diffusion tensor simulation structures are handled. The design is now much cleaner and works with all Python versions. ........ r17749 | bugman | 2012-10-08 17:17:08 +0200 (Mon, 08 Oct 2012) | 3 lines Modified the setUp() method for the diffusion tensor system tests to use the new design. ........ r17750 | bugman | 2012-10-08 17:22:42 +0200 (Mon, 08 Oct 2012) | 3 lines The model-free specific analysis _disassemble_param_vector() method now uses the new diffusion tensor design. ........ r17751 | bugman | 2012-10-08 17:57:50 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the diffusion tensor __deepcopy__() replacement method for the new design. ........ r17752 | bugman | 2012-10-08 18:00:05 +0200 (Mon, 08 Oct 2012) | 6 lines The setting of list values for the DiffTensorSimList object now works correctly. The private _set() method now works correctly by calling the base class method, and the normal setting of diffusion tensor simulation values produces a RelaxError. ........ r17753 | bugman | 2012-10-08 18:01:36 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the Diffusion_tensor.test_copy system test - the simulation parameters are now read-only. Instead, the diffusion tensor set() method needs to be called. ........ r17754 | bugman | 2012-10-08 18:27:08 +0200 (Mon, 08 Oct 2012) | 3 lines Converted the diffusion tensor data structure from_xml() method to the new tensor design. ........ r17755 | bugman | 2012-10-08 18:44:12 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the diffusion tensor to_xml() method for the new design. For some reason the methods of the Element class are no longer blacklisted. ........ r17756 | bugman | 2012-10-08 18:46:31 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the model-free specific analysis duplicate_data() method for the new design. The diffusion tensor __mod_attr__ object is now called _mod_attr. ........ r17757 | bugman | 2012-10-08 18:50:29 +0200 (Mon, 08 Oct 2012) | 3 lines Renamed the diffusion tensor fixed() method to set_fixed() to avoid clashing with the 'fixed' object. ........ r17758 | bugman | 2012-10-08 18:50:46 +0200 (Mon, 08 Oct 2012) | 3 lines The fix user function now uses the diffusion tensor set_fixed() method. ........ r17759 | bugman | 2012-10-08 18:54:29 +0200 (Mon, 08 Oct 2012) | 3 lines The diffusion tensor bmrb_read() function now uses the set_fixed() method instead of fixed(). ........ r17760 | bugman | 2012-10-08 19:00:43 +0200 (Mon, 08 Oct 2012) | 3 lines Converted the palmer.extract user function to use the new diffusion tensor design. ........ r17761 | bugman | 2012-10-08 19:15:40 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the XML output of the diffusion tensor - only the modifiable parameters are output. This was the previous behaviour and is needed for the test suite to pass. ........ r17762 | bugman | 2012-10-08 19:16:25 +0200 (Mon, 08 Oct 2012) | 5 lines Fix for the fixing of parameters in the model-free analyses. The diffusion tensor set_fixed() method is now used. ........ r17763 | bugman | 2012-10-08 19:20:38 +0200 (Mon, 08 Oct 2012) | 3 lines Another fix for the diffusion_tensor.init user function - it was not completely converted. ........ r17764 | bugman | 2012-10-08 19:27:45 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the setup of the model-free Monte Carlo simulations for the new diffusion tensor design. ........ r17765 | bugman | 2012-10-08 19:30:25 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the setting of the diffusion tensor parameter errors in the model-free specific analysis code. ........ r17766 | bugman | 2012-10-08 19:36:16 +0200 (Mon, 08 Oct 2012) | 3 lines Another fix for the fold_angles() diffusion tensor function - again an incomplete design conversion. ........ r17767 | bugman | 2012-10-08 19:56:55 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the reading of relax 1.2 model-free results files for the diffusion tensor structure redesign. ........ r17768 | bugman | 2012-10-08 20:04:53 +0200 (Mon, 08 Oct 2012) | 3 lines Fix for the reading of model-free results files from relax 1.2 when simulation data is missing. ........ r17769 | bugman | 2012-10-08 22:21:31 +0200 (Mon, 08 Oct 2012) | 3 lines Updated all of the diffusion tensor unit tests to the new design. ........ [... 496 lines stripped ...]