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 >> >> >> >> relax-users@gna.org >> >> >> >> >> >> >> >> 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 relax-users@gna.org 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