mailRe: RelaxWarning: comparison to `None` will result in an elementwise object comparison in the future


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

Header


Content

Posted by Edward d'Auvergne on October 16, 2015 - 14:36:
On 12 October 2015 at 09:04, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
On 11 October 2015 at 19:32, Sze Chan <samuelsw.chan@xxxxxxxxxxxxxxxx> 
wrote:
Hello,


While I was setting up my modelfree analysis in the GUI automated protocol 
, I received the error in the controller:


RelaxWarning: comparison to `None` will result in an elementwise object 
comparison in the future.


After loading my data, setting dipolar interactions, setting CSA 
relaxations and setting the isotopes but before execution of the analysis.


I'm not sure what happened to cause the warning, but when the modelfree 
analysis is running, each successive round of optimization in each model 
does not compare to the previous round, instead it would always compare 
each optimized chi-square value to 'none' such as in round 21 of the 
oblate model:


Storing the optimisation results for the spin 
'#LARA_N_term_no_helixFH_reg_mol24:358@N', the optimised chi-squared value 
is lower than the current value (283.50425283 < None).


Even though I'm guessing it should refer to a previously optimised value?


During the analysis it would go through the default 30 rounds of 
optimisation for each global model but not reach convergence.


I was wondering how I can remedy this or at least create a log file so I 
can make my problem more clear.

Hi Sam,

I would suggest running relax with these options:

$ relax --gui --log relax_warning.log --traceback

This will start the GUI, send all output into a 'relax_warning.log'
file, and produce highly detailed RelaxError and RelaxWarning messages
pointing to the exact place in the code where the problem occurred.
Then exit relax once this warning first occurs (using kill if
necessary).

Which version of relax are you using by the way?  And which numpy
version?  The RelaxWarning message you see is either due to Python or
numpy (specifically using newer versions).  I have seen it many times
before, and I try to avoid it in the code where possible.  Strangely I
have never seen this one before.  The relax test suite tests the full
automated dauvergne_protocol analysis, including multiple rounds of
optimisation and convergence tests.  And for each relax release I run
the full test suite on Python version 2.5, 2.6, 2.7, 3.0, 3.1, 3.2,
3.3, and 3.4 (and now 3.5).  Because the test suite has not replicated
the problem you see, maybe it has something to do with numpy.  Anyway,
I look forward to seeing the traceback on that RelaxWarning, and maybe
the output of 'relax -i'.  If you'd like to attach files, then please
create a bug report and attach the file to the report (
https://gna.org/bugs/?func=additem&group=relax ).

Hi Sam,

Thanks for creating the bug report ( https://gna.org/bugs/?23933 ).
From this I can see that the RelaxWarning is not the problem, but
rather this:

"""
relax> relax_data.read(ri_id='R1_600_2', ri_type='R1',
frq=600402816.0, file='C:\\Users\\Sam Chan\\Desktop\\r1_600.txt',
dir=None, spin_id_col=None, mol_name_col=None, res_num_col=1,
res_name_col=None, spin_num_col=None, spin_name_col=None, data_col=2,
error_col=3, sep=None, spin_id='@N*')
Opening the file 'C:\\Users\\Sam Chan\\Desktop\\r1_600.txt' for reading.
Traceback (most recent call last):
  File "C:\relax\gui\wizards\wiz_objects.py", line 166, in _apply
    self.exec_status = self.on_execute()
  File "C:\relax\gui\uf_objects.py", line 917, in on_execute
    return_status = self.execute(self.name, **kargs)
  File "C:\relax\gui\uf_objects.py", line 839, in execute
    return_status = interpreter.apply(uf, *args, **kwds)
  File "C:\relax\gui\interpreter.py", line 109, in apply
    fn(*args, **kwds)
  File "C:\relax\pipe_control\relax_data.py", line 920, in read
    pack_data(ri_id, ri_type, frq, values, errors,
mol_names=mol_names, res_nums=res_nums, res_names=res_names,
spin_nums=spin_nums, spin_names=spin_names, spin_id=spin_id)
  File "C:\relax\pipe_control\relax_data.py", line 767, in pack_data
    if ids:
NameError: global name 'ids' is not defined
"""

Did you see this error in the GUI?  To help debug this, I was
wondering if you could attach a shortened version of the r1_600.txt
file (truncated to 1 or 2 residues, but still enough to trigger the
error).  I could then use this to create a new system or GUI test to
catch the problem.  That will allow me to come up with a fix in
normally a few minutes.  Oh, you may have seen that I just released
relax 4.0.0, the first of the 4 series (
http://wiki.nmr-relax.com/Relax_4.0.0 ).  However this problem you see
will still be present.

Cheers,

Edward



Related Messages


Powered by MHonArc, Updated Fri Oct 16 15:00:10 2015