mailbug comment in model-free.py


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

Header


Content

Posted by Douglas Kojetin on October 28, 2007 - 21:35:
:: sorry for sending this twice, but it seems this message did not post the first time

Begin forwarded message:

Cc: Edward d'Auvergne
Subject: Re: bug comment in model-free.py

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





_______________________________________________

This is the relax-users mailing list

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at






Related Messages


Powered by MHonArc, Updated Sun Oct 28 21:41:08 2007