Hi Edward,

You were correct ... those changes were not needed in the old code.   
I'll test out the looping in the newest SVN version of  
full_analysis.py today.

Doug


On Jun 27, 2007, at 11:22 AM, Edward d'Auvergne wrote:

> Hi,
>
> To commit changes to the repository, you need to become a relax
> developer.  There is detailed information in the relax manual about
> this long process.  Alternatively if you run the command svn diff to
> create a patch file, I can then apply the patch and make the commit
> for you.  In this case however I am making the changes to the 1.3
> repository line and then back porting to the 1.2 line (this is the
> origin of the relax_data_store error you saw before).  Therefore if
> you post what the changes are, I will manually apply them to 1.3 and
> then back port to 1.2.
>
> Cheers,
>
> Edward
>
>
> P.S.  The change to line 290 was unnecessary as far as I can see (I
> could be wrong though).  And I also replaced the looping over
> LOCAL_TM_MODELS and MF_MODELS with a single test within the model-free
> model loop which already exists - just to simplify the code.  The
> changes have been committed to the repository.
>
>
>
>
> On 6/27/07, Douglas Kojetin <[EMAIL PROTECTED]> wrote:
>> Another update.  I had to change a few more lines, but the script
>> seems to work properly now.
>>
>> % diff OLD.py NEW.py
>> 229a230,231
>>  >                     if name in self.relax.data.run_names:
>>  >                         run.delete(name)
>> 290a293,294
>>  >             if 'final' in self.relax.data.run_names:
>>  >                 run.delete('final')
>> 524a529,531
>>  >             for name_to_remove in LOCAL_TM_MODELS:
>>  >                 if name_to_remove in self.relax.data.run_names:
>>  >                     run.delete(name_to_remove)
>> 526a534,536
>>  >             for name_to_remove in MF_MODELS:
>>  >                 if name_to_remove in self.relax.data.run_names:
>>  >                     run.delete(name_to_remove)
>>
>>
>> If you would like me to commit these changes, just let me know where
>> I can find instructions on how to do so.
>>
>> Thanks,
>>
>> Doug
>>
>>
>>
>> On Jun 26, 2007, at 3:58 AM, Edward d'Auvergne wrote:
>>
>> > Whoops, that should have been 'self.relax.data.run_names'!  It's  
>> all
>> > fixed in the repository.
>> >
>> > Cheers,
>> >
>> > Edward
>> >
>> >
>> > On 6/25/07, Douglas Kojetin <[EMAIL PROTECTED]> wrote:
>> >> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>  
>> 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 <[EMAIL PROTECTED]>
>> >> 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
>> >> >> >> >> [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-users
>> >> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>>
>>


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

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

Reply via email to