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

