mailRe: Model-Free Results Output


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Tyler Reddy on October 21, 2008 - 12:37:
I have data at 3 field strengths. Thanks for the references--I had already had
your 2008 papers, but some of the others could be useful. Also good to know I
was using the wrong script!

Tyler




Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:

On Tue, Oct 21, 2008 at 3:44 AM, Tyler Reddy <TREDDY@xxxxxx> 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 <edward@xxxxxxxxxxxxx>:

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
<edward@xxxxxxxxxxxxx> 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 <TREDDY@xxxxxx> 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 <edward@xxxxxxxxxxxxx>:

On Mon, Oct 20, 2008 at 5:12 PM, Tyler Reddy <TREDDY@xxxxxx> 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@xxxxxxx

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














Related Messages


Powered by MHonArc, Updated Wed Oct 22 02:20:29 2008