コード例 #1
0
                    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)
コード例 #2
0
            ''.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)
コード例 #3
0
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)