Author: bugman
Date: Tue Oct 14 13:44:21 2014
New Revision: 26279
URL: http://svn.gna.org/viewcvs/relax?rev=26279&view=rev
Log:
Merged revisions 26261-26267 via svnmerge from
svn+ssh://[email protected]/svn/relax/trunk
........
r26261 | tlinnet | 2014-10-13 18:19:34 +0200 (Mon, 13 Oct 2014) | 1 line
Inserted a z_axis limit for the plotting of 2D surfaces in matplotlib.
........
r26262 | tlinnet | 2014-10-13 18:19:36 +0200 (Mon, 13 Oct 2014) | 1 line
Added better figure control of chi2 values on z-axis for surface plots.
........
r26263 | tlinnet | 2014-10-13 18:19:38 +0200 (Mon, 13 Oct 2014) | 5 lines
Narrowed in dx_map in systemtest
Relax_disp.test_dx_map_clustered_create_par_file()
This is to illustrate the failure of relax finding the global minimum.
It seems there is a shallow barrier, which relax failed to climb over, in
order to find the minimum value.
........
r26264 | bugman | 2014-10-13 19:07:30 +0200 (Mon, 13 Oct 2014) | 3 lines
Removed a debugging printout.
........
r26265 | bugman | 2014-10-13 22:57:11 +0200 (Mon, 13 Oct 2014) | 6 lines
Added the verbosity argument to the pipe_control.minimise.reset_min_stats()
function.
All of the minimisation code which calls this now send in their verbosity
arguments. This allows
the text "Resetting the minimisation statistics." to be suppressed.
........
r26266 | bugman | 2014-10-13 22:58:22 +0200 (Mon, 13 Oct 2014) | 6 lines
Added the verbosity argument to the pipe_control.value.set() function.
This is passed into the pipe_control.minimise.reset_min_stats() function so
its printouts can be
silenced.
........
r26267 | bugman | 2014-10-13 22:59:51 +0200 (Mon, 13 Oct 2014) | 6 lines
The pipe_control.opendx space mapping code now calls the value.set() function
with verbosity=0.
This is to silence the very repetitive statistics resetting messages when
executing the dx.map user
function.
........
Modified:
branches/frame_order_cleanup/ (props changed)
branches/frame_order_cleanup/pipe_control/minimise.py
branches/frame_order_cleanup/pipe_control/opendx.py
branches/frame_order_cleanup/pipe_control/value.py
branches/frame_order_cleanup/test_suite/system_tests/palmer.py
branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py
Propchange: branches/frame_order_cleanup/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Oct 14 13:44:21 2014
@@ -1 +1 @@
-/trunk:1-26205,26208-26260
+/trunk:1-26278
Modified: branches/frame_order_cleanup/pipe_control/minimise.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/pipe_control/minimise.py?rev=26279&r1=26278&r2=26279&view=diff
==============================================================================
--- branches/frame_order_cleanup/pipe_control/minimise.py (original)
+++ branches/frame_order_cleanup/pipe_control/minimise.py Tue Oct 14
13:44:21 2014
@@ -96,7 +96,7 @@
check_pipe()
# Reset the minimisation statistics.
- reset_min_stats()
+ reset_min_stats(verbosity=verbosity)
# The specific analysis API object.
api = return_api()
@@ -183,7 +183,7 @@
# Loop over the simulations.
for i in range(cdp.sim_number):
# Reset the minimisation statistics.
- reset_min_stats(sim_index=i)
+ reset_min_stats(sim_index=i, verbosity=verbosity)
# Status.
if status.current_analysis:
@@ -207,7 +207,7 @@
# Grid search.
else:
# Reset the minimisation statistics.
- reset_min_stats()
+ reset_min_stats(verbosity=verbosity)
# Optimise.
api.grid_search(lower=model_lower, upper=model_upper, inc=model_inc,
scaling_matrix=scaling_matrix, constraints=constraints, verbosity=verbosity)
@@ -489,7 +489,7 @@
# Single Monte Carlo simulation.
if sim_index != None:
# Reset the minimisation statistics.
- reset_min_stats(sim_index=sim_index)
+ reset_min_stats(sim_index=sim_index, verbosity=verbosity)
# Optimise.
api.minimise(min_algor=min_algor, min_options=min_options,
func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter,
constraints=constraints, scaling_matrix=scaling_matrix, verbosity=verbosity,
sim_index=sim_index)
@@ -498,7 +498,7 @@
elif hasattr(cdp, 'sim_state') and cdp.sim_state == 1:
for i in range(cdp.sim_number):
# Reset the minimisation statistics.
- reset_min_stats(sim_index=i)
+ reset_min_stats(sim_index=i, verbosity=verbosity)
# Status.
if status.current_analysis:
@@ -522,7 +522,7 @@
# Standard minimisation.
else:
# Reset the minimisation statistics.
- reset_min_stats()
+ reset_min_stats(verbosity=verbosity)
# Optimise.
api.minimise(min_algor=min_algor, min_options=min_options,
func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter,
constraints=constraints, scaling_matrix=scaling_matrix, verbosity=verbosity)
@@ -531,13 +531,15 @@
processor.run_queue()
-def reset_min_stats(data_pipe=None, sim_index=None):
+def reset_min_stats(data_pipe=None, sim_index=None, verbosity=1):
"""Function for resetting all minimisation statistics.
@keyword data_pipe: The name of the data pipe to reset the
minimisation statistics of. This defaults to the current data pipe.
@type data_pipe: str
@keyword sim_index: The optional Monte Carlo simulation index.
@type sim_index: int
+ @keyword verbosity: The amount of information to print. The higher
the value, the greater the verbosity.
+ @type verbosity: int
"""
# The data pipe.
@@ -600,7 +602,7 @@
sim_obj[sim_index] = None
# Printout.
- if flag and sim_index == None:
+ if verbosity and flag and sim_index == None:
print("Resetting the minimisation statistics.")
Modified: branches/frame_order_cleanup/pipe_control/opendx.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/pipe_control/opendx.py?rev=26279&r1=26278&r2=26279&view=diff
==============================================================================
--- branches/frame_order_cleanup/pipe_control/opendx.py (original)
+++ branches/frame_order_cleanup/pipe_control/opendx.py Tue Oct 14 13:44:21 2014
@@ -356,9 +356,9 @@
for k in range((self.inc + 1)):
# Set the parameter values.
if self.spin_id:
- value.set(val=values, param=self.params,
spin_id=self.spin_id, force=True)
+ value.set(val=values, param=self.params,
spin_id=self.spin_id, verbosity=0, force=True)
else:
- value.set(val=values, param=self.params, force=True)
+ value.set(val=values, param=self.params, verbosity=0,
force=True)
# Calculate the function values.
if self.spin_id:
@@ -470,6 +470,7 @@
plot_file = open_write_file(file_name=self.file_prefix+'.py',
dir=self.dir, force=True)
matplotlib_file = [
+ 'from copy import deepcopy'+"\n",
'import numpy as np'+"\n",
'import scipy.interpolate'+"\n",
'from numpy.ma import masked_where'+"\n",
@@ -565,21 +566,24 @@
' # Set which x, y, z to plot'+"\n",
' x_p = xi'+"\n",
' y_p = yi'+"\n",
- ' c_p = ci'+"\n",
+ ' c_p = deepcopy(ci)'+"\n",
''+"\n",
' # Cut map at a certain height.'+"\n",
' # First get index os largest values'+"\n",
- ' #out_val = 5*map_mask_c_min'+"\n",
- ' out_val = map_mask_c_max'+"\n",
- ' ci_mask = masked_where(ci >= out_val, ci)'+"\n",
+ ' #z_max = map_mask_c_max'+"\n",
+ ' z_max = map_mask_c_min + 0.5*map_mask_c_min'+"\n",
+ ' ci_mask = masked_where(ci >= z_max, ci)'+"\n",
''+"\n",
' # Replace with 0.0'+"\n",
- ' ci[ci_mask.mask] = 0.0'+"\n",
+ ' c_p[ci_mask.mask] = 0.0'+"\n",
' # Find new max'+"\n",
- ' new_max = np.max(ci)'+"\n",
+ ' new_max = np.max(c_p)'+"\n",
''+"\n",
' # Insert values in array.'+"\n",
- ' ci[ci_mask.mask] = new_max'+"\n",
+ ' c_p[ci_mask.mask] = new_max'+"\n",
+ ''+"\n",
+ ' # Define min.'+"\n",
+ ' z_min = map_mask_c_min - 0.5*map_mask_c_min'+"\n",
''+"\n",
' # Create figure and plot'+"\n",
' ax = fig.add_subplot(nr_rows, nr_cols, 1,
projection="3d")'+"\n",
@@ -592,7 +596,7 @@
' ##ax.scatter(x_p, y_p, c_p, c="y", marker="o", s=5)'+"\n",
''+"\n",
' # Add contour levels on sides.'+"\n",
- ' ax.contour(x_p, y_p, c_p, zdir="z", offset=0,
cmap=cm.coolwarm)'+"\n",
+ ' ax.contour(x_p, y_p, c_p, zdir="z", offset=z_min,
cmap=cm.coolwarm)'+"\n",
' ax.contour(x_p, y_p, c_p, zdir="x", offset=map_mask_x_min,
cmap=cm.coolwarm)'+"\n",
' ax.contour(x_p, y_p, c_p, zdir="y", offset=map_mask_y_min,
cmap=cm.coolwarm)'+"\n",
''+"\n",
@@ -651,6 +655,11 @@
' ax.set_ylabel("%s"%y_par)'+"\n",
' ax.set_zlabel("%s"%c_par)'+"\n",
''+"\n",
+ ''+"\n",
+ ' # Set limits'+"\n",
+ ' ax.set_zlim(z_min, z_max)'+"\n",
+ ''+"\n",
+ ''+"\n",
' # Create figure and plot'+"\n",
' ax = fig.add_subplot(nr_rows, nr_cols, 2)'+"\n",
' fig_imshow = ax.imshow(ci, vmin=map_mask_c_min,
vmax=map_mask_c_max, origin="lower", extent=[map_mask_x_min, map_mask_x_max,
map_mask_y_min, map_mask_y_max])'+"\n",
Modified: branches/frame_order_cleanup/pipe_control/value.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/pipe_control/value.py?rev=26279&r1=26278&r2=26279&view=diff
==============================================================================
--- branches/frame_order_cleanup/pipe_control/value.py (original)
+++ branches/frame_order_cleanup/pipe_control/value.py Tue Oct 14 13:44:21 2014
@@ -351,7 +351,7 @@
minimise.reset_min_stats()
-def set(val=None, param=None, index=None, pipe=None, spin_id=None,
error=False, force=True, reset=True):
+def set(val=None, param=None, index=None, pipe=None, spin_id=None,
verbosity=1, error=False, force=True, reset=True):
"""Set global or spin specific data values.
@keyword val: The parameter values.
@@ -364,6 +364,8 @@
@type pipe: None or str
@keyword spin_id: The spin identification string.
@type spin_id: str
+ @keyword verbosity: The amount of information to print. The higher the
value, the greater the verbosity.
+ @type verbosity: int
@keyword error: A flag which if True will allow the parameter errors
to be set instead of the values.
@type error: bool
@keyword force: A flag forcing the overwriting of current values.
@@ -425,7 +427,7 @@
# Reset all minimisation statistics.
if reset:
- minimise.reset_min_stats()
+ minimise.reset_min_stats(verbosity=verbosity)
# Switch back.
if pipe:
Modified: branches/frame_order_cleanup/test_suite/system_tests/palmer.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/system_tests/palmer.py?rev=26279&r1=26278&r2=26279&view=diff
==============================================================================
--- branches/frame_order_cleanup/test_suite/system_tests/palmer.py
(original)
+++ branches/frame_order_cleanup/test_suite/system_tests/palmer.py Tue Oct
14 13:44:21 2014
@@ -225,7 +225,6 @@
# Get the spin.
spin = return_spin(spin_names[spin_index],
pipe=models[model_index])
- print spin
# Conversions.
if rex[model_index][spin_index]:
Modified: branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py?rev=26279&r1=26278&r2=26279&view=diff
==============================================================================
--- branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py
(original)
+++ branches/frame_order_cleanup/test_suite/system_tests/relax_disp.py Tue Oct
14 13:44:21 2014
@@ -3204,9 +3204,7 @@
self.assertAlmostEqual(pre_chi2, calc_chi2)
# Define dx.map settings.
- dx_inc = 2
- dx_inc_sides = dx_inc / 2
-
+ dx_inc = 5
dx_params = ['dw', 'k_AB', 'r2a']
dx_point_clustered_min = [cur_spin.dw, cur_spin.k_AB, cur_spin.r2a['SQ
CPMG - 499.86214000 MHz']]
@@ -3220,36 +3218,15 @@
file_name_map = "%s_map%s" % (cur_model, cur_spin_id_str)
file_name_point = "%s_point%s" % (cur_model, cur_spin_id_str)
- # Step-size of parameter is 10 %
- param_delta = 0.1
-
# Determine bounds for lower and upper
- #lower = [0.0, 0.0, 5.0]
- #upper = [20.0, 6.0, 15.0]
-
- lower = []
- upper = []
- for i, param_val in enumerate(dx_point_clustered_min):
- param = dx_params[i]
- step_val = param_delta * param_val
- step_length = step_val * dx_inc_sides
-
- # Calculate value
- low_val = param_val - step_length
- lower.append(low_val)
-
- upp_val = param_val + step_length
- upper.append(upp_val)
-
- print("For param %s, lower=%3.3f, upper=%3.3f, step_value=%3.3f,
steps=%i, centered at=%3.3f"% (param, low_val, upp_val, step_val, dx_inc,
param_val))
+ lower = [dx_point_clustered_min[0], dx_point_clustered_min[1],
dx_point_clustered_min[2]]
+ upper = [19.0, 2.4, 9.5]
# Define temporary folder.
result_dir = self.tmpdir
# For testing.
#result_dir = None
- #lower = None
- #upper = None
#self.interpreter.relax_disp.cluster(cluster_id='free spins',
spin_id=cur_spin_id)
# Then do the map.
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
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