A new directory 'data' has been created to all the modules for constructing 'self.relax.data'. The
file 'data.py' has been moved into the directory as 'data/main.py' and duplicated into three more
files.
All the 'self._auto_object*()' methods for automatically creating the diffusion tensor data
structures have been shifted into the module 'data.diff_tensor_auto_objects'. These have been
converted into functions and all references to 'self' have been eliminated. The local namespace of
'self.relax.data.diff[run]' is now passed into these functions as the first argument to allow its
objects to be accessed. This change fixes the pickling problem and restores the state saving and
loading functions.
In the module 'data.diff_tensor', all that remains of the original 'data.py' file is the data
containers 'DiffTensorData' and 'DiffTensorElement' as well as the 'DiffAutoNumericObject' and
'DiffAutoSimArrayObject' automatically generated objects. The first two classes assign the
'auto_object*()' functions to specific instances of the last two classes which then call the
functions to obtain the data.
The data containers 'Element', 'SpecificData', 'Residue', and 'ResidueList' are located in the
module 'data.data_classes'.
All that remains in the original 'data.py' file ('data/main.py') is the basal data container 'Data'.
The files 'relax', 'prompt/init_data.py', and 'thread_classes.py' have been modified to import the
correct modules.