def __init__(self, *args, **kwargs): self.impose_default('capture_targets',[],**kwargs) self.impose_default('replicate_reduced',False,**kwargs) blks = args[0] raw = blks[0].raw + blks[1].raw data_block.__init__(self, *(raw,), **kwargs) if not hasattr(self, 'label'): self.label = kwargs['label'] self.output = lo.output_plan( label = self.label + ' Output', parent = self) self.output.flat_data = True self._children_ = [self.output] self.output.output_plt = False
def __init__(self, *args, **kwargs): self.impose_default('parameter_space', None, **kwargs) self.impose_default('many_steps', 1, **kwargs) self.impose_default('p_sp_trajectory', [], **kwargs) self.impose_default('p_sp_step_factor', 1.0, **kwargs) self.impose_default('capture_targets', [], **kwargs) self.impose_default('bAbort', False, **kwargs) self.impose_default('brand_new', True, **kwargs) self.impose_default('iteration', 0, **kwargs) self.impose_default('auto_overwrite_key', True, **kwargs) self.impose_default('initial_creep_factor', 20, **kwargs) self.impose_default('display_frequency', 500, **kwargs) self.impose_default('max_sim_wait_time', 1.0, **kwargs) self.impose_default('last_best', 0, **kwargs) self.impose_default('timeouts', 0, **kwargs) self.impose_default('use_time_out', True, **kwargs) self.impose_default('use_genetics', False, **kwargs) self.impose_default('use_mean_fitting', False, **kwargs) self.impose_default('regime', 'fine', **kwargs) self.impose_default('valid_regimes', ['fine', 'coarse-magnitude', 'coarse-decimate'], **kwargs) self.impose_default('metrics', [], **kwargs) self.metrics.append( lgeo.metric_avg_ptwise_diff_on_domain( parent = self, acceptance_weight = 1.0)) self.metrics.append( lgeo.metric_slope_1st_derivative( parent = self, acceptance_weight = 0.9)) self.metrics.append( lgeo.metric_slope_2nd_derivative( parent = self, acceptance_weight = 0.75)) self.metrics.append( lgeo.metric_slope_3rd_derivative( parent = self, acceptance_weight = 0.5)) self.impose_default('metric_weights', [met.acceptance_weight for met in self.metrics], **kwargs) self.metric_rulers = [lm.differences, lm.deriv_first_differences, lm.deriv_second_differences, lm.deriv_third_differences] self.impose_default('prime_metric', 0, **kwargs) self.prime_metric =\ self.metric_weights.index(max(self.metric_weights)) self.metrics[self.prime_metric].is_heaviest = True self.impose_default('fitted_criteria', [], **kwargs) self.fitted_criteria.append(lc.criterion_iteration( parent = self, max_iterations = 5000)) self.fitted_criteria.append(criterion_impatient( parent = self, max_timeouts = 50, max_last_best = 2000)) self.impose_default('fitter_criteria', [], **kwargs) self.fitter_criteria.append( criterion_minimize_measures(parent = self)) self.impose_default('data_to_fit_to', None, **kwargs) self.impose_default('input_data_file', '', **kwargs) self.impose_default('input_data_domain', '', **kwargs) self.impose_default('input_data_codomains', [], **kwargs) self.impose_default('input_data_targets', [], **kwargs) self.impose_default('input_data_aliases', {}, **kwargs) self.input_data_file = os.path.join(os.getcwd(), 'chemicallite', 'output', 'mm_fit_input.0.pkl') # 'imager', 'fit_data.pkl') #self.input_data_domain = 'time' #self.input_data_codomains = ['ES_Complex', 'Product', # 'Substrate', 'Enzyme'] #self.input_data_aliases = {'time':'time', # 'ES_Complex mean':'ES_Complex', # 'Product mean':'Product', # 'Enzyme mean':'Enzyme', # 'Substrate mean':'Substrate'} #self.input_data_codomains = ['ES_Complex', 'Product'] #self.input_data_codomains = ['ES_Complex'] #self.input_data_codomains = ['lacI', 'tetR', 'cl'] if not 'visible_attributes' in kwargs.keys(): kwargs['visible_attributes'] = None if not 'valid_base_classes' in kwargs.keys(): kwargs['valid_base_classes'] =\ valid_fit_routine_base_classes if not 'base_class' in kwargs.keys(): kwargs['base_class'] = lfu.interface_template_class( object, 'fit routine abstract') lfu.modular_object_qt.__init__(self, *args, **kwargs) self.output = lo.output_plan(label = ' '.join( [self.label, 'output']), parent = self) #self.output.flat_data = False #self._children_ = [self.output] + self.metrics +\ # self.fitted_criteria + self.fitter_criteria self._children_ = [self.output]
def __init__(self, *args, **kwargs): #self.impose_default('current_tab_index', 0, **kwargs) #self.current_tab_index = 0 self.aborted = False self.data_pool = lfu.data_container( data = [], postproc_data = []) self.data_scheme = None self.__dict__ = lfu.dictionary() if 'parent' in kwargs.keys(): self.parent = kwargs['parent'] self.cancel_make = False self.skip_simulation = False self.mcfg_path = '' #self.num_trajectories = 1 num_traj = lset.get_setting('trajectory_count') if num_traj: self.num_trajectories = num_traj else: self.num_trajectories = 1 self.data_pool_descr = '' self.treebook_memory = [0, [], []] self._module_memory_ = [] self.simulation_plan = simulation_plan(parent = self) self.output_plan = lo.output_plan( label = 'Simulation', parent = self) self.fitting_plan = lfr.fit_routine_plan(parent = self) self.cartographer_plan = lgeo.cartographer_plan( label = 'Parameter Scan', parent = self) self.postprocess_plan = lpp.post_process_plan( label = 'Post Process Plan', parent = self, _always_sourceable_ = ['simulation']) self.multiprocess_plan = lmp.multiprocess_plan(parent = self) self.run_params = lfu.dictionary(parent = self) self.run_params['end_criteria'] = \ self.simulation_plan.end_criteria self.run_params['capture_criteria'] = \ self.simulation_plan.capture_criteria self.run_params['plot_targets'] = \ self.simulation_plan.plot_targets self.run_params['output_plans'] = { 'Simulation' : self.output_plan} self.run_params['fit_routines'] = \ self.fitting_plan.routines self.run_params['post_processes'] = \ self.postprocess_plan.post_processes self.run_params['p_space_map'] = None self.run_params['multiprocessing'] = None self.__dict__.create_partition('template owners', ['output_plan', 'fitting_plan', 'cartographer_plan', 'postprocess_plan', 'multiprocess_plan', 'run_params', 'simulation_plan']) if 'label' not in kwargs.keys(): kwargs['label'] = 'ensemble' if 'module_options' in kwargs.keys(): opts = kwargs['module_options'] else: print 'no modules detected; requesting from manager' opts = self.parent.find_module_options() if len(opts) == 0: lgd.message_dialog(None, 'No module options detected!', 'Problem') self.cancel_make = True return elif len(opts) == 1: module = opts[0] else: module_choice_container = lfu.data_container(data = opts[0]) module_options_templates = [lgm.interface_template_gui( layout = 'horizontal', widgets = ['radio'], verbosities = [0], labels = [opts], initials = [[module_choice_container.data]], instances = [[module_choice_container]], keys = [['data']], box_labels = ['Ensemble Module'], minimum_sizes = [[(250, 50)]])] mod_dlg = lgd.create_dialog(title = 'Choose Ensemble Module', templates = module_options_templates, variety = 'templated') module = mod_dlg() if module: module = module_choice_container.data else: self.cancel_make = True return self.impose_default('module', module, **kwargs) self._children_ = [self.simulation_plan, self.output_plan, self.fitting_plan, self.cartographer_plan, self.postprocess_plan, self.multiprocess_plan] self.load_module(reset_params = True) self.mcfg_dir = os.path.join(os.getcwd(), self.module) if not os.path.isdir(self.mcfg_dir): self.mcfg_dir = os.getcwd() lfu.modular_object_qt.__init__(self, *args, **kwargs) self.data_pool_id = lfu.get_new_pool_id() self.data_pool_pkl = os.path.join(os.getcwd(), 'data_pools', '.'.join(['data_pool', self.data_pool_id, 'pkl']))