
# Parameter specification

There are three kinds of properties in AEGIS: fixed, parametrizable and variable.
- Fixed properties, such as lack of mating preference, is hard-coded in the current version of AEGIS – it is valid for all simulations and all individuals and cannot be changed.
- Parametrizable properties, such as reproduction mode, is parametrizable – it can be set by a parameter (`REPRODUCTION_MODE`) to various values including `sexual` and `asexual`.
- All other properties, e.g. fertility (biological) or abiotic mortality (environmental), are variable – they differ between individuals and they vary over simulation time.  

The table below provides information about all parameters in AEGIS. Here we provide an explanation of table columns.
- `key` specifies the parameter names as they are given in the GUI and as they are expected in the .yml input configuration files.
- `default` specifies the default value of the parameter. This is the value that will be used if the user does not provide any value.
- `info` specifies a short description of the parameter. Note that to understand some of the parameters it is necessary to understand how they modify the behavior of the submodel they affect.
- `dtype` specifies the data type of the parameter value.
- `drange` specifies the valid range of values that can be used for the parameter.
- `domain` specifies the simulation component which the parameter modifies.

|    | key                      | default    | info                                                                                 | dtype           | drange                                                                                                               | domain                         |
|---:|:-------------------------|:-----------|:-------------------------------------------------------------------------------------|:----------------|:---------------------------------------------------------------------------------------------------------------------|:-------------------------------|
|  0 | LOGGING_RATE             | 100        | Frequency of logging (in steps)                                                      | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  1 | TICKER_RATE              | 1          | Frequency of ticking (in seconds)                                                    | <class 'float'> | [0, inf)                                                                                                             | recording                      |
|  2 | PICKLE_RATE              | 10000      | Frequency of pickling (in steps)                                                     | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  3 | SNAPSHOT_RATE            | 10000      | Frequency of recording snapshots (in steps)                                          | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  4 | SNAPSHOT_FINAL_COUNT     | 60         | Number of subsequent snapshots taken at the end of the simulation (in steps)         | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  5 | INTERVAL_RATE            | 1000       | Frequency of recording interval data (in steps)                                      | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  6 | TE_RATE                  | 10000      | Frequency of starting TE cohorts (in steps)                                          | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  7 | TE_DURATION              | 500        | Length of tracking TE cohorts (in steps)                                             | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  8 | POPGENSTATS_RATE         | 1000       | Frequency of recording population genetic statistics (in steps)                      | <class 'int'>   | [0, inf)                                                                                                             | recording                      |
|  9 | POPGENSTATS_SAMPLE_SIZE  | 100        | Number of individuals to use when calculating population genetic statistics          | <class 'int'>   | {0, [3, inf)}                                                                                                        | recording                      |
| 10 | NOTES                    | []         |                                                                                      | <class 'list'>  |                                                                                                                      | recording                      |
| 11 | CARRYING_CAPACITY        | 500        | Maximum population size that the environment can sustain                             | <class 'int'>   | [1, inf)                                                                                                             | starvation                     |
| 12 | CARRYING_CAPACITY_EGGS   | 500        | Maximum number of eggs that the environment can sustain                              | <class 'int'>   | [1, inf)                                                                                                             | starvation                     |
| 13 | STARVATION_RESPONSE      | gradual    | Mechanism for determining who dies under overcrowding conditions                     | <class 'str'>   | {gradual, cliff, treadmill_random, treadmill_zoomer, treadmill_boomer, treadmill_boomer_soft, treadmill_zoomer_soft} | starvation                     |
| 14 | STARVATION_MAGNITUDE     | 0.05       | Acceleration of mortality under starvation                                           | <class 'float'> | (0,1)                                                                                                                | starvation                     |
| 15 | CLIFF_SURVIVORSHIP       |            | Fraction of the population surviving a 'cliff' starvation event                      | <class 'float'> | {None, (0,1)}                                                                                                        | starvation                     |
| 16 | INCUBATION_PERIOD        | 0          | Time between fertilization and hatching (in steps)                                   | <class 'int'>   | [-1, inf)                                                                                                            | reproduction                   |
| 17 | MATURATION_AGE           | 10         | Minimum age at which an individual can reproduce                                     | <class 'int'>   | [1, inf)                                                                                                             | reproduction                   |
| 18 | REPRODUCTION_ENDPOINT    | 0          | Minimum age at which an individual can no longer reproduce                           | <class 'int'>   | [0, inf)                                                                                                             | reproduction                   |
| 19 | MAX_OFFSPRING_NUMBER     | 1          | Maximum number of offspring that an individual can produce each step.                | <class 'int'>   | [1, inf)                                                                                                             | reproduction                   |
| 20 | REPRODUCTION_MODE        | sexual     | Mode of reproduction                                                                 | <class 'str'>   | {sexual, asexual, asexual_diploid}                                                                                   | reproduction                   |
| 21 | RECOMBINATION_RATE       | 0.1        | Probability of recombination occuring between two adjacent sites                     | <class 'float'> | [0, inf)                                                                                                             | reproduction                   |
| 22 | MUTATION_RATIO           | 0.1        | Ratio of 0->1 mutations to 1->0 mutations                                            | <class 'float'> | [0, inf)                                                                                                             | reproduction                   |
| 23 | MUTATION_AGE_MULTIPLIER  | 0          | Modifier of germline mutation rate                                                   | <class 'float'> | [0, inf)                                                                                                             | reproduction                   |
| 24 | DOMINANCE_FACTOR         | 1          | Inheritance patterns for non-haploid genomes                                         | <class 'float'> | [0, inf)                                                                                                             | genetics                       |
| 25 | G_repr_lo                | 0          | Minimum intrinsic fertility                                                          | <class 'float'> |                                                                                                                      | genetics                       |
| 26 | G_repr_hi                | 0.5        | Maximum intrinsic fertility                                                          | <class 'float'> |                                                                                                                      | genetics                       |
| 27 | G_neut_lo                | 0          |                                                                                      | <class 'float'> |                                                                                                                      | genetics                       |
| 28 | G_neut_hi                | 1          |                                                                                      | <class 'float'> |                                                                                                                      | genetics                       |
| 29 | G_muta_lo                | 0          | Minumum intrinsic mutation rate                                                      | <class 'float'> |                                                                                                                      | genetics                       |
| 30 | G_muta_hi                | 1          | Maximum intrinsic mutation rate                                                      | <class 'float'> |                                                                                                                      | genetics                       |
| 31 | G_grow_lo                | 0          | Minimum intrinsic growth rate                                                        | <class 'float'> |                                                                                                                      | genetics                       |
| 32 | G_grow_hi                | 1          | Maximum intrinsic growth rate                                                        | <class 'float'> |                                                                                                                      | genetics                       |
| 33 | ENVDRIFT_RATE            | 0          | Frequency of modification to the fitness landscape (in steps)                        | <class 'int'>   | [0, inf)                                                                                                             | environmental drift            |
| 34 | ABIOTIC_HAZARD_AMPLITUDE | 0          | Maximum abiotic hazard                                                               | <class 'float'> | [0, inf)                                                                                                             | abiotic                        |
| 35 | ABIOTIC_HAZARD_PERIOD    | 1          | Period of wave form of abiotic hazard (in steps)                                     | <class 'float'> | [1, inf)                                                                                                             | abiotic                        |
| 36 | ABIOTIC_HAZARD_OFFSET    | 0          | Constant, time-independent abiotic hazard                                            | <class 'float'> | [0, inf)                                                                                                             | abiotic                        |
| 37 | ABIOTIC_HAZARD_SHAPE     | sinusoidal | Wave form of abiotic hazard                                                          | <class 'str'>   | {sinusoidal, flat, triangle, square, sawtooth, ramp, instant}                                                        | abiotic                        |
| 38 | BACKGROUND_INFECTIVITY   | 0          | Tendency to acquire infection from the environment                                   | <class 'float'> | [0, inf)                                                                                                             | infection                      |
| 39 | TRANSMISSIBILITY         | 0          | Tendency to acquire infection from other infected individuals                        | <class 'float'> | [0, inf)                                                                                                             | infection                      |
| 40 | RECOVERY_RATE            | 0          | Tendency to transition from infected to healthy status                               | <class 'float'> | [0, inf)                                                                                                             | infection                      |
| 41 | FATALITY_RATE            | 0          | Tendency to transition from infected to dead status                                  | <class 'float'> | [0, inf)                                                                                                             | infection                      |
| 42 | PREDATION_RATE           | 0          | Vulnerability to predators                                                           | <class 'float'> | [0, inf)                                                                                                             | predation                      |
| 43 | PREDATOR_GROWTH          | 0          | Intrinsic growth rate of predators                                                   | <class 'float'> | [0, inf)                                                                                                             | predation                      |
| 44 | BITS_PER_LOCUS           | 8          | Number of bits that each locus has                                                   | <class 'int'>   | [1, inf)                                                                                                             | composite genetic architecture |
| 45 | HEADSUP                  | -1         | -1 if no preevolution, 0 for maturity guarantee, +x for headsup                      | <class 'int'>   | {-1, 0, [1, inf)}                                                                                                    | composite genetic architecture |
| 46 | G_surv_evolvable         | True       | Is survival an evolvable trait?                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 47 | G_surv_agespecific       | True       | Is survival age-specific?                                                            | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 48 | G_surv_interpreter       | binary     |                                                                                      | <class 'str'>   |                                                                                                                      | composite genetic architecture |
| 49 | G_surv_lo                | 0          | Minimum survival rate                                                                | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 50 | G_surv_hi                | 1          | Maximum survival rate                                                                | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 51 | G_surv_initgeno          | 1          | Initial survival rate                                                                | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 52 | G_repr_evolvable         | True       | Is fertility an evolvable trait?                                                     | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 53 | G_repr_agespecific       | True       | Is fertility age-specific?                                                           | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 54 | G_repr_interpreter       | binary     |                                                                                      | <class 'str'>   |                                                                                                                      | composite genetic architecture |
| 55 | G_repr_initgeno          | 1          | Initial fertility rate                                                               | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 56 | G_neut_evolvable         | False      |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 57 | G_neut_agespecific       | False      |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 58 | G_neut_interpreter       | binary     |                                                                                      | <class 'str'>   |                                                                                                                      | composite genetic architecture |
| 59 | G_neut_initgeno          | 1          |                                                                                      | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 60 | G_muta_evolvable         | False      |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 61 | G_muta_agespecific       | False      |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 62 | G_muta_interpreter       | binary     |                                                                                      | <class 'str'>   |                                                                                                                      | composite genetic architecture |
| 63 | G_muta_initgeno          | 1          | Initial mutation rate                                                                | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 64 | G_grow_evolvable         | True       |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 65 | G_grow_agespecific       | False      |                                                                                      | <class 'bool'>  |                                                                                                                      | composite genetic architecture |
| 66 | G_grow_interpreter       | binary     |                                                                                      | <class 'str'>   |                                                                                                                      | composite genetic architecture |
| 67 | G_grow_initgeno          | 0.5        |                                                                                      | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 68 | THRESHOLD                |            |                                                                                      | <class 'int'>   |                                                                                                                      | composite genetic architecture |
| 69 | PHENOMAP_SPECS           | []         |                                                                                      | <class 'list'>  |                                                                                                                      | modifying genetic architecture |
| 70 | PHENOMAP                 | {}         |                                                                                      | <class 'dict'>  |                                                                                                                      | modifying genetic architecture |
| 71 | G_grow_initpheno         | 0.5        |                                                                                      | <class 'float'> |                                                                                                                      | composite genetic architecture |
| 72 | G_muta_initpheno         | 0.001      | Initial mutation rate                                                                | <class 'float'> |                                                                                                                      | modifying genetic architecture |
| 73 | G_surv_initpheno         | 1          | Initial survival rate                                                                | <class 'float'> |                                                                                                                      | modifying genetic architecture |
| 74 | G_repr_initpheno         | 1          | Initial fertility rate                                                               | <class 'float'> |                                                                                                                      | modifying genetic architecture |
| 75 | G_neut_initpheno         | 1          |                                                                                      | <class 'float'> |                                                                                                                      | modifying genetic architecture |
| 76 | STEPS_PER_SIMULATION     | 100000     | Number of steps for the simulation to execute                                        | <class 'int'>   | [1, inf)                                                                                                             | other                          |
| 77 | AGE_LIMIT                | 50         | Maximum achievable lifespan (in steps)                                               | <class 'int'>   | [1, inf)                                                                                                             | other                          |
| 78 | FRAILTY_MODIFIER         | 1          | Age-dependent modifier of mortality                                                  | <class 'float'> | [1, inf)                                                                                                             | other                          |
| 79 | MUTATION_METHOD          | by_bit     | Vectorized or non-vectorized method of calculating incidence of new mutations        | <class 'str'>   | {by_bit, by_index}                                                                                                   | technical                      |
| 80 | RANDOM_SEED              |            | Number used as seed for pseudorandom number generator                                | <class 'int'>   | {None, (-inf, inf)}                                                                                                  | technical                      |
| 81 | PHENOMAP_METHOD          | by_loop    | Non-vectorized, vectorized and blank method of calculating phenotypes from genotypes | <class 'str'>   | {by_loop, by_dot, by_dummy}                                                                                          | technical                      |