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 24, 2008 - 02:46:
Maybe I need to use 'N' for the spin_name column because the extracted
vector is
H-H, which is very weird. It took 10 rounds for the 'prolate' script to
converge:

RelaxWarning: The XH bond vector for residue ':211@H' is of zero length.
Extracted H-H vectors for ':211@H'.



Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:

Ok, one bug is because of the HETNUC variable.  It is set twice.  The
first should be renamed, but I'll worry about that later.  The real
reason is because you need to name the spins.  This can be done by
setting the spin_name column of the file containing the sequence to
the PDB atom name.  I will also modify the script to use the first
HETNUC value to set the spin name if not set by the sequence file.

Regards,

Edward



On Thu, Oct 23, 2008 at 5:57 PM, Tyler Reddy <TREDDY@xxxxxx> wrote:
Yeah, go ahead. Also, you closed the bug report so I can't actually attach
the
file to it. I'll try attaching the full_analysis.py script to this message..
hopefully the mailing list allows that.

Tyler

Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:

Right, got it and can reproduce the bug.  I think I know what the
issue is, but would you be able to attach the full_analysis.py script
to the bug report so I can confirm it?  Well, actually there are
probably two issues, the first being a problem with the full analysis
script not setting the spin names (hence it can't find the unnamed
atoms in the PDB file) and the second is that relax isn't catching
this.  Also, would it be ok if I added the truncated results.bz2 and
PDB_file_truncate_random.pdb files to the relax test suite?  This will
allow me to fix the second issue (for the first, the full_analysis.py
script needs checking).

Cheers,

Edward


On Thu, Oct 23, 2008 at 4:48 PM, Tyler Reddy <TREDDY@xxxxxx> wrote:

The aic results file should be attached to the bug report. It looks like
it's
there when I check it.

Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:

Hi,

I've tried the PDB file and it seems to be fine.  There are no strange
formatting issues there.  Therefore it is caused by the loaded
'local_tm/aic/results.bz2' file which is somehow not matching the
loading of the PDB file.  Unfortunately I can't work out what is
causing the XH bond vectors from the PDB file to not be extracted.
This is what the loading of vectors should look like:

relax> structure.vectors(attached='H', spin_id=None,
struct_index=None, verbosity=1, ave=True, unit=True)
Extracting vectors from the single structure.
Calculating the unit vectors.
The attached atom is a proton.

RelaxWarning: No attached atom could be found (atom ID ':1@1&@N').
RelaxWarning: No attached atom could be found (atom ID ':2@11&@N').
Extracted N-H vectors for ':3@28&@N'.
Extracted N-H vectors for ':4@51&@N'.
Extracted N-H vectors for ':5@59&@N'.
Extracted N-H vectors for ':6@71&@N'.
Extracted N-H vectors for ':7@91&@N'.
Extracted N-H vectors for ':8@104&@N'.
RelaxWarning: No attached atom could be found (atom ID ':9@116&@N').
RelaxWarning: No attached atom could be found (atom ID ':10@133&@N').
Extracted N-H vectors for ':11@150&@N'.
Extracted N-H vectors for ':12@167&@N'.
RelaxWarning: Either the spin number or name must be set for the spin
':13' to identify the corresponding atom in the structure.
RelaxWarning: Either the spin number or name must be set for the spin
':14' to identify the corresponding atom in the structure.
RelaxWarning: Either the spin number or name must be set for the spin
':15' to identify the corresponding atom in the structure.


These are the messages from one of the system tests.  Note the
"Extracted N-H vectors for" lines which are missing from your
printout.  By using the following commands in relax:

pipe.create(pipe_name='ellipsoid', pipe_type='mf')
structure.read_pdb(file='PDB_file_truncate_random.pdb', dir=None,
model=None, parser='scientific')
structure.load_spins()
structure.vectors(attached='H', spin_id=None, struct_index=None,
verbosity=1, ave=True, unit=True)


I get the following print out from the last user function:

relax> structure.vectors(attached='H', spin_id=None,
struct_index=None, verbosity=1, ave=True, unit=True)
Extracting vectors from the single structure.
Calculating the unit vectors.
The attached atom is a proton.

Extracted N-H vectors for '#A:111@58&@N'.
Extracted CA-H vectors for '#A:111@59&@CA'.
Extracted C-H vectors for '#A:111@60&@C'.
Extracted O-H vectors for '#A:111@61&@O'.
Extracted CB-H vectors for '#A:111@62&@CB'.
Extracted CG-H vectors for '#A:111@63&@CG'.
Extracted CD1-H vectors for '#A:111@64&@CD1'.
Extracted CD2-H vectors for '#A:111@65&@CD2'.
RelaxWarning: The XH bond vector for residue '#A:111@66&@H' is of
zero length.
Extracted H-H vectors for '#A:111@66&@H'.
Extracted HA-H vectors for '#A:111@67&@HA'.
Extracted HB2-H vectors for '#A:111@68&@HB2'.
Extracted HB3-H vectors for '#A:111@69&@HB3'.
Extracted HG-H vectors for '#A:111@70&@HG'.
Extracted HD11-H vectors for '#A:111@71&@HD11'.
Extracted HD12-H vectors for '#A:111@72&@HD12'.
Extracted HD13-H vectors for '#A:111@73&@HD13'.
Extracted HD21-H vectors for '#A:111@74&@HD21'.
Extracted HD22-H vectors for '#A:111@75&@HD22'.
Extracted HD23-H vectors for '#A:111@76&@HD23'.


Obviously some of these vectors are a bit strange, but this test shows
that there is no problem extracting them from your PDB file.
Therefore I think I'd need the loaded results file (truncated and
randomised if you wish) to be able to identify the problem.

Regards,

Edward


On Wed, Oct 22, 2008 at 3:02 PM, Tyler Reddy <TREDDY@xxxxxx> wrote:

Okay, I submitted the report. Let me know if there's more information
you
need
or a better way to submit bug reports in general.. haven't done this
before.
Also, I had to manually copy/paste the output, and while it looks fine,
if
there is a problem with the same pdb structure getting read twice or
something
that's probably just my pasting error from the unix terminal to the
browser.

On that note, how can I fix this command:

relax full_analysis.py > STDOUT.txt 2> STDERR.txt
tcsh: Ambiguous output redirect.

Or better yet, can I merge all the output streams to a single text file
and
display the output in the terminal at the same time as well (maybe I'm
getting
too ambitious there..)?

Also, I do get the same output for 'ellipsoid' as well, as Seb asked.

Yours,

Tyler


Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:

Hi,

This issue looks like a problem with the loaded PDB structure.  The
'local_tm' and 'sphere' optimisations do not utilise structural
information, but the 'oblate' and 'prolate' spheroids, and the
'ellipsoid' all require this info.  Normally relax will catch this
problem and deselect the spins without XH bond vectors, but this seems
to be broken in the 1.3 versions hence you get the original cryptic
Python error.  As this is a real bug with the relax source code (and
not a yet-to-be converted feature or a sample script), would you be
able to submit a bug report for this issue?  The relax bug tracker is
located at https://gna.org/bugs/?group=relax and the link at
https://gna.org/bugs/?func=additem&group=relax allows you to create a
report.  That would be much appreciated.

The bug report will be useful for having this error caught by the
relax test suite - if I can replicate the bug there then I can play
with the bug and fix it.  Note the the actual problem occurred earlier
starting with the loading of the PDB file at the structure.read_pdb()
user function.  So if you could include all print out from that user
function to the end of the traceback error message, that would be very
useful.

Cheers,

Edward


On Wed, Oct 22, 2008 at 3:17 AM, Tyler Reddy <TREDDY@xxxxxx> wrote:

Hi Seb,

I just tested 'oblate' and it produces the same error output.

Tyler


Quoting Sébastien Morin <sebastien.morin.1@xxxxxxxxx>:

Hi Tyler,

Do you get the same error when trying the 'oblate' or 'ellipsoid'
diffusion tensors ?


Sébastien


Tyler Reddy wrote:

I'm having an issue with the full_analysis.py script. It seems to
work
fine when
DIFF_MODEL = 'local_tm' or 'sphere' (converges on 4th round) but
for
'prolate'
I get the following output:

Grid search
~~~~~~~~~~~

Searching the grid.
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_er
 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 "full_analysis.py", line 673, in <module>
  Main(self.relax)
 File "full_analysis.py", line 284, in __init__
  grid_search(inc=inc)
 File "/Applications/relax-1.3.1/relax-1.3/prompt/minimisation.py",
line 152,
in grid_search
  minimise.grid_search(lower=lower, upper=upper, inc=inc,
constraints=constraints, verbosity=verbosity)
 File
"/Applications/relax-1.3.1/relax-1.3/generic_fns/minimise.py", line
185,
in grid_search
  grid_search(lower=lower, upper=upper, inc=inc,
constraints=constraints,
verbosity=verbosity)
 File


"/Applications/relax-1.3.1/relax-1.3/specific_fns/model_free/mf_minimise.py",
line 479, in grid_search
  self.minimise(min_algor='grid', lower=lower, upper=upper,
inc=inc,
constraints=constraints, verbosity=verbosity, sim_index=sim_index)
 File


"/Applications/relax-1.3.1/relax-1.3/specific_fns/model_free/mf_minimise.py",
line 987, in minimise
  results = generic_minimise(func=self.mf.func,
dfunc=self.mf.dfunc,
d2func=self.mf.d2func, args=(), x0=param_vector,
min_algor=min_algor,
min_options=min_options, func_tol=func_tol, g
l, maxiter=max_iterations, A=A, b=b, full_output=1,
print_flag=verbosity)
 File


"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/minfx/generic.py",
line 319, in generic_minimise
  xk, fk, k = grid(func=func, args=args, grid_ops=min_options,
A=A, b=b, l=l,
u=u, c=c, print_flag=print_flag)
 File


"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/minfx/grid.py",
line 129, in grid
  f = func(*(params,)+args)
 File "/Applications/relax-1.3.1/relax-1.3/maths_fns/mf.py", line
506,
in
func_diff
  self.diff_data.calc_di(data, self.diff_data)
 File

"/Applications/relax-1.3.1/relax-1.3/maths_fns/direction_cosine.py",
line
64, in calc_spheroid_di
  data.dz = dot(data.xh_unit_vector, diff_data.dpar)
TypeError: unsupported operand type(s) for *: 'NoneType' and
'float'




Quoting Edward d'Auvergne <edward@xxxxxxxxxxxxx>:


Hi,

For the bug you mention, I've fixed this and the changes are in
the
repository.  There were a few other issues to do with subsequent
LaTeX
compilation and these have been fixed too.  You can see the new
sample
script at:  http://svn.gna.org/viewcvs/relax/1.3/sample_scripts/

Regards,

Edward


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?

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).

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.

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









_______________________________________________
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





_______________________________________________
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





_______________________________________________
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


_______________________________________________
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










_______________________________________________
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





_______________________________________________
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



_______________________________________________
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 Fri Oct 24 10:40:58 2008