These look like reasonable default bounds! Cheers,
Edward On 5 May 2014 01:14, <[email protected]> wrote: > Author: tlinnet > Date: Mon May 5 01:14:25 2014 > New Revision: 22953 > > URL: http://svn.gna.org/viewcvs/relax?rev=22953&view=rev > Log: > Attempt to implement function map_bounds in API for relax_disp. > > bug #22012(https://gna.org/bugs/?22012): dx.map not implemented for pipe type > relax_disp. > > Modified: > trunk/specific_analyses/relax_disp/api.py > > Modified: trunk/specific_analyses/relax_disp/api.py > URL: > http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/api.py?rev=22953&r1=22952&r2=22953&view=diff > ============================================================================== > --- trunk/specific_analyses/relax_disp/api.py (original) > +++ trunk/specific_analyses/relax_disp/api.py Mon May 5 01:14:25 2014 > @@ -40,7 +40,7 @@ > from specific_analyses.api_common import API_common > from specific_analyses.relax_disp.checks import check_model_type > from specific_analyses.relax_disp.data import average_intensity, > calc_rotating_frame_params, find_intensity_keys, generate_r20_key, > has_exponential_exp_type, has_proton_mmq_cpmg, loop_cluster, loop_exp_frq, > loop_exp_frq_offset_point, loop_time, pack_back_calc_r2eff, > return_param_key_from_data, spin_ids_to_containers > -from specific_analyses.relax_disp.optimisation import Disp_memo, > Disp_minimise_command, back_calc_peak_intensities, back_calc_r2eff, > calculate_r2eff, minimise_r2eff > +from specific_analyses.relax_disp.optimisation import Disp_memo, > Disp_minimise_command, back_calc_peak_intensities, back_calc_r2eff, > calculate_r2eff, grid_search_setup, minimise_r2eff > from specific_analyses.relax_disp.parameter_object import Relax_disp_params > from specific_analyses.relax_disp.parameters import assemble_scaling_matrix, > get_param_names, get_value, loop_parameters, param_index_to_param_info, > param_num > from specific_analyses.relax_disp.variables import EXP_TYPE_CPMG_PROTON_MQ, > EXP_TYPE_CPMG_PROTON_SQ, MODEL_LIST_MMQ, PARAMS_R20 > @@ -481,6 +481,65 @@ > > # Minimisation. > self.minimise(min_algor='grid', lower=lower, upper=upper, inc=inc, > constraints=constraints, verbosity=verbosity, sim_index=sim_index) > + > + > + def map_bounds(self, param, spin_id=None): > + """Create bounds for the OpenDX mapping function. > + > + @param param: The name of the parameter to return the lower > and upper bounds of. > + @type param: str > + @param spin_id: The spin identification string (unused). > + @type spin_id: None > + @return: The upper and lower bounds of the parameter. > + @rtype: list of float > + """ > + > + # Is the parameter is valid? > + if not self._PARAMS.contains(param): > + raise RelaxError("The parameter '%s' is not valid for this data > pipe type." % param) > + > + # Return the spin. > + spin = return_spin(spin_id) > + > + # Loop over each spectrometer frequency and dispersion point to > collect param_keys. > + param_keys = [] > + for exp_type, frq, offset, point in loop_exp_frq_offset_point(): > + # The parameter key. > + param_key = return_param_key_from_data(exp_type=exp_type, > frq=frq, offset=offset, point=point) > + > + # Collect the key. > + param_keys.append(param_key) > + > + # Diagonal scaling. > + scaling_matrix = assemble_scaling_matrix(spins=[spin], > key=param_keys[0], scaling=False) > + > + # The initial parameter vector. > + param_vector = [] > + > + # Collect param_names. > + param_names = [] > + for param_name, param_index, si, r20_key in > loop_parameters(spins=[spin]): > + # Add to the param vector. > + param_vector.append([0.0]) > + > + # Collect parameter names. > + param_names.append(param_name) > + > + > + # Define default for grid search. > + lower = None > + upper = None > + inc = 0 > + > + # Get the grid search minimisation options. > + grid_size, inc_new, lower_new, upper_new = > grid_search_setup(spins=[spin], spin_ids=[spin_id], > param_vector=param_vector, lower=lower, upper=upper, inc=inc, > scaling_matrix=scaling_matrix) > + > + # Loop over the parameter names. > + for i in range(len(param_names)): > + # Test if the parameter is in the list: > + > + if param_names[i] == param: > + return [lower_new[i], upper_new[i]] > > > def minimise(self, min_algor=None, min_options=None, func_tol=None, > grad_tol=None, max_iterations=None, constraints=False, scaling=True, > verbosity=0, sim_index=None, lower=None, upper=None, inc=None): > > > _______________________________________________ > 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 _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel 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-devel

