Open main menu

Changes

Relax 3.1.4

277 bytes added, 13:30, 10 September 2014
User function HTML manual links.
* Another fix for the Frame_order.test_generate_rotor2_distribution system test. The test_suite/shared_data/frame_order/cam/generate_base.py script no longer prints its progress indicator to sys.__stderr__ but to sys.stderr instead. This avoids the progress text from appearing during the relax test suite execution.
* Created the Structure.test_bug_21522_master_record_atom_count system test. This is designed to catch [https://gna.org/bugs/?21522 bug #21522, the structure.write_pdb user function creating an incorrect MASTER record]. This hence also catches [https://gna.org/bugs/?21520 bug #21520, the failure of the structure.write_pdb user function when creating the MASTER record due to too many ATOM and HETATM records being present]. The test simply creates two structural models, adds one atom, and writes out a PDB file, checking its contents.
* The [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function ] can now handle a file instance for the file argument. This is for the Structure.test_bug_21522_master_record_atom_count system test, to allow a dummy file object to be used. This can also be useful for power users.
* Created the lib.geometry.vectors.unit_vector_from_2point() function. This is used to quickly calculate the unit vector between two points.
* The lib.structure.represent.rotor.rotor_pdb() function can now handle multiple rotors. Previously this function would fail if called twice with the same structural object.
* Added the has_molecule() method to the relax internal structural object. This is used to quickly check if a molecule name already exists in the structural object.
* More improvements for handling multiple rotors in the lib.structure.represent.rotor.rotor_pdb() function. The atom numbering is now better handled.
* Better support for the writing out of multiple molecules by the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function]. This is for the internal structural object write_pdb() method. Now each molecule is assigned a different chain ID in the PDB file, and the chain IDs loaded into the structural object are ignored. The chain IDs should however be preserved when using structure.read_pdb followed by structure.write_pdb, without storing the ID. A number of the Structure system tests had to be updated, as now the relax generated PDB files will always write out a chain ID.
* Large speed up for the internal structural object for when many models are present. The new ModelList.current_models object keeps track of all the models already present in the structural object. This simplifies the checks of the pack_structs() internal structural object method by removing expensive looping. This allows the loading of PDB files to continue to be fast even with many tens or hundreds of thousands of models already loaded.
* More speed ups for the internal structural object when huge numbers of models are present. Another loop over the structural_data object has been eliminated from the PDB reading load_pdb() method.
* Yet more optimisation for handling large quantities of models in the internal structural model. Now when adding new models to the object, the model_indices and model_list objects are no longer created. This saves much time as the large model_list is now not sorted. A number of structural object methods have been updated to handle the change by switching to the model_loop() method for looping over the models, rather than using the model_indices and model_list objects.
* The frame order matrix printing function can now output the matrix to any precision. The lib.frame_order.format.print_frame_order_2nd_degree() function now accepts the 'places' argument which allows for higher precision printouts.
* The behaviour of the [http://www.nmr-relax.com/manual/rdc_write.html rdc.write user function ] has been changed to output spin ID strings in single quotes. This is to avoid problems with the '#' molecule identifier and the '#' comment character.* Fix for the [http://www.nmr-relax.com/manual/diffusion_tensor_init.html diffusion_tensor.init user function ] reference in the intro chapter of the manual. This was using a very old and now non-functional syntax.
* Created the Diffusion_tensor.test_bug_21561_tensor_pdb_failure system test. This is to catch [https://gna.org/bugs/?21561 bug #21561, failure of the structure.create_diff_tensor_pdb user function for non-spherical diffusion tensors when no Monte Carlo simulations are present], as reported by [https://gna.org/users/mab Martin Ballaschk].
* Added the truncated data for creating a system test to catch [https://gna.org/bugs/?21562 bug #21562, the failure of the NOE analysis when spectra are replicated]. This bug was reported by [https://gna.org/users/dhanas Dhanas Muthu]. This consists of the Sparky peak lists attached to the bug report and the modified 2AT7 PDB file. The data has been truncated to only include residues :12, :13, and :14.
== Bugfixes ==
* Fix for [https://gna.org/bugs/?21499 bug #21499, the failure of the rdc.write user function]. The [http://www.nmr-relax.com/manual/rdc_write.html rdc.write user function ] fails for back-calculated RDC data. The fix was to handle the missing interatom.rdc_data_types variable.
* Fix for [https://gna.org/bugs/?21522 bug #21522, the structure.write_pdb user function creating an incorrect MASTER record] and [https://gna.org/bugs/?21520 bug #21520, the failure of the structure.write_pdb user function when creating the MASTER record due to too many ATOM and HETATM records being present]. The counts for the ATOM, HETATM, and TER records are now only for a single model, rather than being the sum for all models together.
* Fix for [https://gna.org/bugs/?21561 bug #21561, the structure.create_diff_tensor_pdb user function failure with no simulations]. This was reported by [https://gna.org/users/mab Martin Ballaschk]. The problem was that the simulation axes of the tensor PDB file were not being initialised correctly when no Monte Carlo simulations had been run.
Trusted, Bureaucrats
4,228

edits