* The RelaxNucleusError and RelaxSpinTypeError can now have the spin ID supplied.
* Bug fix for the [http://www.nmr-relax.com/manual/dipole_pair_unit_vectors.html dipole_pair.unit_vectors user function] positional checking. The arg_check.is_float() function needs the raise_error flag turned off.
* [http://www.nmr-relax.com/manual/dipole_pair_unit_vectors.html dipole_pair.unit_vectors ] now raises a RelaxNoInteratomError if not interatomic data is present.
* The specific API base skip_function() method now returns False. This was previously raising a RelaxImplementError, but as Monte Carlo simulations now require this function, but returning always False, all analyses will be automatically supported.
* Eliminated all of the bond length and heteronucleus type value.set units tests. These are no longer specific analysis parameters.
* The [http://www.nmr-relax.com/manual/sequence_attach_protons.html sequence.attach_protons user function] now sets the proton element and isotope types. This reduces the amount of work required from the user.
* Rearranged the [http://www.nmr-relax.com/manual/spin_element.html spin.element user function] arguments.
* Created the [http://www.nmr-relax.com/manual/sequence_attach_protonsequence_attach_protons.html sequence.attach_proton attach_protons user function]. This will be useful for analyses which are missing structural data.
* The dipole_pair user functions now fail if nothing could be done. This is for the [http://www.nmr-relax.com/manual/dipole_pair_define.html dipole_pair.define], [http://www.nmr-relax.com/manual/dipole_pair_read_dist.html dipole_pair.read_dist], and [http://www.nmr-relax.com/manual/dipole_pair_set_dist.html dipole_pair.set_dist] user functions.
* The Monte Carlo select_all_sims() function is now using the specific skip_function(). This is needed for recreating model-free simulations as deselected proton spin containers now exist.
* Expanded the RelaxNoValueError to handle one or two spin IDs as arguments. This is to better identify which spins or interatomic data containers are deficient.
* The nuclear isotope is now defined via spin.isotope.
* Eliminated a number of the specific API parameters relating to dipole-dipole interactions. These are now provided by the [http://www.nmr-relax.com/manual/spin_isotope.html spin.isotope user function] and the dipole_pair user functions. The eliminated parameters are: 'r' - replaced by [http://www.nmr-relax.com/manual/dipole_pair_set_dist.html dipole_pair.set_dist ] or [http://www.nmr-relax.com/manual/dipole_pair_read_dist.html dipole_pair.read_dist], 'xh_vect' - replaced by [http://www.nmr-relax.com/manual/dipole_pair_unit_vectors.html dipole_pair.unit_vectors], 'heteronuc_type' - replaced by [http://www.nmr-relax.com/manual/spin_isotope.html spin.isotope], 'proton_type' - replaced by [http://www.nmr-relax.com/manual/spin_isotope.html spin.isotope], and 'attached_proton' - replaced by [http://www.nmr-relax.com/manual/dipole_pair_define.html dipole_pair.define].
* Created the [http://www.nmr-relax.com/manual/spin_isotope.html spin.isotope user function]. This is designed to be a permanent replacement for the specific analysis API 'heteronuc_type' and 'proton_type' parameters.
* Added the nuclear symbol as a wizard graphic.
* Added a set of icons for nuclear or isotope related usage.
* Deletion of the [http://www.nmr-relax.com/manual/structure_vectors.html structure.vectors user function] as it has been superseded by dipole_pair.unit_vectors. Only the user function definition has deleted - the backend code will remain so that it can be used internally.
* Implemented the [http://www.nmr-relax.com/manual/dipole_pair_unit_vectors.html dipole_pair.unit_vectors user function] backend. This code originates from the generic_fns.structure.main.vectors() function (the [http://www.nmr-relax.com/manual/structure_vectors.html structure.vectors user function] backend). The [http://www.nmr-relax.com/manual/dipole_pair_unit_vectors.html dipole_pair.unit_vectors user function] is designed to replace[http://www.nmr-relax.com/manual/structure_vectors.html structure.vectors].
* Created the [http://www.nmr-relax.com/manual/dipole_pair.unit_vectors user function] definition.
* Created the backend of the [http://www.nmr-relax.com/manual/dipole_pair_read_dist.html dipole_pair.read_dist user function].
* Created the [http://www.nmr-relax.com/manual/dipole_pair_read_dist.html dipole_pair.read_dist user function] definitions. This new user function is for simplifying the loading of many different interatomic distances into relax.
* Created a set of icons for the dipole_pair user functions.
* Shifted the [http://www.nmr-relax.com/manual/relax_data_dipole_pairdipole_pair_define.html relax_data.dipole_pair user function] into the new dipole_pair user function class. This has also been split into two new user functions: [http://www.nmr-relax.com/manual/dipole_pair_define.html dipole_pair.define] used to set up the magnetic dipole-dipole interactions, and [http://www.nmr-relax.com/manual/dipole_pair_set_dist.html dipole_pair.set_dist] used to set up the r^-3 averaged interatomic distances.
* The relax_data.dipole_pair backend now uses the direct_bond flag.
* Added CONECT records to the sphere.pdb file to allow connectivities to be more easily determined. This is for the internal reader, as the current algorithm for finding attached atoms is distance based, and as all N atoms of all residues are at [0, 0, 0], this algorithm fails.
* Implemented the are_bonded() structural API method for the internal structural object.
* Created the structural API base are_bonded() method - this is for determining if 2 atoms are bonded. This is a method stub which raises a RelaxImplementError.
* Started to add the backend of the [http://www.nmr-relax.com/manual/relax_data_dipole_pairdipole_pair_define.html relax_data.dipole_pair user function].
* Shifted the dipole-dipole graphics to the Wizard directory, as this is a wizard graphic.
* Created graphics for the magnetic dipole-dipole interaction.
* Removed the bond length from the model-free parameter list.
* The bond length setting via value.set has no been merged into relax_data.dipole_pair. This averaged length is dipole-dipole distance and does not need to be a model-free parameter.
* Added the definition for the new [http://www.nmr-relax.com/manual/relax_data_dipole_pairdipole_pair_define.html relax_data.dipole_pair user function].
* Started to change the structure.vectors backend to handle two spin IDs.
* Expanded the description of the negative gyromagnetic ratio flag for the [http://www.nmr-relax.com/manual/rdc_read.html rdc.read user function].