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 <[EMAIL PROTECTED]> wrote:
> Hi Seb,
>
> I just tested 'oblate' and it produces the same error output.
>
> Tyler
>
>
> Quoting Sébastien Morin <[EMAIL PROTECTED]>:
>
>> 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 <[EMAIL PROTECTED]>:
>>>
>>>
>>>> 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 <[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?
>>>>>
>>>>> 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 <[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
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>> 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
>>> [email protected]
>>>
>>> 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
>> [email protected]
>>
>> 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
> [email protected]
>
> 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
[email protected]

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

Reply via email to