mailRe: [sr #3078] Parse spin.model names to the value.write user function.


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on September 10, 2013 - 18:26:
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 <tlinnet@xxxxxxxxx> 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 <tlinnet@xxxxxxxxx>:
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 <edward.dauvergne@xxxxxxxxx>:
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
<NO-REPLY.INVALID-ADDRESS@xxxxxxx> 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
relax-devel@xxxxxxx

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



Related Messages


Powered by MHonArc, Updated Wed Sep 11 08:00:08 2013