aegis_sim.parameterization

 1import logging
 2from aegis_sim import constants
 3from aegis_sim.parameterization.parametermanager import ParameterManager
 4
 5parametermanager = ParameterManager()
 6
 7traits = None  # will be redefined below in init_traits
 8expected_phenotype_length = None  # will be redefined below in init_traits
 9
10
11def init_traits(self):
12    """
13    Here the trait order is hardcoded.
14    """
15    from aegis_sim.parameterization.trait import Trait
16
17    traits = {}
18    self.expected_phenotype_length = 0
19
20    next_trait_start_position = 0
21    for traitname in constants.GENETIC_TRAITS:
22        trait = Trait(
23            name=traitname,
24            cnf=parametermanager.parameters,
25            start_position=next_trait_start_position,
26            genarch_type=parametermanager.parameters.GENARCH_TYPE,
27            MODIF_GENOME_SIZE=parametermanager.parameters.MODIF_GENOME_SIZE,
28        )
29        traits[traitname] = trait
30        next_trait_start_position = trait.end
31
32        if trait.evolvable:
33            if trait.agespecific:
34                self.expected_phenotype_length += parametermanager.parameters.AGE_LIMIT
35            else:
36                self.expected_phenotype_length += 1
37
38    logging.info(f"Expected phenotype length is {self.expected_phenotype_length}")
39    self.traits = traits
traits = None
expected_phenotype_length = None
def init_traits(self):
12def init_traits(self):
13    """
14    Here the trait order is hardcoded.
15    """
16    from aegis_sim.parameterization.trait import Trait
17
18    traits = {}
19    self.expected_phenotype_length = 0
20
21    next_trait_start_position = 0
22    for traitname in constants.GENETIC_TRAITS:
23        trait = Trait(
24            name=traitname,
25            cnf=parametermanager.parameters,
26            start_position=next_trait_start_position,
27            genarch_type=parametermanager.parameters.GENARCH_TYPE,
28            MODIF_GENOME_SIZE=parametermanager.parameters.MODIF_GENOME_SIZE,
29        )
30        traits[traitname] = trait
31        next_trait_start_position = trait.end
32
33        if trait.evolvable:
34            if trait.agespecific:
35                self.expected_phenotype_length += parametermanager.parameters.AGE_LIMIT
36            else:
37                self.expected_phenotype_length += 1
38
39    logging.info(f"Expected phenotype length is {self.expected_phenotype_length}")
40    self.traits = traits

Here the trait order is hardcoded.