On Tue, Oct 21, 2008 at 3:44 AM, Tyler Reddy <[EMAIL PROTECTED]> wrote: > Hello, > > 1) I changed that line and I'm still having a bit of trouble (see output > below). > > 2) The errors that I'm using are described as 'the standard error for each > parameter... [which] is an easy calculation from the covariance matrix.' > Paraphrasing from the author there--I'm guessing this isn't the optimal > input?
These are not completely unreasonable for a simple exponential fit, but are not great. The use of the covariance matrix is known to be the dirtiest and roughest technique for parameter errors and requires that the optimisation space be quadratic, which is often not the case. The space in the immediate vacinity of the minimum is quadratic, but further out where the errors are scattered, the space is more convoluted and hence the errors aren't very accurate. > 3) I'm not sure it's explicitly stated in the manual, but I'm proceeding on > the > assumption that you run the multi-model script first and then modsel to > decide > on the right model for each given residue. A few weeks ago I was > experimenting > with this and if I didn't leave the global correlation time as fixed the > computation seemed to take a VERY long time (unclear if it was ever going to > finish). If you have data at more than one field strength, I would recommend the 'full_analysis.py' sample script. The reasons are given in d'Auvergne, E. J. and Gooley, P. R. (2008). Optimisation of NMR dynamic models II. (http://www.nmr-relax.com/refs.html). If not, then you'll need to be careful as to what you do here. The multi-model and modsel script are only a small part of the picture. You need to then optimise the diffusion tensor. These are 3 components of one element of the analysis. You must repeat these until convergence of the global model. Please see figures 6.1, 6.2, and 6.3 of the 1.3.2 or 1.2.14 relax manuals for more details. I can't emphasise enough how important applying all of these steps are. And if you want to avoid the problems of artificial motions (d'Auvergne E. J., Gooley P. R. (2007). Set theory formulation of the model-free problem and the diffusion seeded model-free paradigm. Mol. Biosyst., 3(7), 483-494. http://www.nmr-relax.com/refs.html), then I would highly recommend data at 2 or more field strengths. And finally, once convergence of the global model has been reached, you can then do Monte Carlo simulations to propagate the errors from the relaxation data to the model-free parameters. This will generate the s2_sim, etc. data structures that are missing from the LaTeX table generating script. I'll add checks to this script so that errors are not required, but an analysis must have Monte Carlo simulations. As for the calculation taking a very long time when optimisating the global model (model-free parameters of all spins + diffusion tensor), that is because this model is absolutely huge, the space is highly convoluted, and you are starting a very long way away from the global minimum. And then which model-free models are selected influence this model and vice verse. Again see the 2007 reference for a full investigation of this issue. > Also, as a side note, since my peptide is actually in a micelle, I'm not > sure if > there's anything extra I can do for diffusion tensor and correlation time > type > stuff. I know some programs (i.e. the Mathematica notebooks by Dr. > Spyracopoulos) read in PDB files for diffusion tensor calculations, but I > suspect it's a bit of a mess when the system is more complicated than the > structure in the PDB file would suggest. Ah, so you'll have quite a mobile system. You will have nanosecond motions throughout the system on top of the diffusion tensor and the fast picosecond internal motions. I would suggest you look to the similar bacteriorhodopsin work of Orekhov, V. Y., Korzhnev, D. M., Diercks, T., Kessler, H., and Arseniev, A. S. (1999). H-1-N-15 NMR dynamic study of an isolated alpha-helical peptide (1-36)-bacteriorhodopsin reveals the equilibrium helix-coil transitions. J. Biomol. NMR, 14(4), 345–356. The verdict, and I would 100% recommend as being 100% essential - you must, must have data at more than 1 field strength to study this system! This system is absolutely impossible to study the dynamics of otherwise. If you don't believe me, see also sections 6.4.3, 6.4.4, and all of chapter 5 of my PhD thesis (http://repository.unimelb.edu.au/10187/2281). Chapter 5, which is almost the same as my 2007 Mol. Biosyst. paper, will point you to many other references which should hopefully demonstrate the absolute must of having multiple field strength data for such a highly mobile system. Regards, Edward > > Output: > > Latex() > ---------------------------------------------------------------------------------------------------- > > relax> pipe.create(pipe_name='results', pipe_type='mf') > > relax> results.read(file='results', dir=None) > Opening the file 'results' for reading. > Traceback (most recent call last): > File "/Applications/relax-1.3.1/relax-1.3/relax", line 408, in <module> > Relax() > File "/Applications/relax-1.3.1/relax-1.3/relax", line 125, in __init__ > self.interpreter.run(self.script_file) > File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", line 270, > in > run > return run_script(intro=self.__intro_string, local=self.local, > script_file=script_file, quit=self.__quit_flag, > show_script=self.__show_script, > raise_relax_error=self.__raise_relax_error) > File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", line 531, > in > run_script > return console.interact(intro, local, script_file, quit, > show_script=show_script, raise_relax_error=raise_relax_error) > File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", line 427, > in > interact_script > execfile(script_file, local) > File "latex_mf_table.py", line 220, in <module> > Latex() > File "latex_mf_table.py", line 68, in __init__ > self.table_body() > File "latex_mf_table.py", line 186, in table_body > self.file.write("%9.3f & %9.3f & " % (spin.s2, spin.s2_err)) > AttributeError: 'SpinContainer' object has no attribute 's2_err' > > > > Quoting Edward d'Auvergne <[EMAIL PROTECTED]>: > >> Hi, >> >> Using a new system test, I found one more bug in the script. This has >> been fixed in the 1.3 repository line. If you haven't used subversion >> to check out (and update) the 1.3 line, then you can see the changes >> required in my commit at: >> >> https://mail.gna.org/public/relax-commits/2008-10/msg00402.html >> >> Just change the line starting with '-' to the line starting with '+'. >> Oh, it may take a few minutes for the link to be generated. >> >> Regards, >> >> Edward >> >> >> On Mon, Oct 20, 2008 at 10:12 PM, Edward d'Auvergne >> <[EMAIL PROTECTED]> wrote: >>> >>> Hi, >>> >>> That's a bug in the sample script. Try adding a ':' character to the >>> end of line 171 in your script. I've fixed this in the 1.3 repository >>> line and will try to add a system test to the program to try to catch >>> any bugs before you do ;) >>> >>> Cheers, >>> >>> Edward >>> >>> >>> >>> On Mon, Oct 20, 2008 at 9:27 PM, Tyler Reddy <[EMAIL PROTECTED]> wrote: >>>> >>>> I've been trying to use the latex python script on the aic results file. >>>> I get >>>> the syntax error below. Not sure if I'm doing something wrong or if >>>> there's >>>> just a small problem with that line of code: >>>> >>>> Latex() >>>> >>>> ---------------------------------------------------------------------------------------------------- >>>> Traceback (most recent call last): >>>> File "/Applications/relax-1.3.1/relax-1.3/relax", line 408, in <module> >>>> Relax() >>>> File "/Applications/relax-1.3.1/relax-1.3/relax", line 125, in __init__ >>>> self.interpreter.run(self.script_file) >>>> File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", >>>> line 270, in >>>> run >>>> return run_script(intro=self.__intro_string, local=self.local, >>>> script_file=script_file, quit=self.__quit_flag, >>>> show_script=self.__show_script, >>>> raise_relax_error=self.__raise_relax_error) >>>> File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", >>>> line 531, in >>>> run_script >>>> return console.interact(intro, local, script_file, quit, >>>> show_script=show_script, raise_relax_error=raise_relax_error) >>>> File "/Applications/relax-1.3.1/relax-1.3/prompt/interpreter.py", >>>> line 427, in >>>> interact_script >>>> execfile(script_file, local) >>>> File "latex_mf_table.py", line 171 >>>> for spin, spin_id in spin_loop(return_id=True) >>>> SyntaxError: invalid syntax >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> Quoting Edward d'Auvergne <[EMAIL PROTECTED]>: >>>> >>>>> On Mon, Oct 20, 2008 at 5:12 PM, Tyler Reddy <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> Hello, >>>>>> >>>>>> 1) >>>>>> >>>>>> I have been using the multi model and model selection scripts in >>>>>> relax 1.3.2 but >>>>>> I have trouble displaying the output in a tabulated format. Both >>>>>> scripts seem >>>>>> to produce an xml document with various headers that isn't easy to >>>>>> read. It >>>>>> looks like format='columnar' isn't supported. I wonder what other >>>>>> options I >>>>>> have to look at this data? For some reason, I don't recall having >>>>>> this problem >>>>>> on a Linux machine a few weeks ago (using a Mac OS 10.4 at the >>>>>> moment), but >>>>>> anyways it would be nice to get readable model-free output. >>>>> >>>>> The results file is now in XML format and the more readable 'columnar' >>>>> format has been removed from the 1.3 line. With the change to the new >>>>> XML results file all the contents of a data pipe, irrespective of what >>>>> that data is, is packaged. So you can put data into this pipe >>>>> yourself and it will save that information (for advanced users, >>>>> complex python objects will need the to_xml() and from_xml() methods >>>>> to package and unpackage the data). The reason for removing the >>>>> 'columnar' format was that it was considered too inflexible for the >>>>> changes occuring in the 1.3 line, it contained duplicate information, >>>>> had numerical precision issues, and there were alternatives to easily >>>>> view this data. You can use the value.display() and value.write() >>>>> user functions to display and save the results for a single parameter. >>>>> If needed, these user functions could be extended to accept a list of >>>>> parameters. >>>>> >>>>> Then there is the sample_scripts/latex_mf_table.py sample script which >>>>> will generate a LaTeX table of the model-free results. This file can >>>>> be copied and modified - this requires learning a bit of python - to >>>>> format and display the results any way you wish. And finally if >>>>> anyone really wants to, and has the skills to, they can modify this >>>>> sample script to recreate a version of the 'columnar' format. This >>>>> could be added to the relax sample scripts, and if their skills are >>>>> very advanced, then much code from the 1.2 relax versions can be >>>>> recycled. >>>>> >>>>> >>>>>> 2) >>>>>> >>>>>> The error input for the relaxation rate parameters is currently my >>>>>> non-linear >>>>>> curve fitting standard deviation. I'm not sure if that means >>>>>> subsequent >>>>>> analysis will be completely incorrect? I guess it depends on the >>>>>> comparison of >>>>>> magnitude between these errors and the type of error that is >>>>>> propagated by >>>>>> relax during its own curve-fitting (which I am unable to do at the >>>>>> moment). >>>>> >>>>> I'm guessing this is the sum of squared error value (SSE) from the >>>>> fit. Or is it a regression coefficient or a chi-squared value? Did >>>>> the fitting use a technique such as bootstrapping or jackknife >>>>> simulations to estimate the parameter errors via propagation? Or did >>>>> it use the covariance matrix? If it is the SSE, chi-squared, or >>>>> regression coefficient then that value cannot be used. This will be >>>>> wildly wrong and cause massive failure in model selection. It will >>>>> cause big problems in optimisation, and if you are unlucky and have >>>>> spaces with long, curved valleys or flat curved spaces leading to the >>>>> minimum (that's model-free models m5 to m8 in most cases and not so >>>>> uncommon in model m4) then the minimum can be squeezed and appear in >>>>> another completely different region in the space. It will likely also >>>>> cause model failure issues, which although removed by the eliminate() >>>>> user function, might discount the best solution. I would guess that >>>>> all of this will have a measurable affect on the final diffusion >>>>> tensor as well and, if so, this will cause the appearance of >>>>> artificial motions (my 2007 JBNMR paper at >>>>> http://dx.doi.org/10.1039/b702202f explains these problems in detail). >>>>> If one is not careful with the errors and they are significantly off, >>>>> then the result is that the results may not be real. So I would only >>>>> use the error if it comes from an established error propagation >>>>> technique (i.e. from data to parameter error propagation). >>>>> >>>>> Regards, >>>>> >>>>> Edward >>>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> relax (http://nmr-relax.com) >>>> >>>> This is the relax-users mailing list >>>> relax-users@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-users >>>> >>> >> > > > > _______________________________________________ relax (http://nmr-relax.com) This is the relax-users mailing list relax-users@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-users