Dear developer team,
Apologies if I am missing this somewhere relatively obvious, but I am just wondering if there is more detailed documentation of the protocols/approaches used in the Relaxation Analysis (Beta) component of CcpNmr Analysis 3.2, in particular for aspects such as error analysis and so forth? The only documentation I’ve been able to find is the Dynamics Tutorial (Beta) PDF. (I haven’t been able to directly locate the source code used for this component either, in case that might provide more detail in inline documentation  please do feel free to point me in that direction!)
Thanks kindly in advance,
Jan
Hi Jan, for all the fitting routines in the Series analysis, we use as the backend the LMFIT package.
The default minimiser is the LevenbergMarquardt (’leastsq’).
You can find detailed information and documentations here.
In summary, the standard errors (stderr
) for the optimised parameters are typically estimated using the covariance matrix of the optimised parameters.
These are three steps:
 Optimisation: The optimization routine (e.g., LevenbergMarquardt) is used to find the set of parameters that minimises the objective function (e.g. exponential decay).

Covariance matrix: After optimisation,
lmfit
computes the covariance matrix of the optimised parameters. The covariance matrix captures the uncertainty and correlation between the parameters. 
Standard errors: The standard errors (
stderr
) for each parameter are obtained from the square root of the diagonal elements of the covariance matrix. These standard errors represent the estimated uncertainty in the optimised parameter values.
The errors estimations works quite well for the tested systems and offers a quick and efficient way to estimate parameter uncertainties.
In future, we are planning to add more comprehensive assessments, especially for complex or nonlinear models, like MonteCarlo.
I hope this helps.
Best
Luca
Thanks very much Luca  I also was wondering about the error calculation protocol for hetNOE (I see a mention in a previous discussion that the equation was shown in the Relaxation Analysis (Alpha) but I am not seeing it in the Beta) and the manner in which the reduced spectral density map fitting/errors are determined? All in all, the analysis I am seeing makes a lot of sense and appears quite reasonable (and this is a hugely useful functionality within Analysis, in my opinion!) so I’m hoping to have the fuller picture of the methods in terms of detailing how the parameters are arrived at for a methods section for a manuscript (or thesis).
Thanks!
Jan
Hi.
For the reduced spectral density mapping we use the equations exactly as shown in eq 13/14/15 of the paper Backbone dynamics of Barstar: A 15N NMR relaxation study.
Udgaonkar et al 2000. Proteins: 41:460474. Note These sometimes are rappresented in different flavours but ultimately they produce the same results, including the ‘c’ and ‘d’ factors (often called or expressed differently).
The errors are simply calculated using the same equations, but feedingin with the (experimental) rates errors.
For the HetNoe, the error is calculated from the signal/Noise ratios. as described in this paper:
Dynamic 15N{1H} NOE measurements: a tool for studying protein dynamics. J Biomol NMR 74, 707–716 (2020). Dynamic 15N{1H} NOE measurements: a tool for studying protein dynamics  Journal of Biomolecular NMR.
Hopefully we will be able to make a full documentation of all the calculation methods. Also, as we are working in more advanced analysis tool which will be available in future releases.
The whole series analysis is built to be extendible and accessible from the Python console, so you can write custom macros etc…
I hope this helps.