Hi Edward, I have discussed your answer with my supervisor. The work required for implementing eta_xy support is a bit more than we had anticipated, and it is not that essential for our current project.
So for now, I will not work on implementing eta_xy with relax model free analysis. But it could become relevant to do so in the future. Thank you for help, Sven Wernersson > On 28 Apr 2017, at 10:24, Edward d'Auvergne <edw...@nmr-relax.com> wrote: > > Hi Sven, > > Sorry for not getting back to you earlier, I have been extremely busy > lately. Please see below: > > > On 25 April 2017 at 14:52, Sven Wernersson <sven.werners...@bpc.lu.se> wrote: >> Hi again, >> >> It seems that the tutorial you linked only applies for supporting data from >> new experiments to dispersion analysis and not for model-free analysis? Is >> adding experiments for model-free analysis done in a similar fashion? > > For the model-free analysis, adding new models is more complicated. > The reason for this is because the code is highly optimised to avoid > repetitive calculations, and it is not as modular as the relaxation > dispersion code. Another reason is because I started this code back > in 2001, back when I was first learning how to code in Python, so it's > design was not as advanced as the relaxation dispersion side of relax. > Also, you will be using the same models as already implemented, but > the input data will be different. > > >> As for your listed requirements, I have experimental data and I can rather >> easily generate synthetic data. The eta_xy equation is number (2) in: >> >> Longitudinal and Transverse 1H−15N Dipolar/15N Chemical Shift Anisotropy >> Relaxation Interference: Unambiguous Determination of Rotational Diffusion >> Tensors and Chemical Exchange Effects in Biological Macromolecules >> Christopher D. Kroenke,†, J. Patrick Loria,†, Larry K. Lee,†, Mark Rance,*,‡ >> and, and Arthur G. Palmer, III*,† >> Journal of the American Chemical Society 1998 120 (31), 7905-7915 >> DOI: 10.1021/ja980832l > > If you would like to develop new code here, which shouldn't be > difficult if you can handle complex Matlab code, I would suggest we > create a new development branch in the repository. You should learn > how to develop for relax by reading the "relax development" chapter of > the manual: > > http://www.nmr-relax.com/manual/relax_development.html > > This explains the procedure for becoming a relax developer. We could > then grant you commit access on the condition of only modifying your > development branch. That way you can experiment in this sandbox as > you wish, and it can be abandoned and a new branch created if you > don't like your initial tests. > > The very first step in implementing a new model/analysis in relax is > to create a system/functional test. From the information you provide, > it looks like you could create two or more tests. One would be > synthetic data where you know the model-free parameters and you hand > calculate the relaxation data (to 64-bit machine precision). The > second would be taking some of the Kroenke et al. published data where > you know the relaxation data and model-free result. With the > synthetic data, you could create a number of tests later on to cover > corner cases and hard to optimise cases. Once you have the relaxation > data, you create a relax script to analyse this data. This is then > placed into a test which runs the script and then checks the optimised > model-free parameter values. See the code in test_suite/system_tests/ > for plenty of such examples. Obviously these tests will fail at the > start, but once the Python code for the eta_xy data is in place and > correct, the tests will pass. > > After the tests have been added, then I can help point you in the > right direction with the model-free target function code. There was > one abortive effort to handle anisotropic chemical shift tensors and > multiple dipolar relaxation data, which as later merged for archival > purposes into the CST branch of relax (see > https://marc.info/?t=135070783800002&r=2&w=2). This was by Pavel > Kaderavek and Petr Novak back in 2008: > > https://mail.gna.org/public/relax-devel/2008-12/msg00046.html > > This might be worth having a look at as some of the concepts might be > similar. The 'cst_1.2.10' branch might be the most informative, as > the 'cst' branch was a failed attempt to keep this code up to date > with the relax trunk. Note though that the code developed there was > not ideal as the model-free code was simply replicated 6 times for the > different data types. Instead I would like to help you so that the > input data structure for the model-free functions are modified, and > the model-free functional code is reused for all data types. For > eta_xy data, do we need the full chemical shift tensor as an input? > > Regards, > > Edward > > > P. S. As for implementing the eta_xy data, have you thought of eta_z > data as well? If you implement eta_xy support, adding eta_z support > in addition should be relatively easy. _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list relax-devel@gna.org To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel