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