Hi,

How about these for a hint:

http://www.mail-archive.com/[email protected]/msg20612.html
http://www.mail-archive.com/[email protected]/msg20613.html
http://www.mail-archive.com/[email protected]/msg20615.html

The problem was as mentioned in the commit message.  The spin ID
argument was completely ignored, but it should override the model_info
argument.  Anyway, there are other problems there as I have not
completed the pipe_control.opendx module code.  You may see these
later.

Regards,

Edward



On 5 May 2014 20:48, Troels Emtekær Linnet <[email protected]> wrote:
> 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