mailRe: bug comment in model-free.py


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

Header


Content

Posted by Edward d'Auvergne on November 10, 2007 - 13:10:
Hi,

It is a curious bug.  With a bug report with an attached relax save
state (https://mail.gna.org/public/relax-users/2007-10/msg00028.html),
I'll be able to determine exactly which diffusion model is causing the
problem.  Don't forget to include which version of relax you are
using.

Thanks,

Edward



On Oct 27, 2007 3:31 PM, Douglas Kojetin <douglas.kojetin@xxxxxxxxx> wrote:

Hi Edward,

I will try to get you this information before the end of the
weekend.  Cursorily, it seems the error occurs when data is missing,
not at the beginning of the input rate files, but after (at least
one) rate has been specified.  That is, relax seems to work OK for
this type of situation:

(A)
Num Name Value Error
1 M
2 Q 0.626 0.004
3 Y 0.633 0.004
4 K 0.646 0.004

but not this type of situation (although this was not the exact case
I tested):

(B)
Num Name Value Error
1 M
2 Q 0.626 0.004
3 Y
4 K 0.646 0.004

although, I have not tested this situation:

(C)
Num Name Value Error
1 M
2 Q 0.626 0.004
4 K 0.646 0.004

my input files follow a similar format to (B).

Doug



On Oct 26, 2007, at 12:21 PM, Edward d'Auvergne wrote:

Hi,

This is an interesting situation, that looks like an old bug I
eliminated many years ago that has somehow returned.  I'll definitely
have to fix this.  Would you be able to create a bug report for this
issue?  It would be useful to run relax with the '--debug' command
line flag to produce a more detailed RelaxError message and to
possibly attach the save file this produces (I think this now occurs
automatically with the debug flag in the 1.2 line) to the bug report.
If there is no save file, attaching the file
'local_tm/aic/results.bz2' would also be of value for debugging.  Or
better still, if you add a command to save the relax program state
between the run.create() and eliminate() user functions, that would be
very useful.  With the save state (and the relax version or SVN
revision being used) I will be able to head straight to the problem.

Thanks,

Edward



On 10/26/07, Douglas Kojetin <douglas.kojetin@xxxxxxxxx> wrote:
Hi Edward,

I've included the output from the log below, which is produced if the
aforementioned lines are left commented out.  If I uncomment them,
the eliminate call does not report an error and the results files
seem to contain the appropriate information.  I'm not sure if it has
anything to do with this, but my input rate files include residues
with no rate information:

1 M
2 K
3 S 0.2907 0.0234
...

It seems that  relax must unselect residues 1 and 2 in the example
above, so the determine_param_set_type definition in model-free.py
fails unless the aforementioned lines are uncommented ...  local_tm
stays equal to 0, causing the problem with the inconsistencies check
on lines 1033-1035.

Doug


#OUTPUT
... starting at the end of the log where the script is read in ...
# The main class.
Main(self.relax)
---------------------------------------------------------------------
---
----------------------------

relax> run.create(run='local_tm', run_type='mf')

relax> results.read(run='local_tm', file='results', dir='local_tm/
aic', format='columnar')
Opening the file 'local_tm/aic/results.bz2' for reading.

relax> run.create(run='sphere', run_type='mf')

relax> results.read(run='sphere', file='results', dir='sphere/
round_5/
opt', format='columnar')
Opening the file 'sphere/round_5/opt/results.bz2' for reading.
Loading all structures from the PDB file.
Structure('../pdb/file.pdb'):
   Peptide chain of length 106


relax> run.create(run='prolate', run_type='mf')

relax> results.read(run='prolate', file='results', dir='prolate/
round_5/opt', format='columnar')
Opening the file 'prolate/round_5/opt/results.bz2' for reading.
Using the structures from the run 'sphere'.
Structure('../pdb/file.pdb'):
   Peptide chain of length 106


relax> run.create(run='oblate', run_type='mf')

relax> results.read(run='oblate', file='results', dir='oblate/
round_8/
opt', format='columnar')
Opening the file 'oblate/round_8/opt/results.bz2' for reading.
Using the structures from the run 'sphere'.
Structure('../pdb/file.pdb'):
   Peptide chain of length 106


relax> run.create(run='ellipsoid', run_type='mf')

relax> results.read(run='ellipsoid', file='results', dir='ellipsoid/
round_7/opt', format='columnar')
Opening the file 'ellipsoid/round_7/opt/results.bz2' for reading.
Using the structures from the run 'sphere'.
Structure('../pdb/file.pdb'):
   Peptide chain of length 106


relax> run.create(run='final', run_type='mf')

relax> eliminate(run=None, function=None, args=None)
RelaxError: All residues must either have a local tm parameter or
not.


Doug

On Oct 25, 2007, at 5:05 PM, Edward d'Auvergne wrote:

Hi,

This is quite a bizarre bug if uncommenting those lines fixed the
problem.  Would you have the printout of the 'traceback' error
message
of the failure?  Or did the script fail without printing a message?
Do you have more information about the point of failure?

These lines were commented out because they cause a fatal bug under
certain rare circumstances.  But other code has developed in
response
to this removal such that this test of spin system selection is not
necessary.  This important function solely determines what type of
model-free analysis is being executed - local tm, diffusion tensor
optimisation, model-free optimisation for a single spin, or
optimisation of all parameters simultaneously.  If uncommenting
these
lines changes relax's behaviour, then the only reason is that not a
single residue is selected.  Can you see this in any of your results
files?  Or is there anything else suspicious with one of the results
files?

Regards,

Edward



On 10/25/07, Douglas Kojetin <douglas.kojetin@xxxxxxxxx> wrote:
Hi,

The following comment is present on line 1021 in the specifc_fns/
model-free.py file of the 1.2 svn version of relax:

1021            # This code causes a bug after model elimination if
the model has been eliminated (select = 0).
1022            #if not self.relax.data.res[self.run][i].select:
1023            #    continue

The full_analysis.py script works find for the optimization of
local_tm, sphere, etc ... but, I am unable to run the 'final'
run in
full_analysis.py unless I uncomment lines 1022-1023 in model-
free.py.

I have to manually uncomment these lines to run the final analysis,
then comment out these lines again.  Can the code in model-
free.py be
modified to something like this:

if not self.relax.data.res[self.run][i].select and self.run ==
'final':
     continue

Or should one not need to uncomment lines 1022-1023?

Doug





_______________________________________________
relax (http://nmr-relax.com)

This is the relax-users mailing list
relax-users@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-users








Related Messages


Powered by MHonArc, Updated Sat Nov 17 19:01:17 2007