Hi,

I've had a look into this and it looks like a case of bit rot.  The
value.write user function originally supported this, but this was
before the test suite existed.  Therefore the feature was never tested
and with time it has disappeared.  All parts of the code (both the
user function frontend and backend) have been completely rewritten a
number of times, and now there are no traces of it left.  There are
now unfortunately a number of such 'missing' features.  It should not
be too hard to fix though.  The harder part will be to allow the user
function to output the model information.

Regards,

Edward




On 10 September 2013 17:06, Troels Emtekær Linnet <[email protected]> wrote:
> It seems value.write does not accept list of model parameters.
>
> self.interpreter.value.write(param=['model','kex'], file=self.tmpfile,
> dir=None, force=True)
>
> It expects a string as input. :-)
>
> -----------
> relax> value.write(param=['model', 'kex'], file='/tmp/tmpdeGHiI',
> dir=None, scaling=1.0, comment=None, bc=False, force=True)
> Traceback (most recent call last):
>   File 
> "/sbinlab2/tlinnet/software/NMR-relax/relax_disp/test_suite/system_tests/relax_disp.py",
> line 1433, in test_value_write_disp_model
>     self.interpreter.value.write(param=['model','kex'],
> file=self.tmpfile, dir=None, force=True)
>   File "/sbinlab2/tlinnet/software/NMR-relax/relax_disp/prompt/uf_objects.py",
> line 200, in __call__
>     lib.arg_check.is_str(value, desc_short, can_be_none=can_be_none)
>   File "/sbinlab2/tlinnet/software/NMR-relax/relax_disp/lib/arg_check.py",
> line 862, in is_str
>     raise RelaxStrError(name, arg)
> RelaxStrError: RelaxError: The parameter argument '['model', 'kex']'
> must be a string.
>
> Troels Emtekær Linnet
>
>
> 2013/9/10 Troels Emtekær Linnet <[email protected]>:
>> Well well well.
>>
>> That's very smart with the list of things which should be written out.
>>
>> So, I think it now boils down to a level of convenience.
>>
>> ----------
>> * Problem
>>
>> When I look in the "final" run directory, I do not readily have access
>> to a file (or a plot ref:
>> http://article.gmane.org/gmane.science.nmr.relax.devel/4425)
>> which tells me which model has been used per spin.
>>
>> I see this information as vital, and I believe it should be presented
>> as easy as possible.
>>
>> I can create such a list in relax, but is is not "easily reached".
>>
>> I do not understand why there is a desire not to include a column with
>> the spin.model information.
>> There is probably a deeper lying reason for this.
>>
>> But where should I tackle this problem?
>> 1) The spin.model is included as column in the value.write parameter file.
>> - Cons: This information is superfluous for the writing of each of the 
>> models.
>> - Cons: Change of file formats can give un-expected problems for users.
>>
>> 2) The spin.model is included as column in the value.write parameter
>> file for the "final" round.
>> - Pro: This gives the overview I am looking for.
>> - Cons: Change of file formats can give problems.
>>
>> 3) A "model" file is written out for the "final" round.
>> - Cons: It is annoying to compare between two files.
>>
>> 4) Duplicates of all parameter files, where the copy include the
>> spin.model as a column.
>> Well, dublicate of files is not "nice".
>>
>> ------------
>>
>> Given that linux have the ability to merge text files:
>>> paste kex.out dw.out
>>
>> I can "survive" with option 3, and I think this is what you are hinting for.
>>
>> Best
>> Troels
>>
>>
>> Troels Emtekær Linnet
>>
>>
>> 2013/9/10 Edward d'Auvergne <[email protected]>:
>>> Hi,
>>>
>>> In that case you can use the power of the value.write user function:
>>>
>>> value.write(param=['model', 'kex'], file=...
>>>
>>> But this should be in a new file.  The standard kex.out file which
>>> contains the kex value from all models is the desired outcome.  It
>>> should not matter what model the kex value comes from, as long as that
>>> model can be considered reasonable for the system.  If you would like
>>> the kex.out file per model, that already exists.  It will be output
>>> for each model in the directory for that model.
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>>
>>>
>>>
>>> On 10 September 2013 16:22, Troels E. Linnet
>>> <[email protected]> wrote:
>>>> Follow-up Comment #1, sr #3078 (project relax):
>>>>
>>>> Hi Edward.
>>>>
>>>> You suggested:
>>>> value.write(param='model', file=...
>>>>
>>>> but that would create a new file for writing out the models ?
>>>>
>>>> I would like to have the model information included when you write out a
>>>> parameter like 'kex'.
>>>>
>>>> In the same way that you have for example for kex:
>>>> mol_name res_num res_name spin_num spin_name value error
>>>>
>>>> I would like to also include spin_model
>>>>
>>>> The reason for this, is that in the "final" run, you would have one kex.out
>>>> file, with a mixup of the different models.
>>>>
>>>>     _______________________________________________________
>>>>
>>>> Reply to this item at:
>>>>
>>>>   <http://gna.org/support/?3078>
>>>>
>>>> _______________________________________________
>>>>   Message sent via/by Gna!
>>>>   http://gna.org/
>>>>
>>>>
>>>> _______________________________________________
>>>> 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