child.status['location'] = location child.generate_name() child.status['deme'] = pop_name Populations[pop_name].agents.append(child) def postpopulation_control(self, Populations, pop_name): pass def generation_events(self, Populations, pop_name): pass def population_report(self, Populations, pop_name): report_list = [] for organism in Populations[pop_name].agents: identity = str(organism.status['identity']) report_list.append(identity) return '\n'.join(report_list) def database_report(self, con, cur, start_time, Populations, World, generation_count): try: dose.database_report_populations(con, cur, start_time, Populations, generation_count) except: pass try: dose.database_report_world(con, cur, start_time, World, generation_count) except: pass def deployment_scheme(self, Populations, pop_name, World): pass dose.simulate(parameters, simulation_functions)
''.join(org.genome[0].sequence) for org in Populations[pop_name].agents ] identities = [ org.status['identity'] for org in Populations[pop_name].agents ] locations = [ str(org.status['location']) for org in Populations[pop_name].agents ] demes = [org.status['deme'] for org in Populations[pop_name].agents] return '\n'.join(sequences) def database_report(self, con, cur, start_time, Populations, World, generation_count): try: dose.database_report_populations(con, cur, start_time, Populations, generation_count) except: pass try: dose.database_report_world(con, cur, start_time, World, generation_count) except: pass def deployment_scheme(self, Populations, pop_name, World): pass dose.simulate(parameters, simulation_functions)
def simulation_worker(parameters, eb): class SimulationFunctions(dose.dose_functions): def organism_movement(self, populations, pop_name, world): pass def organism_location(self, populations, pop_name, world): pass def ecoregulate(self, world): pass def update_ecology(self, world, x, y, z): pass def update_local(self, world, x, y, z): pass def report(self, world): pass def fitness(self, populations, pop_name): pass def mutation_scheme(self, organism): organism.genome[0].rmutate(parameters["mutation_type"], parameters["additional_mutation"]) def prepopulation_control(self, populations, pop_name): pass def mating(self, populations, pop_name): pass def postpopulation_control(self, populations, pop_name): pass def generation_events(self, populations, pop_name): pass def population_report(self, populations, pop_name): sequences = [ ''.join(org.genome[0].sequence) for org in populations[pop_name].agents ] identities = [ org.status['identity'] for org in populations[pop_name].agents ] locations = [ str(org.status['location']) for org in populations[pop_name].agents ] demes = [ org.status['deme'] for org in populations[pop_name].agents ] return '\n'.join(sequences) def database_report(self, con, cur, start_time, populations, world, generation_count): try: dose.database_report_populations(con, cur, start_time, populations, generation_count) except: pass try: dose.database_report_world(con, cur, start_time, world, generation_count) except: pass def deployment_scheme(self, populations, pop_name, world): pass if not os.path.exists('logs'): os.makedirs('logs') sys.stdout = open("logs/" + str(os.getpid()) + ".log", "w") dose.simulate(parameters, SimulationFunctions, eb)