Author: tlinnet
Date: Fri Aug 1 18:09:41 2014
New Revision: 24912
URL: http://svn.gna.org/viewcvs/relax?rev=24912&view=rev
Log:
Added warning message to auto analysis in relax disp, if numpy is below 1.8
and using numerical model.
This will make the analysis 5-6 times slower.
Modified:
trunk/auto_analyses/relax_disp.py
Modified: trunk/auto_analyses/relax_disp.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/auto_analyses/relax_disp.py?rev=24912&r1=24911&r2=24912&view=diff
==============================================================================
--- trunk/auto_analyses/relax_disp.py (original)
+++ trunk/auto_analyses/relax_disp.py Fri Aug 1 18:09:41 2014
@@ -25,6 +25,7 @@
# Python module imports.
from copy import deepcopy
from os import F_OK, access, getcwd, sep
+from numpy import version
import sys
from warnings import warn
@@ -37,7 +38,7 @@
from prompt.interpreter import Interpreter
from specific_analyses.relax_disp.data import has_exponential_exp_type,
has_cpmg_exp_type, has_fixed_time_exp_type, has_r1rho_exp_type, loop_frq
from specific_analyses.relax_disp.data import INTERPOLATE_DISP,
INTERPOLATE_OFFSET, X_AXIS_DISP, X_AXIS_W_EFF, X_AXIS_THETA,
Y_AXIS_R2_R1RHO, Y_AXIS_R2_EFF
-from specific_analyses.relax_disp.variables import MODEL_B14,
MODEL_B14_FULL, MODEL_CR72, MODEL_CR72_FULL, MODEL_DPL94, MODEL_IT99,
MODEL_LIST_ANALYTIC, MODEL_LIST_R1RHO, MODEL_LIST_R1RHO_FULL, MODEL_LM63,
MODEL_LM63_3SITE, MODEL_M61, MODEL_M61B, MODEL_MP05, MODEL_MMQ_CR72,
MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL,
MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_STAR,
MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE,
MODEL_NS_MMQ_3SITE_LINEAR, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE,
MODEL_NS_R1RHO_3SITE_LINEAR, MODEL_PARAMS, MODEL_R2EFF, MODEL_TAP03,
MODEL_TP02, MODEL_TSMFK01
+from specific_analyses.relax_disp.variables import MODEL_B14,
MODEL_B14_FULL, MODEL_CR72, MODEL_CR72_FULL, MODEL_DPL94, MODEL_IT99,
MODEL_LIST_ANALYTIC, MODEL_LIST_NUMERIC, MODEL_LIST_R1RHO,
MODEL_LIST_R1RHO_FULL, MODEL_LM63, MODEL_LM63_3SITE, MODEL_M61, MODEL_M61B,
MODEL_MP05, MODEL_MMQ_CR72, MODEL_NS_CPMG_2SITE_3D,
MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_EXPANDED,
MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL,
MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR,
MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR,
MODEL_PARAMS, MODEL_R2EFF, MODEL_TAP03, MODEL_TP02, MODEL_TSMFK01
from status import Status; status = Status()
@@ -115,6 +116,10 @@
# Data checks.
self.check_vars()
+ # Check for numerical model using numpy version under 1.8.
+ # This will result in slow "for loop" calculation through data,
making the analysis 5-6 times slower.
+ self.check_numpy_less_1_8_and_numerical_model()
+
# Load the interpreter.
self.interpreter = Interpreter(show_script=False,
raise_relax_error=True)
self.interpreter.populate_self()
@@ -181,6 +186,31 @@
# Printout.
print("The dispersion auto-analysis variables are OK.")
+
+
+ def check_numpy_less_1_8_and_numerical_model(self):
+ """Check for numerical model using numpy version under 1.8. This
will result in slow "for loop" calculation through data, making the
analysis 5-6 times slower."""
+
+ # Some warning for the user if the pure numeric solution is
selected.
+ if float(version.version[:3]) < 1.8:
+ # Store which models are in numeric.
+ models = []
+
+ # Loop through models.
+ for model in self.models:
+ if model in MODEL_LIST_NUMERIC:
+ models.append(model)
+
+ # Write system message if numerical models is present and
numpy version is below 1.8.
+ if len(models) > 0:
+ # Printout.
+ section(file=sys.stdout, text="Numpy version checking for
numerical models.", prespace=2)
+ warn(RelaxWarning("Your version of numpy is %s, and below
the recommended version of 1.8 for numerical models." % (version.version)))
+ warn(RelaxWarning("Please consider upgrading your numpy
version to 1.8."))
+
+ # Loop over models.
+ for model in models:
+ warn(RelaxWarning("This could make the numerical
analysis with model '%s', 5 to 6 times slower." % (model)))
def error_analysis(self):
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
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-commits