Author: bugman Date: Tue Feb 5 09:51:20 2013 New Revision: 18421 URL: http://svn.gna.org/viewcvs/relax?rev=18421&view=rev Log: Merged revisions 18417-18419 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r18417 | bugman | 2013-02-05 08:58:11 +0100 (Tue, 05 Feb 2013) | 3 lines Fix for the spherical diffusion in the Mf.test_bug_20479_gui_final_pipe GUI test. ........ r18418 | bugman | 2013-02-05 09:04:16 +0100 (Tue, 05 Feb 2013) | 5 lines Added a global model print out to the Mf.test_bug_20479_gui_final_pipe GUI test. This is to help identify where failures occur. ........ r18419 | bugman | 2013-02-05 09:49:21 +0100 (Tue, 05 Feb 2013) | 7 lines Fix for bug #20481 (https://gna.org/bugs/?20481). This is the bug where the dauvergne_protocol model-free auto-analysis expects the prolate and oblate spheroids and ellipsoid to be optimised. It was caught by the Mf.test_bug_20479_gui_final_pipe GUI test. ........ Modified: branches/frame_order_testing/ (props changed) branches/frame_order_testing/auto_analyses/dauvergne_protocol.py branches/frame_order_testing/test_suite/gui_tests/model_free.py Propchange: branches/frame_order_testing/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Tue Feb 5 09:51:20 2013 @@ -1,1 +1,1 @@ -/trunk:1-18415 +/trunk:1-18419 Modified: branches/frame_order_testing/auto_analyses/dauvergne_protocol.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/auto_analyses/dauvergne_protocol.py?rev=18421&r1=18420&r2=18421&view=diff ============================================================================== --- branches/frame_order_testing/auto_analyses/dauvergne_protocol.py (original) +++ branches/frame_order_testing/auto_analyses/dauvergne_protocol.py Tue Feb 5 09:51:20 2013 @@ -664,23 +664,29 @@ # Diffusion model selection. ############################ - # All the global diffusion models to be used in the model selection. - models = ['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid'] + # The contents of the results directory. + dir_list = listdir(self.results_dir) + + # Check that the minimal set of global diffusion models required for the protocol has been optimised. + min_models = ['local_tm', 'sphere'] + for model in min_models: + if model not in dir_list: + raise RelaxError("The minimum set of global diffusion models required for the protocol have not been optimised, the '%s' model results cannot be found." % model) + + # Build a list of all global diffusion models optimised. + all_models = ['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid'] + self.opt_models = [] self.pipes = [] - for name in models: - self.pipes.append(self.name_pipe(name)) + for model in all_models: + if model in dir_list: + self.opt_models.append(model) + self.pipes.append(self.name_pipe(model)) # Remove all temporary pipes used in this auto-analysis. for name in pipe_names(bundle=self.pipe_bundle): if name in self.pipes + self.mf_model_pipes + self.local_tm_model_pipes + [self.name_pipe('aic'), self.name_pipe('previous')]: self.interpreter.pipe.delete(name) - # Missing optimised model. - dir_list = listdir(self.results_dir) - for name in models: - if name not in dir_list: - raise RelaxError("The %s model must be optimised first." % name) - # Create the local_tm data pipe. self.interpreter.pipe.create(self.name_pipe('local_tm'), 'mf', bundle=self.pipe_bundle) @@ -689,6 +695,10 @@ # Loop over models MII to MV. for model in ['sphere', 'prolate', 'oblate', 'ellipsoid']: + # Skip missing models. + if model not in self.opt_models: + continue + # Determine which was the last round of optimisation for each of the models. self.round = self.determine_rnd(model=model) - 1 Modified: branches/frame_order_testing/test_suite/gui_tests/model_free.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/test_suite/gui_tests/model_free.py?rev=18421&r1=18420&r2=18421&view=diff ============================================================================== --- branches/frame_order_testing/test_suite/gui_tests/model_free.py (original) +++ branches/frame_order_testing/test_suite/gui_tests/model_free.py Tue Feb 5 09:51:20 2013 @@ -166,9 +166,16 @@ # Execute the 'local_tm', 'sphere' and 'final' protocol stages sequentially. for protocol in ['local_tm', 'sphere', 'final']: + # Print out. + text = "Sequential global model optimisation: %s" % protocol + char = "%" + print("\n\n\n\n%s\n%s %s %s\n%s\n\n\n" % (char*(len(text)+4), char, text, char, char*(len(text)+4))) + # Set the protocol mode. if protocol == 'local_tm': analysis.mode_win.select_local_tm() + elif protocol == 'sphere': + analysis.mode_win.select_sphere() else: analysis.mode_win.select_final() analysis.mode_dialog()