Changes

Jump to navigation Jump to search

Relax 4.0.1

No change in size, 18:08, 14 December 2015
Fixes for all of the user function links.
<section begin=description/>
This is a major feature and bugfix release. Features include the new [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] for performing a principle component analysis (PCA) of a set of structures, handling of replicated R2eff data points in the dispersion analysis, improvements in the handling of PDB structures, the protection against numpy >= 1.9 FutureWarnings for a number of soon to change behaviours in numpy, and addition of a deployment script for the Google Cloud Computing. Bugfixes include an error when loading relaxation data, the CSA constant equation in the manual, missing information in the relax state and results files, loading of certain state files in the GUI, running relax with no graphical display and using matplotlib, BMRB export failure when a spin container is missing data or parameters.
<section end=description/>
* Many improvements for the compilation of the HTML version of the relax manual (http://www.nmr-relax.com/manual/index.html).
* Updated relax to eliminate all FutureWarnings from numpy >= 1.9, to future-proof relax against upcoming numpy behaviour changes.
* Ability to handle replicated R2eff data points by the [http://www.nmr-relax.com/manual/relax_disp.r2eff_readrelax_disp_r2eff_read.html relax_disp.r2eff_read user function], but adding 0.001 to the frequency value for the replicated point.
* A new sample script for loading a model-free results file and back-calculating relaxation data.
* Improvements for the handling of PDB structural data.
* Implementation of the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] for performing principle component analyses (PCA) of an ensemble of structures.
* Addition of a script for rapid deployment on the Google Cloud Computing infrastructure.
<section end=features/>
* Updated the minfx and bmrblib versions in the release checklist document to 1.0.12 and 1.0.4. This is to remove the numpy FutureWarning messages about the '== None' and '=! None' comparisons to numpy data structures, which in the future will change in behaviour.
* Increased the Gna! news item sectioning depth in the release checklist document.
* Expanded the description of the [http://www.nmr-relax.com/manual/sequence.attach_protonssequence_attach_protons.html sequence.attach_protons user function]. This follows from http://thread.gmane.org/gmane.science.nmr.relax.user/1849/focus=1855 .
* Added initial data for testing data from Paul Schanda. This will demonstrate that there are several possibilities to enhance the r2eff point method.
* Added the Relax_disp.test_paul_schanda_nov_2015 system test. This will catch the loaning of "nan" values.
* Using Gary's lib.float.isNaN() instead of math.isnan(), to have backwards compatibility with python 2.5.
* Fix for spelling mistake and documenting the new behavior of relax_disp.r2eff_read(), when reading r2eff points with the same frequency. If the spin-container already contain r2eff values with the 'frequency of the CPMG pulse' or 'spin-lock field strength', the frequency will be changed by a infinitesimal small value of + 0.001 Hz. This allow for duplicates or more of the same frequency.
* Modified the internal structural object to be less influenced by the format of the PDB. The PDB serial number is now intelligently handled, in that it is reset to 1 when a new model is created. This information is still kept for supporting the logic of the reading of the CONECT records, and will be eliminated in the future. The chain ID information is now no longer stored in the internal structural object, as this information is recreated by the [http://www.nmr-relax.com/manual/structure.write_pdbstructure_write_pdb.html structure.write_pdb user function] based on how the internal structural object has been created.
* Updates to the Noe and Structure system test classes for the internal structural object changes. The serial number can now be reset, and the chain ID information is no longer stored.
* Added a file to the test suite shared data to help implement the PCA structural analysis. This is the N-domain of the CaM-IQ complex used in a frame order analysis. It is the first 5 structures from a call to the [http://www.nmr-relax.com/manual/frame_order.distributeframe_order_distribute.html frame_order.distribute user function], with the different rigid-bodies merged back together into a single molecule.* Created the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] front end. This is currently modelled on the [http://www.nmr-relax.com/manual/structure.rmsdstructure_rmsd.html structure.rmsd user function] framework.* Basic implementation of the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] back end. This is the new pca() function of the pipe_control.structure.main module. It simply performs some checks, assembles the atomic coordinates, and the passes control to the relax library pca_analysis() function of the currently unimplemented lib.structure.pca module.* Partial implemented of the PCA analysis in the relax library. This is for the new [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. The lib.structure.pca module has been created, and the pca_analysis() function created to calculate the structure covariance matrix, via the covariance() function, and then calculate the eigenvalues and eigenvectors of the covariance matrix, sorting them and truncating to the desired number of PCA modes.* Added the 'algorithm' and 'num_modes' arguments to the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. These are passed all the way into the relax library backend.
* Implemented the SVD algorithm for the PCA analysis in the relax library. This simply calls numpy.linalg.svd().
* The PCA analysis in the relax library now calculates the per structure projections along the PCs.
* The PCA analysis function in the relax library is now returning data. This includes the PCA values and vectors, and the per structure projections.
* The PCA values and vectors, and the per structure projections are now being stored. This is in the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] backend in the pipe_control.structure.main module.* Added the 'format' and 'dir' arguments to the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. This is to the front and back ends.
* Modified the assemble_structural_coordinates() method to return more information. This is from the pipe_control.structure.main module. The 'lists' boolean argument is now accepted which will cause the function to additionally return the object ID list per molecule, the model number list per molecule, and the molecule name list per molecule.
* The [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function] now creates graphs of the PC projections. This includes PC1 vs. PC2, PC2 vs. PC3, etc.
* Added the Gromacs PCA results for the distribution.pdb file. This includes a script used to execute all parts of Gromacs and all output files.
* Updated the Gromacs PCA results for the newest Gromacs version (5.1.1).
* Created an initial Structure.test_pca system test. This executes the new [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function], and checks if data is stored in cdp.structure.* Improved the graphs in the backend of the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. The graphs are now clustered so that different models of the same structure in the same data pipe are within one graph set. The graph header has also been improved.
* Expanded the Structure.test_pca system test checks to compare to the values from Gromacs.
* A weighted mean structure can now be calculated. This is for the calc_mean_structure() function of the relax library module lib.structure.statistics. Weights can now be supplied for each structure to allow for a weighted mean to be calculated and returned.
* Added support for 'observer' structures in the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. This allows a subset of the structures used in the PC analysis to have zero weight so that these structures can be used for comparison purposes. The obs_pipes, obs_models, and obs_molecules arguments have been added to the user function front end. The backend uses this to create an array of weights for each structure. And the lib.structure.pca functions use the zero weights to remove the observer structures from the PC mode calculations.* Created the Structure.test_pca_observers system test. This is for testing the new observer structures concept of the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function].
* Improved the printouts from the relax library principle component analysis. This is in the pca_analysis() function of the lib.structure.pca module.
* Fixes and improvements for the graphs produced by the [http://www.nmr-relax.com/manual/structure.pcastructure_pca.html structure.pca user function]. The different sets are now correctly created, and are now labelled in the plots.
* Adding a testing deploy script, for rapid deployment on Google Cloud Computing. This is for an intended install in Ubuntu 14.04 LTS.
* Expanding script for installation.
* Fix for the relaxation dispersion analysis in the GUI, as caught by the Relax_disp.test_paul_schanda_nov_2015 GUI test. When loading from a script state file, the value of "None" can be present. This is now set to the standard values.
* Fix for running relax at a server with no graphical display and using matplotlib. The error was found with the Relax_disp.test_repeat_cpmg system test. And the error generated was: "QXcbConnection: Could not connect to display. Aborted (core dumped)". The backend of matplotlib has to be changed. This is for example described in: http://stackoverflow.com/questions/2766149/possible-to-use-pyplot-without-display http://stackoverflow.com/questions/8257385/automatic-detection-of-display-availability-with-matplotlib.
* Modified the behaviour of the [http://www.nmr-relax.com/manual/bmrb.writebmrb_write.html bmrb.write user function] backend for a model-free analysis (fix for [https://gna.org/bugs/?24131 bug #24131]). This is in the bmrb_write() method of the model-free analysis API. Deselected spins are now skipped and a check has been added to be sure that spin data has been assembled.
* Another fix for [https://gna.org/bugs/?24131 bug #24131]. This is the BMRB export failure when the SpinContainer object has no s2 attribute. Now no data is stored in the BMRB file if a model-free model has not been set up for the spin. This allows the test suite to pass.
* Bug fix to allow the Mf.test_bug_24131_missing_interaction system test to pass. This is part of [https://gna.org/bugs/?24131 bug #24131], the BMRB export failure with the SpinContainer object having no s2 value. The problem was when assembling the diffusion tensor data. The spin_loop() function was being called, as the diffusion tensor is reported for all residues. Therefore the skip_desel=True has been added to match the model-free part.
Trusted, Bureaucrats
4,228

edits

Navigation menu