Author: bugman Date: Fri Sep 12 16:06:38 2014 New Revision: 25797 URL: http://svn.gna.org/viewcvs/relax?rev=25797&view=rev Log: Modified the frame order auto-analysis to be more fail-safe. Almost all of the protocol is now within a try-finally block so that the execution lock will always be released. Modified: branches/frame_order_cleanup/auto_analyses/frame_order.py Modified: branches/frame_order_cleanup/auto_analyses/frame_order.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/auto_analyses/frame_order.py?rev=25797&r1=25796&r2=25797&view=diff ============================================================================== --- branches/frame_order_cleanup/auto_analyses/frame_order.py (original) +++ branches/frame_order_cleanup/auto_analyses/frame_order.py Fri Sep 12 16:06:38 2014 @@ -84,42 +84,42 @@ # Execution lock. status.exec_lock.acquire(pipe_bundle, mode='auto-analysis') - # Initial printout. - title(file=sys.stdout, text="Frame order auto-analysis", prespace=7) - - # Store the args. - self.data_pipe_full = data_pipe_full - self.data_pipe_subset = data_pipe_subset - self.pipe_bundle = pipe_bundle - self.opt_rigid = opt_rigid - self.opt_subset = opt_subset - self.opt_full = opt_full - self.opt_mc = opt_mc - self.mc_sim_num = mc_sim_num - - # Re-order the models to enable the parameter nesting protocol. - self.models = self.reorder_models(models) - - # A dictionary and list of the data pipe names. - self.pipe_name_dict = {} - self.pipe_name_list = [] - - # Project directory (i.e. directory containing the model-free model results and the newly generated files) - if results_dir: - self.results_dir = results_dir + sep - else: - self.results_dir = getcwd() + sep - - # Data checks. - self.check_vars() - - # Load the interpreter. - self.interpreter = Interpreter(show_script=False, raise_relax_error=True) - self.interpreter.populate_self() - self.interpreter.on(verbose=False) - # Execute the full protocol. try: + # Initial printout. + title(file=sys.stdout, text="Frame order auto-analysis", prespace=7) + + # Store the args. + self.data_pipe_full = data_pipe_full + self.data_pipe_subset = data_pipe_subset + self.pipe_bundle = pipe_bundle + self.opt_rigid = opt_rigid + self.opt_subset = opt_subset + self.opt_full = opt_full + self.opt_mc = opt_mc + self.mc_sim_num = mc_sim_num + + # Re-order the models to enable the parameter nesting protocol. + self.models = self.reorder_models(models) + + # A dictionary and list of the data pipe names. + self.pipe_name_dict = {} + self.pipe_name_list = [] + + # Project directory (i.e. directory containing the model-free model results and the newly generated files) + if results_dir: + self.results_dir = results_dir + sep + else: + self.results_dir = getcwd() + sep + + # Data checks. + self.check_vars() + + # Load the interpreter. + self.interpreter = Interpreter(show_script=False, raise_relax_error=True) + self.interpreter.populate_self() + self.interpreter.on(verbose=False) + # Output the starting time. self.interpreter.time()