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