The data pipe

Within relax all user functions operate on data stored within the current data pipe. This pipe stores data is input, processed, or output as user functions are called. There are different types of data pipe for different analyses, e.g. a reduced spectral density mapping pipe, a model-free pipe, an exponential curve-fitting pipe, etc. Multiple data pipes can be created within relax and various operations performed in sequence on these pipes. This is useful for operations such as model selection whereby the function model_selection can operate on a number of pipes corresponding to different models and then assign the results to a newly created pipe. When running relax you choose which pipe you are currently in by using the pipe.switch user function to jump between pipes.

The flow of data through relax can be thought of as travelling through these pipes. User functions exist to transfer data between these pipes and other functions combine data from multiple pipes into one or vice versa. The simplest invocation of relax would be the creation of a single data pipe and with the data being processed as it is passing through this pipe.

The primary method for creating a data pipe is through the user function pipe.create. For example

relax> pipe.create('m1', 'mf')

will create a model-free data pipe labelled “m1”. The following is a table of all the types which can be assigned to a data pipe.

Data pipe type



Consistency testing of relaxation data
frame order The Frame Order analyses of domain motions
jw Reduced spectral density mapping
hybrid A special hybridised data pipe
mf Model-free data analysis
N-state N-state model of domain motions
noe Steady state NOE calculation
relax_disp Relaxation dispersion curve fitting
relax_fit Relaxation curve-fitting

The relax user manual (PDF), created 2024-06-08.