The relax data store

All permanent data handled by relax is kept in a structure known as the relax data store. This structure is initialised when relax is launched. The data store is primarily organised into a series of objects known as data pipes, and all usage of relax revolves around the flow of information in these data pipes.

Data pipes

Image pipe_600x600

The first thing one must do when relax is launched is to create a data pipe. When using the GUI, a base data pipe will be created when opening one of the automatic analyses via the analysis selection window (see figure 1.4 on page [*]). This will also create a data pipe bundle for the analysis (vide infra). Alternatively the data pipe editor window can be used to create data pipes (see figure 1.12 on page [*]). For the prompt/scripting modes, or the ``User functionspipecreate'' menu entry, a data pipe can be initialised by specifying the unique name of the data pipe and the data pipe type:

pipe.create(pipe_name='NOE 1200 MHz', pipe_type='noe')

A number of relax operations will also create data pipes by merging a group of pipes or branching pre-existing pipes. See section 1.2.6 on page [*] for additional details.

All data not associated with spin systems will be stored in the base data pipe. This includes information such as global optimisation statistics, diffusion tensors, alignment tensors, 3D structural data, the molecule, residue and spin container data structure and the interatomic data containers. One data pipe from the set will be defined as being the current data pipe, and all operations in relax will effect data from this pipe. The pipe.switch user function in all UI modes can be used to change which pipe is the current data pipe. In the GUI, switching between analysis tabs will automatically switch the current data pipe to match the analysis being displayed.

Data pipe bundles

Image pipe_bundle_600x600

Related data pipes can be grouped into a `bundle'. For example if the data pipes ``sphere'', ``oblate spheroid'', ``prolate spheroid'', and ``ellipsoid'' preexist, these can be grouped into a bundle called ``diffusion tensors'' with the following series of user function calls:

pipe.bundle(bundle='diffusion tensors', pipe='sphere')
pipe.bundle(bundle='diffusion tensors', pipe='oblate spheroid')
pipe.bundle(bundle='diffusion tensors', pipe='prolate spheroid')
pipe.bundle(bundle='diffusion tensors', pipe='ellipsoid')

The data pipe editor window of the GUI can also be used to bundle pipes together (see figure 1.12 on page [*]).

The relax user manual (PDF), created 2016-10-28.