Trees | Indices | Help |
|
---|
|
1 ############################################################################### 2 # # 3 # Copyright (C) 2003, 2004 Edward d'Auvergne # 4 # # 5 # This file is part of the program relax. # 6 # # 7 # relax is free software; you can redistribute it and/or modify # 8 # it under the terms of the GNU General Public License as published by # 9 # the Free Software Foundation; either version 2 of the License, or # 10 # (at your option) any later version. # 11 # # 12 # relax is distributed in the hope that it will be useful, # 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of # 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # 15 # GNU General Public License for more details. # 16 # # 17 # You should have received a copy of the GNU General Public License # 18 # along with relax; if not, write to the Free Software # 19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # 20 # # 21 ############################################################################### 22 23 24 from re import match 25 2632 3329435 """Function for returning a string corresponding to the function type.""" 36 37 # Initialise. 38 string = "this analysis" 39 40 # NOE calculation. 41 if function_type == 'noe': 42 string = "NOE calculations" 43 44 # Relaxation curve fitting. 45 if function_type == 'relax_fit': 46 string = "relaxation curve fitting" 47 48 # Reduced spectral density mapping. 49 if function_type == 'jw': 50 string = "reduced spectral density mapping" 51 52 # Model-free analysis. 53 if function_type == 'mf': 54 string = "Model-free analysis" 55 56 return string57 5860 """Setup function.""" 61 62 # Initialise. 63 self.eqi = eqi 64 function = None 65 66 # Get the function. 67 try: 68 # NOE calculation. 69 if function_type == 'noe': 70 function = self.noe() 71 72 # Relaxation curve fitting. 73 if function_type == 'relax_fit': 74 function = self.relax_funcs() 75 76 # Reduced spectral density mapping. 77 if function_type == 'jw': 78 function = self.jw_funcs() 79 80 # Model-free analysis. 81 if function_type == 'mf': 82 function = self.mf_funcs() 83 84 # Catch all errors. 85 except: 86 function = None 87 88 # Raise an error if the function doesn't exist. 89 if raise_error and function == None: 90 raise RelaxFuncSetupError, self.get_string(function_type) 91 92 # Return the function. 93 return function94 9597 """Model-free analysis specific functions.""" 98 99 # Calculate function. 100 if self.eqi == 'calculate': 101 return self.relax.specific.jw_mapping.calculate 102 103 # Copy function. 104 if self.eqi == 'copy': 105 return self.relax.specific.jw_mapping.copy 106 107 # Create Monte Carlo data function (same as data returning function). 108 if self.eqi == 'create_mc_data': 109 return self.relax.specific.jw_mapping.return_data 110 111 # Number of instances. 112 if self.eqi == 'num_instances': 113 return self.relax.specific.jw_mapping.num_instances 114 115 # Pack Monte Carlo simulation data function. 116 if self.eqi == 'pack_sim_data': 117 return self.relax.specific.jw_mapping.sim_pack_data 118 119 # Data returning function. 120 if self.eqi == 'return_data': 121 return self.relax.specific.jw_mapping.return_data 122 123 # Data error returning function. 124 if self.eqi == 'return_error': 125 return self.relax.specific.jw_mapping.return_error 126 127 # Simulation parameter array returning function. 128 if self.eqi == 'return_sim_param': 129 return self.relax.specific.jw_mapping.sim_return_param 130 131 # Value and error returning function. 132 if self.eqi == 'return_value': 133 return self.relax.specific.jw_mapping.return_value 134 135 # Set function. 136 if self.eqi == 'set': 137 return self.relax.specific.jw_mapping.set 138 139 # Set error function. 140 if self.eqi == 'set_error': 141 return self.relax.specific.jw_mapping.set_error 142 143 # Write results function (Columnar format). 144 if self.eqi == 'write_columnar_results': 145 return self.relax.specific.jw_mapping.write_columnar_results146 147149 """Model-free analysis specific functions.""" 150 151 # Back-calculate function. 152 if self.eqi == 'back_calc': 153 return self.relax.specific.model_free.back_calc 154 155 # Calculate function. 156 if self.eqi == 'calculate': 157 return self.relax.specific.model_free.calculate 158 159 # Copy function. 160 if self.eqi == 'copy': 161 return self.relax.specific.model_free.copy 162 163 # Create Monte Carlo data function. 164 if self.eqi == 'create_mc_data': 165 return self.relax.specific.model_free.create_mc_data 166 167 # Duplicate data function. 168 if self.eqi == 'duplicate_data': 169 return self.relax.specific.model_free.duplicate_data 170 171 # Eliminate models. 172 if self.eqi == 'eliminate': 173 return self.relax.specific.model_free.eliminate 174 175 # Grid search function. 176 if self.eqi == 'grid_search': 177 return self.relax.specific.model_free.grid_search 178 179 # Initial Monte Carlo parameter value search function. 180 if self.eqi == 'init_sim_values': 181 return self.relax.specific.model_free.sim_init_values 182 183 # Map labels. 184 if self.eqi == 'map_labels': 185 return self.relax.specific.model_free.map_labels 186 187 # Map bounds function. 188 if self.eqi == 'map_bounds': 189 return self.relax.specific.model_free.map_bounds 190 191 # Minimise function. 192 if self.eqi == 'minimise': 193 return self.relax.specific.model_free.minimise 194 195 # Model statistics. 196 if self.eqi == 'model_stats': 197 return self.relax.specific.model_free.model_statistics 198 199 # Number of instances. 200 if self.eqi == 'num_instances': 201 return self.relax.specific.model_free.num_instances 202 203 # Pack Monte Carlo simulation data function. 204 if self.eqi == 'pack_sim_data': 205 return self.relax.specific.model_free.sim_pack_data 206 207 # Parameter names function. 208 if self.eqi == 'param_names': 209 return self.relax.specific.model_free.get_param_names 210 211 # Parameter values function. 212 if self.eqi == 'param_values': 213 return self.relax.specific.model_free.get_param_values 214 215 # Read results file function (Columnar format). 216 if self.eqi == 'read_columnar_results': 217 return self.relax.specific.model_free.read_columnar_results 218 219 # Read results file function (XML format). 220 #if self.eqi == 'read_xml_results': 221 # return self.relax.specific.model_free.read_xml_results 222 223 # Data returning function. 224 if self.eqi == 'return_data': 225 return self.relax.specific.model_free.return_data 226 227 # Data error returning function. 228 if self.eqi == 'return_error': 229 return self.relax.specific.model_free.return_error 230 231 # Value and error returning function. 232 if self.eqi == 'return_value': 233 return self.relax.specific.model_free.return_value 234 235 # Simulation chi-squared array returning function. 236 if self.eqi == 'return_sim_chi2': 237 return self.relax.specific.model_free.sim_return_chi2 238 239 # Simulation parameter array returning function. 240 if self.eqi == 'return_sim_param': 241 return self.relax.specific.model_free.sim_return_param 242 243 # Set function. 244 if self.eqi == 'set': 245 return self.relax.specific.model_free.set 246 247 # Set error function. 248 if self.eqi == 'set_error': 249 return self.relax.specific.model_free.set_error 250 251 # Skip function. 252 if self.eqi == 'skip_function': 253 return self.relax.specific.model_free.skip_function 254 255 # Unselect function. 256 if self.eqi == 'unselect': 257 return self.relax.specific.model_free.unselect 258 259 # Write results function (Columnar format). 260 if self.eqi == 'write_columnar_results': 261 return self.relax.specific.model_free.write_columnar_results262 263 # Write results function (XML format). 264 #if self.eqi == 'write_xml_results': 265 # return self.relax.specific.model_free.write_xml_results 266 267269 """NOE calculation functions.""" 270 271 # Calculate function. 272 if self.eqi == 'calculate': 273 return self.relax.specific.noe.calculate 274 275 # Read results file function (Columnar format). 276 if self.eqi == 'read_columnar_results': 277 return self.relax.specific.noe.read_columnar_results 278 279 # Value and error returning function. 280 if self.eqi == 'return_value': 281 return self.relax.specific.noe.return_value 282 283 # Write results function (Columnar format). 284 if self.eqi == 'write_columnar_results': 285 return self.relax.specific.noe.write_columnar_results286 287289 """Relaxation curve fitting functions.""" 290 291 # Value and error returning function. 292 if self.eqi == 'return_value': 293 return self.relax.specific.relax_data.return_value
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Nov 25 10:46:32 2014 | http://epydoc.sourceforge.net |