Description
This is a major feature release which includes many bug fixes and a security fix. Major additions include the addition of 9 new frame order models, execution locking, support for CCPN Analysis 2.1 peak lists, Monte Carlo simulations for the N-state model, optimisation of the Ln3+ position in the N-state model, weighting of RDCs and PCSs during optimisation, and no longer using execfile() closing a security hole.
Download
The new relax versions can be downloaded from http://www.nmr-relax.com/download.html. If binary distributions are not yet available for your platform and you manage to compile the binary modules, please consider contributing these to the relax project (described in section 3.6 of the relax manual, http://www.nmr-relax.com/manual/relax_distribution_archives.html).
CHANGES file
Version 1.3.6 (31 December 2010, from /1.3) http://svn.gna.org/svn/relax/tags/1.3.6
Features
- Addition of Michael Bieri's model-free data extraction script.
- Added support for CCPN Analysis 2.1 peak lists (exported in Sparky format).
- Execution locking has been implemented to prevent threaded execution from killing relax. This will be useful for the relax GUI.
- Scripts are now run as modules rather than using execfile(), closing a security hole.
- Created the frame_order.domain_to_pdb user function to associate PDB files with domains in the current data pipe.
- Rewrote frame_order.cone_pdb to handle all of the frame order models.
- The sign of the RDC can be inverted to correct for the negative 15N gyromagnetic ratio.
- Better identification of the molecule end in the internal PDB reader.
- Implemented Monte Carlo simulations for the N-state model.
- The grid_search user function argument incs can now be a list with None elements to fix parameters.
- Expanded the number of frame order models to include the 'free rotor', 'rigid', 'rotor', 'iso cone, free rotor', 'iso cone, torsionless', 'iso cone', 'pseudo-ellipse, free rotor', 'pseudo-ellipse, torsionless', and 'pseudo-ellipse'.
- Pre-defined probabilities can now be used in the 'fixed' N-state model optimisation.
- The Ln3+ position can be directly optimised in the N-state models.
- The pcs.back_calc user function now does something.
- Created the n_state_model.elim_no_prob to remove structures with zero probability.
- Created the align_tensor.fix user function for fixing the alignment tensor during optimisation.
- The alignment tensor optimisation is now optional within the population N-state model target fn.
- The RDCs and PCSs can now be given optimisation weights.
- Per point comments are now included in the Grace files.
- The RDC and PCS correlation plots now also show the experimental errors.
- The RDC and PCS back-calculation user functions now add the alignment ID to the RDC and PCS if absent to allow both data types to be back-calculated in the absence of measured data.
- The N-state model calculate() method now stores the back-calculated RDCs and PCSs and Q factors.
- The PyMOL module pymol.cmd is now available within the pymol user function class, accessible as pymol.cmd from the prompt/script interface.
Changes
- API documentation improvements with epydoc docstring fixes.
- Numerous new system tests to catch bugs and prevent bugs appearing in the future.
- Peak intensity data is now internally handled differently to improve its flexibility. This will be beneficial for handling Bruker PDC (Protein Dynamic Center) files, relaxation dispersion data, and adding new types of relaxation data.
- The 'scons clean' target now removes temporary relax save files.
- The molecule type can now be specified.
- Improved the diffusion tensor print out.
- pipe.delete() without args will now delete all data pipes.
- Added some checks to the dauvergne_protocol model-free analysis for the required previously optimised results.
- Shifted the steady-state NOE specific analysis code into its own package.
- Shifted the debug and pedantic flags into the __main__ namespace for better access from other modules.
- Modified the specific code API to remove a number of references to spin_id, as not all analyses use spins.
- Renamed the results_folder arg to results_dir in the NOE auto-analysis, and rearranged the args.
- Citations now include the status if not 'published'.
- Created a new directory 'graphics' for all relax artwork.
- The structure.load_spins() user function now gives a RelaxWarning if no data could be found.
- The negative cones and z-axes are now not created for the pseudo-ellipses in frame_order.cone_pdb().
- Added some transparency to the cone in pymol.cone_pdb().
- Modified the pymol.cone_pdb() user function to handle x, y, and z-axes.
- Modified create_cone_pdb() to accept a pre-made structural object and to create a file only when asked.
- Switched the names of the Pseudo_elliptic and Pseudo_elliptic2 classes.
- Created a API common specific code set_selected_sim() method for a single global model.
- Created a API common specific code model_loop() method for a single global model.
- All objects placed into the relax data store structure are now stored in the XML save file.
- Parameters can be fixed to the original values during the frame order grid search.
- The user function argument checker arg_check.is_int_or_int_list() can now allow for None list elements.
- The frame order model can be overwritten by frame_order.select_model().
- Shifted to using numpy.sinc() for the frame order equations.
- Switched the theta and phi angles in cartesian_to_spherical() to match the rest of relax.
- Created a new module for performing coordinate transformations (maths_fns.coord_transform).
- The pipe.display() user function now places quotation marks around the pipe names and shows which is the current data pipe.
- The align_tensor.display() user function now prints out the generalized degree of order (GDO) value.
- The back-calculated alignments tensors are now being stored in the current data pipe.
- Removed the docstring length check from the code validator script.
- The loading of RDCs and PCSs for non-existent spins now only throws a RelaxWarning.
- The select.read() and deselect.read() user functions can now accept file handles or dummy file objects.
- Limit arrays are now sent into the minfx generic interface for limiting simulated annealing.
- The align_tensor.delete() user function can now be used to remove all tensors simultaneously.
- Made a RelaxError less stringent so that the paramagnetic centre can be unfixed.
- Initialising an alignment tensor now adds the ID to the alignment ID list.
- Changes to the NOE auto-analysis for the GUI: The output filename can be specified; The folder, where results files will be placed, can be specified; The label of heteronucleus and proton of peak lists and PDB file can be selected; The sequence is read either by sequence file or PDB file; Removed white spaces and progress output.
- Changed the alignment tensor parameter scaling back to 1 as this was slowing down the optimisation.
- The rdc.back_calc() user function without an ID arg will back-calculate RDCs for all alignments.
- Renamed the pcs.centre() user function to paramag.centre() to abstract for the PRE.
- Better support for RDC and PCS correlation plots with and without errors.
- Inverted the x and y axes in the RDC and PCS correlation plots.
- Better support for tensor-less N-state model optimisation.
- The align_tensor.copy() tensor_to arg can now be None, this is useful for copying between data pipes.
- Added a function for the pseudo-elliptical cosine function, this is a numerical approximation generated by series expansion.
- Added a method for translating pymol.cmd.do() commands into specific pymol.cmd functions. This prevents problems with commands being executed asynchronously. For example images were being saved before ray-tracing was complete.
- The RDC and PCS correlation plots now only show selected spins.
Bugfixes
- The loading of Monte Carlo simulation data from relax 1.2 version results files has been fixed (bug #17361).
- Bug fix for the relaxation data add_data_to_spin() function - missing data for individual spins was not properly eliminated.
- For the 1.2 results files, the data is being extracted even if the spin is not selected.
- Sparky peak lists from CCPN Analysis 2.1 can now be read (bug #17341).
- Fix for the broken grace.view() user function (bug #17344).
- Added 'CH' and 'OT' as carbon and oxygen atoms to the internal PDB reader (bug #17343).
- The script path is now being removed from sys.path as this was causing incorrect scripts to be loaded if multiple scripts are executed sequentially or nested.
- Fix for the 'list index is out of range' error when differently sorted peak lists, or lists with missing data are loaded (bug #17276).
- Fix for the input of (Dxx, Dyy, Dzz, Dxy, Dxz, Dyz) ellipsoidal diffusion parameters.
- Fixes for some currently unused, but useful, diffusion tensor internal API functions.
- Fix for the NOE auto-analysis - the spins are now named to the value of the 'heteronuc' arg.
- Fix for the frame_order.cone_pdb() user function - the cone is already in the PDB frame, no rotation required.
- Fix for the average domain rotation in pymol.cone_pdb().
- Bug fix for the frame_order.pivot() user function - it is now functional.
- The base contents of the relax data store are no longer saved with a call to results.write().
- Fix for the pcs.back_calc() user function for when multiple structures are loaded.
- Fix for rdc.read() when neg_g_corr is set to True and the RDC list contains entries with None.
- Fix for the failure of model elimination in the full analysis script (bug #13259).
- Added a catch in iso_cone_S_to_theta() for bad order parameters > 1.
- The attached proton PDB name is no longer hardcoded to 'H' in the dauvergne_protocol auto analysis.
- When loading save states, data pipe names are always converted to a string to avoid unicode problems.
- Hardcoded the factorial() function to return support for Python 2.4 and 2.5.
- Small fixes and improvements to the rdc.back_calc() user function - align IDs are being used instead of RDC IDs so RDCs can be back-calculated even if measured RDCs are not present. And spin info is also being checked for better error reporting to the user.
- Fix for the alignment tensor rotation matrix - it is now always in the right handed universe.
- Bug fix for the RDC back_calc() function - the align_id arg was being ignored.
- Fix for the RDC back_calc() function for when N=1 in the N-state model, the bond vector structure was not correct.
- Fixes for the N-state model target function setup for when no parameters are optimised.
- Fix for the Grace write_xy_data() function for when data values of None are passed in.
- Bug fix for the RDC back-calculation function.
- Bug fix for the control of PyMOL (as a module).
- Small fix for the grace.write_xy_header() function, the symbol numbers now range only between the legal values of 1 to 10.