Can you give a hint?

I need to fix this rather fast, and get on with some relax problems.

I think I can probably convince you, that relax have some issues.
I have several times seen "inf" values in the minimisation algorithm.

Try
cp 
$HOME/software/NMR-relax/relax_trunk/test_suite/system_tests/scripts/relax_disp/cpmg_synthetic.py
.
Set ds.GRID_INC = None.
Set ds.opendx = False

And see that the function value goes bananas!

Why is this ????

Is it because of lib/dispersion/cr72.py
where:
####################
        # Catch large values of etapos going into the cosh function.
        if etapos > 100:
            back_calc[i] = 1e100
            continue

        # The arccosh argument - catch invalid values.
        fact = Dpos * cosh(etapos) - Dneg * cos(etaneg)
        if fact < 1.0:
            back_calc[i] = r20_kex
            continue
###################


Or is it because that:
relax_trunk/specific_analyses/relax_disp/parameters.py linear_constraints() has:
0 <= kex <= 2e6

That should really only be:
CPMG: 10.000
R1rho: 50.000 - 100.000 ?

But not: 2000000 !
No experiment can see this ???

Or is it because there is no minimisation restraint on dw?
So it can just fly out of the scale.


Jesus.
Something is wrong....
I know it, but I simply can't prove to you, before I get that map. :-)

There must be a hill over dw, pA and kex.

A chi2 of pA=0.5 with high dw, must nearly be the same as pA=0.9x with low dw.
And relax is not happy for low dw.

So it goes out of scale on dw, finding pA=0.5.

Or is it in the scaling matrix?

Best
The fighting Troels







2014-05-05 17:48 GMT+02:00 Edward d'Auvergne <[email protected]>:
> The Map.map_3D_text() method was designed for single spin model-free
> models.  It fails otherwise.  This might be a case of not enough user
> feedback.  It will be easy to fix though.
>
> Regards,
>
> Edward
>
>
>
> On 5 May 2014 17:45, Edward d'Auvergne <[email protected]> wrote:
>> Ok, now I can reproduce it :)  It is the Map.map_3D_text() method of
>> the pipe_control.opendx module where the problem really is.
>>
>> Regards,
>>
>> Edward
>>
>>
>>
>> On 5 May 2014 17:37, Troels Emtekær Linnet <[email protected]> wrote:
>>> When reverting the change, you can get the bug by:
>>>
>>> relax test_suite/system_tests/scripts/relax_disp/cpmg_synthetic.py
>>>
>>> 2014-05-05 17:36 GMT+02:00 Troels Emtekær Linnet <[email protected]>:
>>>> Hi Edward.
>>>>
>>>> Sorry for being unclear.
>>>>
>>>> It is this comment:
>>>> https://gna.org/bugs/?22012#comment3
>>>>
>>>>
>>>>
>>>> dx.map(params=['dw', 'pA', 'kex'], map_type='Iso3D', spin_id=':1@N',
>>>> inc=20, lower=None, upper=None, axis_incs=5, file_prefix='map',
>>>> dir=None, point=None, point_file='point', remap=None)
>>>>
>>>> Creating the OpenDX .net program file.
>>>> Opening the file 'map.net' for writing.
>>>>
>>>> Creating the OpenDX .cfg program configuration file.
>>>> Opening the file 'map.cfg' for writing.
>>>>
>>>> Creating the OpenDX .general file.
>>>> Opening the file 'map.general' for writing.
>>>>
>>>> Creating the map.
>>>> Opening the file 'map' for writing.
>>>> Progress: 0.000%
>>>> RelaxWarning: invalid value encountered in double_scalars
>>>> debug> Execution lock: Release by 'script UI' ('script' mode).
>>>> Traceback (most recent call last):
>>>> File "/Users/tlinnet/software/relax_trunk/multi/processor.py", line 494, 
>>>> in run
>>>> self.callback.init_master(self)
>>>> File "/Users/tlinnet/software/relax_trunk/multi/__init__.py", line
>>>> 318, in default_init_master
>>>> self.master.run()
>>>> File "/Users/tlinnet/software/relax_trunk/relax.py", line 194, in run
>>>> self.interpreter.run(self.script_file)
>>>> File "/Users/tlinnet/software/relax_trunk/prompt/interpreter.py", line
>>>> 275, in run
>>>> return run_script(intro=self.__intro_string, local=locals(),
>>>> script_file=script_file, show_script=self.__show_script,
>>>> raise_relax_error=self.__raise_relax_error)
>>>> File "/Users/tlinnet/software/relax_trunk/prompt/interpreter.py", line
>>>> 569, in run_script
>>>> return console.interact(intro, local, script_file,
>>>> show_script=show_script, raise_relax_error=raise_relax_error)
>>>> File "/Users/tlinnet/software/relax_trunk/prompt/interpreter.py", line
>>>> 468, in interact_script
>>>> exec_script(script_file, local)
>>>> File "/Users/tlinnet/software/relax_trunk/prompt/interpreter.py", line
>>>> 347, in exec_script
>>>> runpy.run_module(module, globals)
>>>> File 
>>>> "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/runpy.py",
>>>> line 180, in run_module
>>>> fname, loader, pkg_name)
>>>> File 
>>>> "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/runpy.py",
>>>> line 72, in _run_code
>>>> exec code in run_globals
>>>> File 
>>>> "/Users/tlinnet/software/relax_trunk/test_suite/system_tests/scripts/relax_disp/cpmg_synthetic.py",
>>>> line 277, in <module>
>>>> dx.map(params=['dw', 'pA', 'kex'], map_type='Iso3D', spin_id=":1@N",
>>>> inc=20, lower=None, upper=None, axis_incs=5, file_prefix='map',
>>>> dir=ds.resdir, point=None, point_file='point', remap=None)
>>>> File "/Users/tlinnet/software/relax_trunk/prompt/uf_objects.py", line
>>>> 221, in _call_
>>>> self._backend(*new_args, **uf_kargs)
>>>> File "/Users/tlinnet/software/relax_trunk/pipe_control/opendx.py",
>>>> line 88, in map
>>>> Map(params, spin_id, inc, lower, upper, axis_incs, file_prefix, dir,
>>>> point, point_file, remap)
>>>> File "/Users/tlinnet/software/relax_trunk/pipe_control/opendx.py",
>>>> line 184, in _init_
>>>> self.create_map()
>>>> File "/Users/tlinnet/software/relax_trunk/pipe_control/opendx.py",
>>>> line 197, in create_map
>>>> self.map_3D_text(map_file)
>>>> File "/Users/tlinnet/software/relax_trunk/pipe_control/opendx.py",
>>>> line 255, in map_3D_text
>>>> k, n, chi2 = self.model_statistics(spin_id=self.spin_id)
>>>> File 
>>>> "/Users/tlinnet/software/relax_trunk/specific_analyses/relax_disp/api.py",
>>>> line 683, in model_statistics
>>>> spins = spin_ids_to_containers(spin_ids)
>>>> File 
>>>> "/Users/tlinnet/software/relax_trunk/specific_analyses/relax_disp/data.py",
>>>> line 3620, in spin_ids_to_containers
>>>> for id in spin_ids:
>>>> TypeError: 'NoneType' object is not iterable
>>>>
>>>> 2014-05-05 17:27 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>> The argument checking is reasonable, but the code:
>>>>>
>>>>> +        #spins = spin_ids_to_containers(spin_ids)
>>>>> +
>>>>> +        spins_list = []
>>>>> +        for spin_id in self.model_loop():
>>>>> +            spins_list.append(spin_id[0])
>>>>> +
>>>>> +        spins = spin_ids_to_containers(spins_list)
>>>>>
>>>>> breaks the logic.  This cannot be done, as the code calling
>>>>> model_statistics() must be looping over the models (i.e. the
>>>>> model_loop()), so you cannot have the model_loop() inside it.  Any API
>>>>> method which accepts the model_info argument will follow this logic.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Edward
>>>>>
>>>>>
>>>>>
>>>>> On 5 May 2014 17:23, Edward d'Auvergne <[email protected]> wrote:
>>>>>> The original code was correct.  The full test suite passes when this
>>>>>> change is not included.  Why did you make this change?  What was the
>>>>>> purpose?  I'm a little confused.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Edward
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 5 May 2014 17:15, Troels Emtekær Linnet <[email protected]> wrote:
>>>>>>> Ehhhh.
>>>>>>>
>>>>>>> Can you suggest a change?
>>>>>>>
>>>>>>> Best
>>>>>>> Troels
>>>>>>>
>>>>>>> 2014-05-05 17:05 GMT+02:00 Edward d'Auvergne <[email protected]>:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I now have the failure when running:
>>>>>>>>
>>>>>>>> $ ./relax -s Relax_disp.test_hansen_cpmg_data_auto_analysis
>>>>>>>>
>>>>>>>> This is because the change is incorrect.  The model_statistics()
>>>>>>>> method is called once for each individual model - for each iteration
>>>>>>>> of the model_loop(), which for the dispersion analysis is each spin
>>>>>>>> cluster (or individual spins).  The logic:
>>>>>>>>
>>>>>>>>         spins_list = []
>>>>>>>>         for spin_id in self.model_loop():
>>>>>>>>             spins_list.append(spin_id[0])
>>>>>>>>
>>>>>>>>         spins = spin_ids_to_containers(spins_list)
>>>>>>>>
>>>>>>>> is incorrect as the model_loop() loops over all spin clusters.
>>>>>>>> Therefore the 'spins' object will now be a list of the first spin
>>>>>>>> system from all clusters.  Previously it was simply a list of all the
>>>>>>>> spins for the current spin cluster.  I hope this makes sense.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Edward
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 5 May 2014 16:52, Troels Emtekær Linnet <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>> Now ready to be tested with:
>>>>>>>>>
>>>>>>>>> relax -s Relax_disp.test_hansen_cpmg_data_auto_analysis -d
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------- Forwarded message ----------
>>>>>>>>> From:  <[email protected]>
>>>>>>>>> Date: 2014-05-05 16:46 GMT+02:00
>>>>>>>>> Subject: r22958 - /trunk/specific_analyses/relax_disp/api.py
>>>>>>>>> To: [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Author: tlinnet
>>>>>>>>> Date: Mon May  5 16:46:10 2014
>>>>>>>>> New Revision: 22958
>>>>>>>>>
>>>>>>>>> URL: http://svn.gna.org/viewcvs/relax?rev=22958&view=rev
>>>>>>>>> Log:
>>>>>>>>> Inserted commit r22954 to fix the AIC method selection.
>>>>>>>>>
>>>>>>>>> The command used was:
>>>>>>>>> svn merge -r22953:r22954 .
>>>>>>>>>
>>>>>>>>> .....
>>>>>>>>>     Attempt to fix function model_statistics() in API for relax_disp.
>>>>>>>>>
>>>>>>>>>     bug #22012(https://gna.org/bugs/?22012): dx.map not implemented
>>>>>>>>> for pipe type relax_disp.
>>>>>>>>>
>>>>>>>>>     Modified:
>>>>>>>>>         trunk/specific_analyses/relax_disp/api.py
>>>>>>>>> .....
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Modified:
>>>>>>>>>     trunk/specific_analyses/relax_disp/api.py
>>>>>>>>>
>>>>>>>>> Modified: trunk/specific_analyses/relax_disp/api.py
>>>>>>>>> URL: 
>>>>>>>>> http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/api.py?rev=22958&r1=22957&r2=22958&view=diff
>>>>>>>>> ==============================================================================
>>>>>>>>> --- trunk/specific_analyses/relax_disp/api.py   (original)
>>>>>>>>> +++ trunk/specific_analyses/relax_disp/api.py   Mon May  5 16:46:10 
>>>>>>>>> 2014
>>>>>>>>> @@ -678,9 +678,21 @@
>>>>>>>>>          @rtype:                 tuple of (int, int, float)
>>>>>>>>>          """
>>>>>>>>>
>>>>>>>>> +        # Bad argument combination.
>>>>>>>>> +        if model_info == None and spin_id == None:
>>>>>>>>> +            raise RelaxError("Either the model_info or spin_id
>>>>>>>>> argument must be supplied.")
>>>>>>>>> +        elif model_info != None and spin_id != None:
>>>>>>>>> +            raise RelaxError("The model_info arg " + repr(model_info)
>>>>>>>>> + " and spin_id arg " + repr(spin_id) + " clash.  Only one should be
>>>>>>>>> supplied.")
>>>>>>>>> +
>>>>>>>>>          # Unpack the data.
>>>>>>>>>          spin_ids = model_info
>>>>>>>>> -        spins = spin_ids_to_containers(spin_ids)
>>>>>>>>> +        #spins = spin_ids_to_containers(spin_ids)
>>>>>>>>> +
>>>>>>>>> +        spins_list = []
>>>>>>>>> +        for spin_id in self.model_loop():
>>>>>>>>> +            spins_list.append(spin_id[0])
>>>>>>>>> +
>>>>>>>>> +        spins = spin_ids_to_containers(spins_list)
>>>>>>>>>
>>>>>>>>>          # The number of parameters for the cluster.
>>>>>>>>>          k = param_num(spins=spins)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> relax (http://www.nmr-relax.com)
>>>>>>>>>
>>>>>>>>> This is the relax-commits 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-commits
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> relax (http://www.nmr-relax.com)
>>>>>>>>>
>>>>>>>>> This is the relax-devel 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-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel 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-devel

Reply via email to