Author: bugman Date: Tue Jun 19 14:18:15 2012 New Revision: 16956 URL: http://svn.gna.org/viewcvs/relax?rev=16956&view=rev Log: Fixes for the model-free support of the interatomic data container design. Modified: branches/interatomic/specific_fns/model_free/main.py branches/interatomic/specific_fns/model_free/mf_minimise.py Modified: branches/interatomic/specific_fns/model_free/main.py URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/specific_fns/model_free/main.py?rev=16956&r1=16955&r2=16956&view=diff ============================================================================== --- branches/interatomic/specific_fns/model_free/main.py (original) +++ branches/interatomic/specific_fns/model_free/main.py Tue Jun 19 14:18:15 2012 @@ -33,7 +33,7 @@ import arg_check from data.diff_tensor import DiffTensorSimList from float import isNaN, isInf -from generic_fns import diffusion_tensor, pipes, relax_data, sequence +from generic_fns import diffusion_tensor, interatomic, pipes, relax_data, sequence from generic_fns.mol_res_spin import convert_from_global_index, count_spins, exists_mol_res_spin_data, find_index, return_spin, return_spin_from_index, spin_index_loop, spin_loop from maths_fns.mf import Mf from minfx.generic import generic_minimise @@ -1384,7 +1384,7 @@ # Duplicate all non-sequence specific data. for data_name in dir(dp_from): # Skip the container objects. - if data_name in ['diff_tensor', 'mol', 'structure', 'exp_info']: + if data_name in ['diff_tensor', 'mol', 'interatomic', 'structure', 'exp_info']: continue # Skip special objects. @@ -1477,6 +1477,10 @@ # Duplicate the sequence data if it doesn't exist. if dp_to.mol.is_empty(): sequence.copy(pipe_from=pipe_from, pipe_to=pipe_to, preserve_select=True, verbose=verbose) + + # Duplicate the interatomic data if it doesn't exist. + if dp_to.interatomic.is_empty(): + interatomic.copy(pipe_from=pipe_from, pipe_to=pipe_to, verbose=verbose) # Determine the model type of the original data pipe. pipes.switch(pipe_from) Modified: branches/interatomic/specific_fns/model_free/mf_minimise.py URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/specific_fns/model_free/mf_minimise.py?rev=16956&r1=16955&r2=16956&view=diff ============================================================================== --- branches/interatomic/specific_fns/model_free/mf_minimise.py (original) +++ branches/interatomic/specific_fns/model_free/mf_minimise.py Tue Jun 19 14:18:15 2012 @@ -979,7 +979,7 @@ return A, b - def _minimise_data_setup(self, data_store, min_algor, num_data_sets, min_options, spin=None, spin_id=None, sim_index=None): + def _minimise_data_setup(self, data_store, min_algor, num_data_sets, min_options, spin=None, sim_index=None): """Set up all the data required for minimisation. @param data_store: A data storage container. @@ -992,8 +992,6 @@ @type min_options: list @keyword spin: The spin data container. @type spin: SpinContainer instance - @keyword spin_id: The spin ID string. - @type spin_id: str @keyword sim_index: The optional MC simulation index. @type sim_index: int @return: An insane tuple. The full tuple is (ri_data, ri_data_err, equations, param_types, param_values, r, csa, num_frq, frq, num_ri, remap_table, noe_r1_table, ri_types, num_params, xh_unit_vectors, diff_type, diff_params) @@ -1113,14 +1111,14 @@ data_store.gx.append(return_gyromagnetic_ratio(spin.isotope)) # Repackage the interatomic data. - interatoms = return_interatom(spin_id) + interatoms = return_interatom(data_store.spin_id) for i in range(len(interatoms)): # No relaxation mechanism. if not interatoms[i].dipole_pair: continue # The surrounding spins. - if spin_id != interatoms[i].spin_id1: + if data_store.spin_id != interatoms[i].spin_id1: spin_id2 = interatoms[i].spin_id1 else: spin_id2 = interatoms[i].spin_id2 @@ -1725,7 +1723,7 @@ opt_params.A, opt_params.b = None, None # Get the data for minimisation. - self._minimise_data_setup(data_store, min_algor, num_data_sets, opt_params.min_options, spin=spin, spin_id=data_store.spin_id, sim_index=sim_index) + self._minimise_data_setup(data_store, min_algor, num_data_sets, opt_params.min_options, spin=spin, sim_index=sim_index) # Setup the minimisation algorithm when constraints are present. if constraints and not match('^[Gg]rid', min_algor):