aegis_sim.submodels
1from aegis_sim.submodels.reproduction.mutation import mutator 2from aegis_sim.submodels.reproduction.reproduction import Reproducer 3from aegis_sim.submodels.abiotic import Abiotic 4from aegis_sim.submodels.predation import Predation 5from aegis_sim.submodels.resources.starvation import starvation 6from aegis_sim.submodels.infection import Infection 7from aegis_sim.submodels.frailty import frailty 8from aegis_sim.submodels.genetics.ploider import ploider 9from aegis_sim.submodels.genetics.architect import Architect 10from aegis_sim.utilities.popgenstats import PopgenStats 11from aegis_sim.submodels.resources.resources import resources 12from aegis_sim.submodels.reproduction.sexsystem import SexSystem 13from aegis_sim.submodels.reproduction.matingmanager import MatingManager 14from aegis_sim.submodels import lattice 15 16 17def init(self, parametermanager): 18 19 ################################## 20 # INDEPENDENT of other submodels # 21 ################################## 22 23 self.abiotic = Abiotic( 24 ABIOTIC_HAZARD_SHAPE=parametermanager.parameters.ABIOTIC_HAZARD_SHAPE, 25 ABIOTIC_HAZARD_OFFSET=parametermanager.parameters.ABIOTIC_HAZARD_OFFSET, 26 ABIOTIC_HAZARD_AMPLITUDE=parametermanager.parameters.ABIOTIC_HAZARD_AMPLITUDE, 27 ABIOTIC_HAZARD_PERIOD=parametermanager.parameters.ABIOTIC_HAZARD_PERIOD, 28 ) 29 self.predation = Predation( 30 PREDATOR_GROWTH=parametermanager.parameters.PREDATOR_GROWTH, 31 PREDATION_RATE=parametermanager.parameters.PREDATION_RATE, 32 ) 33 starvation.init( 34 STARVATION_MORTALITY_FACTOR=parametermanager.parameters.STARVATION_MORTALITY_FACTOR, 35 STARVATION_MORTALITY_MAXIMUM=parametermanager.parameters.STARVATION_MORTALITY_MAXIMUM, 36 ) 37 self.infection = Infection( 38 BACKGROUND_INFECTIVITY=parametermanager.parameters.BACKGROUND_INFECTIVITY, 39 TRANSMISSIBILITY=parametermanager.parameters.TRANSMISSIBILITY, 40 RECOVERY_RATE=parametermanager.parameters.RECOVERY_RATE, 41 FATALITY_RATE=parametermanager.parameters.FATALITY_RATE, 42 ) 43 frailty.init( 44 FRAILTY_MODIFIER=parametermanager.parameters.FRAILTY_MODIFIER, 45 AGE_LIMIT=parametermanager.parameters.AGE_LIMIT, 46 ) 47 48 # Spatial lattice — opt-in via LATTICE_MODE. When False (default), init 49 # leaves the lattice singleton inert and no other submodel calls it. 50 lattice.init( 51 LATTICE_MODE=parametermanager.parameters.LATTICE_MODE, 52 INITIAL_POPULATION_SIZE=parametermanager.parameters.INITIAL_POPULATION_SIZE, 53 LATTICE_TARGET_DENSITY=parametermanager.parameters.LATTICE_TARGET_DENSITY, 54 RESOURCE_MAXIMUM_AMOUNT=parametermanager.parameters.RESOURCE_MAXIMUM_AMOUNT, 55 rng_seed=parametermanager.parameters.RANDOM_SEED, 56 ) 57 58 # Resources 59 resources.init( 60 RESOURCE_ADDITIVE_GROWTH=parametermanager.parameters.RESOURCE_ADDITIVE_GROWTH, 61 RESOURCE_MULTIPLICATIVE_GROWTH=parametermanager.parameters.RESOURCE_MULTIPLICATIVE_GROWTH, 62 RESOURCE_MAXIMUM_AMOUNT=parametermanager.parameters.RESOURCE_MAXIMUM_AMOUNT, 63 RESOURCE_INITIAL_AMOUNT=parametermanager.parameters.RESOURCE_INITIAL_AMOUNT, 64 ) 65 66 # Reproduction 67 mutator.init( 68 MUTATION_RATIO=parametermanager.parameters.MUTATION_RATIO, 69 MUTATION_METHOD=parametermanager.parameters.MUTATION_METHOD, 70 MUTATION_AGE_MULTIPLIER=parametermanager.parameters.MUTATION_AGE_MULTIPLIER, 71 ) 72 self.sexsystem = SexSystem() 73 self.matingmanager = MatingManager() 74 75 # Genetic architecture 76 ploider.init( 77 REPRODUCTION_MODE=parametermanager.parameters.REPRODUCTION_MODE, 78 DOMINANCE_FACTOR=parametermanager.parameters.DOMINANCE_FACTOR, 79 PLOIDY=parametermanager.parameters.PLOIDY, 80 ) 81 82 # Other 83 self.popgenstats = PopgenStats() 84 85 ################################ 86 # DEPENDENT on other submodels # 87 ################################ 88 89 # Reproduction 90 self.reproduction = Reproducer( 91 RECOMBINATION_RATE=parametermanager.parameters.RECOMBINATION_RATE, 92 REPRODUCTION_MODE=parametermanager.parameters.REPRODUCTION_MODE, 93 mutator=mutator, 94 ) 95 96 # Genetic architecture 97 self.architect = Architect( 98 GENARCH_TYPE=parametermanager.parameters.GENARCH_TYPE, 99 BITS_PER_LOCUS=parametermanager.parameters.BITS_PER_LOCUS, 100 PHENOMAP=parametermanager.parameters.PHENOMAP, 101 AGE_LIMIT=parametermanager.parameters.AGE_LIMIT, 102 THRESHOLD=parametermanager.parameters.THRESHOLD, 103 ENVDRIFT_RATE=parametermanager.parameters.ENVDRIFT_RATE, 104 MODIF_GENOME_SIZE=parametermanager.parameters.MODIF_GENOME_SIZE, 105 )
def
init(self, parametermanager):
18def init(self, parametermanager): 19 20 ################################## 21 # INDEPENDENT of other submodels # 22 ################################## 23 24 self.abiotic = Abiotic( 25 ABIOTIC_HAZARD_SHAPE=parametermanager.parameters.ABIOTIC_HAZARD_SHAPE, 26 ABIOTIC_HAZARD_OFFSET=parametermanager.parameters.ABIOTIC_HAZARD_OFFSET, 27 ABIOTIC_HAZARD_AMPLITUDE=parametermanager.parameters.ABIOTIC_HAZARD_AMPLITUDE, 28 ABIOTIC_HAZARD_PERIOD=parametermanager.parameters.ABIOTIC_HAZARD_PERIOD, 29 ) 30 self.predation = Predation( 31 PREDATOR_GROWTH=parametermanager.parameters.PREDATOR_GROWTH, 32 PREDATION_RATE=parametermanager.parameters.PREDATION_RATE, 33 ) 34 starvation.init( 35 STARVATION_MORTALITY_FACTOR=parametermanager.parameters.STARVATION_MORTALITY_FACTOR, 36 STARVATION_MORTALITY_MAXIMUM=parametermanager.parameters.STARVATION_MORTALITY_MAXIMUM, 37 ) 38 self.infection = Infection( 39 BACKGROUND_INFECTIVITY=parametermanager.parameters.BACKGROUND_INFECTIVITY, 40 TRANSMISSIBILITY=parametermanager.parameters.TRANSMISSIBILITY, 41 RECOVERY_RATE=parametermanager.parameters.RECOVERY_RATE, 42 FATALITY_RATE=parametermanager.parameters.FATALITY_RATE, 43 ) 44 frailty.init( 45 FRAILTY_MODIFIER=parametermanager.parameters.FRAILTY_MODIFIER, 46 AGE_LIMIT=parametermanager.parameters.AGE_LIMIT, 47 ) 48 49 # Spatial lattice — opt-in via LATTICE_MODE. When False (default), init 50 # leaves the lattice singleton inert and no other submodel calls it. 51 lattice.init( 52 LATTICE_MODE=parametermanager.parameters.LATTICE_MODE, 53 INITIAL_POPULATION_SIZE=parametermanager.parameters.INITIAL_POPULATION_SIZE, 54 LATTICE_TARGET_DENSITY=parametermanager.parameters.LATTICE_TARGET_DENSITY, 55 RESOURCE_MAXIMUM_AMOUNT=parametermanager.parameters.RESOURCE_MAXIMUM_AMOUNT, 56 rng_seed=parametermanager.parameters.RANDOM_SEED, 57 ) 58 59 # Resources 60 resources.init( 61 RESOURCE_ADDITIVE_GROWTH=parametermanager.parameters.RESOURCE_ADDITIVE_GROWTH, 62 RESOURCE_MULTIPLICATIVE_GROWTH=parametermanager.parameters.RESOURCE_MULTIPLICATIVE_GROWTH, 63 RESOURCE_MAXIMUM_AMOUNT=parametermanager.parameters.RESOURCE_MAXIMUM_AMOUNT, 64 RESOURCE_INITIAL_AMOUNT=parametermanager.parameters.RESOURCE_INITIAL_AMOUNT, 65 ) 66 67 # Reproduction 68 mutator.init( 69 MUTATION_RATIO=parametermanager.parameters.MUTATION_RATIO, 70 MUTATION_METHOD=parametermanager.parameters.MUTATION_METHOD, 71 MUTATION_AGE_MULTIPLIER=parametermanager.parameters.MUTATION_AGE_MULTIPLIER, 72 ) 73 self.sexsystem = SexSystem() 74 self.matingmanager = MatingManager() 75 76 # Genetic architecture 77 ploider.init( 78 REPRODUCTION_MODE=parametermanager.parameters.REPRODUCTION_MODE, 79 DOMINANCE_FACTOR=parametermanager.parameters.DOMINANCE_FACTOR, 80 PLOIDY=parametermanager.parameters.PLOIDY, 81 ) 82 83 # Other 84 self.popgenstats = PopgenStats() 85 86 ################################ 87 # DEPENDENT on other submodels # 88 ################################ 89 90 # Reproduction 91 self.reproduction = Reproducer( 92 RECOMBINATION_RATE=parametermanager.parameters.RECOMBINATION_RATE, 93 REPRODUCTION_MODE=parametermanager.parameters.REPRODUCTION_MODE, 94 mutator=mutator, 95 ) 96 97 # Genetic architecture 98 self.architect = Architect( 99 GENARCH_TYPE=parametermanager.parameters.GENARCH_TYPE, 100 BITS_PER_LOCUS=parametermanager.parameters.BITS_PER_LOCUS, 101 PHENOMAP=parametermanager.parameters.PHENOMAP, 102 AGE_LIMIT=parametermanager.parameters.AGE_LIMIT, 103 THRESHOLD=parametermanager.parameters.THRESHOLD, 104 ENVDRIFT_RATE=parametermanager.parameters.ENVDRIFT_RATE, 105 MODIF_GENOME_SIZE=parametermanager.parameters.MODIF_GENOME_SIZE, 106 )