mailRe: looping the optimization in full_analysis.py


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

Header


Content

Posted by Douglas Kojetin on June 25, 2007 - 19:15:
Hi Edward,

A new error, that appears before the first round of iteration starts after executing the script:

------------------------------------------------------------------------ ----------------------------
Traceback (most recent call last):
  File "/home/dkojetin/bin/relax", line 454, in ?
    Relax()
  File "/home/dkojetin/bin/relax", line 166, in __init__
    self.interpreter.run()
  File "/opt/relax/1.2/prompt/interpreter.py", line 213, in run
run_script(intro=self.relax.intro_string, local=self.local, script_file=self.relax.script_file, quit=1)
  File "/opt/relax/1.2/prompt/interpreter.py", line 388, in run_script
    console.interact(intro, local, script_file, quit)
File "/opt/relax/1.2/prompt/interpreter.py", line 340, in interact_script
    execfile(script_file, local)
  File "n3.py", line 578, in ?
    Main(self.relax)
  File "n3.py", line 230, in __init__
    self.load_tensor()
  File "n3.py", line 499, in load_tensor
    if 'previous' in self.relax.data.runs:
AttributeError: Data instance has no attribute 'runs'


Doug



On Jun 25, 2007, at 8:54 AM, Edward d'Auvergne wrote:

Hi,

Sorry, that relax_data_store was 1.3 line specific and I forgot to
change that for the 1.2 line.  The repository code should now have
that fixed.

Cheers,

Edward


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

Here is the error reported by the modified full_analysis.py script
(named n.py in the below Traceback):

#--start
--------------------------------------------------------------------- ---
----------------------------
Traceback (most recent call last):
   File "/home/dkojetin/bin/relax", line 454, in ?
     Relax()
   File "/home/dkojetin/bin/relax", line 166, in __init__
     self.interpreter.run()
   File "/opt/relax/1.2/prompt/interpreter.py", line 213, in run
     run_script(intro=self.relax.intro_string, local=self.local,
script_file=self.relax.script_file, quit=1)
File "/opt/relax/1.2/prompt/interpreter.py", line 388, in run_script
     console.interact(intro, local, script_file, quit)
   File "/opt/relax/1.2/prompt/interpreter.py", line 340, in
interact_script
     execfile(script_file, local)
   File "n.py", line 577, in ?
     Main(self.relax)
   File "n.py", line 229, in __init__
     self.load_tensor()
   File "n.py", line 498, in load_tensor
     if relax_data_store.has_key('previous'):
NameError: global name 'relax_data_store' is not defined

#--end

Thanks,
Doug


On Jun 25, 2007, at 4:42 AM, Edward d'Auvergne wrote:
> Hi,
>
> I've just made modifications to the 1.2 and 1.3 repository lines to
> hopefully fix this problem. Could you try again to see if the script
> works this time?
>
> Cheers,
>
> Edward
>
>
> On 6/25/07, Douglas Kojetin <douglas.kojetin@xxxxxxxxx> wrote:
>> Hi Edward,
>>
>> I gave the new script a try, setting CONV_LOOP = 1, but it reported
>> an error after optimizing the first round:
>>
>> """
>> Convergence:
>>      [ No ]
>>
>> relax> run.create(run='previous', run_type='mf')
>> RelaxError: The run 'previous' already exists.
>> """
>>
>> If you have any suggestions for changes to the script, send them my
>> way and I'll give it a try.
>>
>> Doug
>>
>>
>>
>> On Jun 24, 2007, at 11:47 AM, Edward d'Auvergne wrote:
>>
>> > Hi,
>> >
>> > The simplest way to do this would be to use a while loop using a
>> > modified version of the convergence() function which returns 1 or 0 >> > depending on whether the results have converged (exactly like your
>> > suggestion).  I have added this looping ability to the
>> > full_analysis.py script in the relax repository (to both the 1.2
>> and
>> > 1.3 lines).  This is not activated by default though and the
>> scripts
>> > in the repository are significantly different from that in the
>> relax
>> > 1.2.10 version (all the variables which should be modified by
>> the user
>> > have been shifted to the top of the script). Would you be able to
>> > test if this automatic looping over all rounds of optimisation
>> until
>> > convergence actually works? There could possibly be bugs lurking
>> > there.  Thanks.
>> >
>> > The problem that you encountered with the calling of the __init__() >> > function is because this function should not be called. Using that >> > type of approach, the looping should have been outside of the Main
>> > class to work.
>> >
>> > Cheers,
>> >
>> > Edward
>> >
>> >
>> > On 6/16/07, Douglas Kojetin <douglas.kojetin@xxxxxxxxx> wrote:
>> >> Hi All,
>> >>
>> >> Is it possible to edit full_analysis.py so the optimization of
>> MII to
>> >> MV (self.round > 0) is done automatically by looping until
>> >> convergence?
>> >
>> > Do you mean that the script will automatically
>> >
>> >
>> >>  I tried to do this by modifying the following in
>> >> convergence() [near the end]:
>> >>
>> >> """
>> >>          # Final print out.
>> >>          ##################
>> >>
>> >>          print "\nConvergence:"
>> >>          if chi2_converged and models_converged and
>> params_converged:
>> >>              print "    [ Yes ]"
>> >>              return 1
>> >>          else:
>> >>              print "    [ No ]"
>> >>              return 0
>> >> """
>> >>
>> >> then modifying __init__(), at the end of the "elif DIFF_MODEL == >> >> 'sphere' or DIFF_MODEL == 'prolate' or DIFF_MODEL == 'oblate' or
>> >> DIFF_MODEL == 'ellipsoid':" statement:
>> >>
>> >> """
>> >>                  # Test for convergence.
>> >>                  test=self.convergence(run=name)
>> >>
>> >>                  if test == 0:
>> >>                      __init__(self.relax)
>> >>                      #Main(self.relax)
>> >> """
>> >>
>> >> but it did not work properly.  I think the problem has
>> something to
>> >> do with the call to __init__() or Main().  I'll see if I can
>> dig up
>> >> the error reported by relax.
>> >>
>> >> Thanks,
>> >> 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 Tue Jun 26 10:00:44 2007