Author: bugman Date: Thu Sep 11 19:52:47 2014 New Revision: 25752 URL: http://svn.gna.org/viewcvs/relax?rev=25752&view=rev Log: Modified the frame order auto-analysis. The axis permutation algorithm is now performed on all isotopic cone and pseudo-ellipse models. This is just in case the non-global minima was found in the original optimisation. The isotropic cone models possess two local minima whereas the pseudo-ellipse models possess three local minima. 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=25752&r1=25751&r2=25752&view=diff ============================================================================== --- branches/frame_order_cleanup/auto_analyses/frame_order.py (original) +++ branches/frame_order_cleanup/auto_analyses/frame_order.py Thu Sep 11 19:52:47 2014 @@ -49,7 +49,7 @@ from pipe_control.structure.mass import pipe_centre_of_mass from prompt.interpreter import Interpreter from specific_analyses.frame_order.data import generate_pivot -from specific_analyses.frame_order.variables import MODEL_DOUBLE_ROTOR, MODEL_FREE_ROTOR, MODEL_ISO_CONE, MODEL_ISO_CONE_FREE_ROTOR, MODEL_ISO_CONE_TORSIONLESS, MODEL_LIST_FREE_ROTORS, MODEL_LIST_NONREDUNDANT, MODEL_LIST_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE_FREE_ROTOR, MODEL_PSEUDO_ELLIPSE_TORSIONLESS, MODEL_RIGID, MODEL_ROTOR +from specific_analyses.frame_order.variables import MODEL_DOUBLE_ROTOR, MODEL_FREE_ROTOR, MODEL_ISO_CONE, MODEL_ISO_CONE_FREE_ROTOR, MODEL_ISO_CONE_TORSIONLESS, MODEL_LIST_FREE_ROTORS, MODEL_LIST_ISO_CONE, MODEL_LIST_NONREDUNDANT, MODEL_LIST_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE_FREE_ROTOR, MODEL_PSEUDO_ELLIPSE_TORSIONLESS, MODEL_RIGID, MODEL_ROTOR from status import Status; status = Status() @@ -171,8 +171,17 @@ @type model: str """ - # Loop over both permutations 'A' and 'B'. - for perm in ['A', 'B']: + # Nothing to do. + if model not in MODEL_LIST_ISO_CONE + MODEL_LIST_PSEUDO_ELLIPSE: + return + + # The permutations. + perms = ['A'] + if model in MODEL_LIST_PSEUDO_ELLIPSE: + perms.append('B') + + # Loop over all permutations. + for perm in perms: # The title printout. title = model[0].upper() + model[1:] text = "Axis permutation '%s' of the %s frame order model" % (perm, title) @@ -555,8 +564,7 @@ self.visualisation(model=model) # Perform the axis permutation analysis. - if model in [MODEL_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE_FREE_ROTOR, MODEL_PSEUDO_ELLIPSE_TORSIONLESS]: - self.axis_permutation_analysis(model=model) + self.axis_permutation_analysis(model=model) # Skip to the next model. continue @@ -639,8 +647,7 @@ self.visualisation(model=model) # Perform the axis permutation analysis. - if model in [MODEL_PSEUDO_ELLIPSE, MODEL_PSEUDO_ELLIPSE_FREE_ROTOR, MODEL_PSEUDO_ELLIPSE_TORSIONLESS]: - self.axis_permutation_analysis(model=model) + self.axis_permutation_analysis(model=model) def optimise_rigid(self):