MalariaDemographics
This module contains the classes and functions for creating demographics files
for malaria simulations. For more information on EMOD demographics files,
see :doc:emod/software-demographics.
MalariaDemographics
Bases: Demographics
This class is derived from class:
emod_api:emod_api.demographics.Demographics.Demographics
and sets certain defaults for malaria in construction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
nodes
|
int
|
The number of nodes to create. |
required |
idref
|
str
|
Method describing how the latitude and longitude values are created
for each of the nodes in a simulation. "Gridded world" values use a grid
overlaid across the globe at some arcsec resolution. You may also generate
the grid using another tool or coordinate system. For more information,
see :ref: |
'Gridded world grump2.5arcmin'
|
base_file
|
str
|
A basic demographics file used as a starting point for creating more complicated demographics files. For example, using a single node file to create a multi-node file for spatial simulations. |
None
|
init_prev
|
float
|
The initial malaria prevalence of the population. Defaults to 0%. |
0.0
|
include_biting_heterogeneity
|
bool
|
variable biting rates. Defaults to on. |
True
|
Source code in emodpy_malaria/demographics/MalariaDemographics.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | |
add_initial_vectors_per_species(init_vector_species, node_ids=None)
Add an InitialVectorsForSpecies configuration for all nodes or just a set of nodes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
init_vector_species
|
dict
|
Dictionary of vector species (strings) to initial populations. There is no checking for coherence of species named in other input settings. |
required |
node_ids
|
Union[None, list[int]]
|
Array of node ids. Defaults to None for all nodes. |
None
|
Source code in emodpy_malaria/demographics/MalariaDemographics.py
add_initial_vectors_per_species_from_csv(csv_path)
Add initial vector species population to 'demographics' nodes from a csv file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
csv_path
|
str
|
Path to CSV file with the initial vector species populations for each node. |
required |
Source code in emodpy_malaria/demographics/MalariaDemographics.py
add_larval_habitat_multiplier(schema, hab_type, multiplier, species='ALL_SPECIES', node_id=0)
Add LarvalHabitatMultiplier to node(s).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
schema
|
str
|
Path to schema.json. |
required |
hab_type
|
str
|
Habitat type. |
required |
multiplier
|
float
|
Multiplier or Factor. |
required |
species
|
str
|
Specific species (defaults to ALL). |
'ALL_SPECIES'
|
node_id
|
int
|
Nodes for this LHM. Defaults to all. |
0
|
Source code in emodpy_malaria/demographics/MalariaDemographics.py
set_innate_immune_distribution(distribution_flag=0, param1=0.0, param2=0.0)
Set the innate immune distribution for individuals in all nodes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
distribution_flag
|
int
|
Integer flag to select the distribution type. 0 (Constant, everyone in the population has the same innate immune coefficient.) 1 (Uniform, innate immune coefficient is randomly drawn between a minimum and maximum value.) 2 (Gaussian) 3 (Exponential) 4 (Poisson) 5 (Log normal) 6 (Bimodal, non-continuous with some individuals having a innate immune coefficient of 1 and others a user-defined innate immune coefficient.) 7 (Weibull) |
0
|
param1
|
int
|
First parameter for the distribution (meaning depends on distribution type). 0, Innate immune coefficient value to assign. 1, Minimum innate immune coefficient for a uniform distribution. 2, Mean innate immune coefficient for a Gaussian distribution. 3, Exponential decay rate. 4, Mean innate immune coefficient for a Poisson distribution. 5, Mu (the mean of the natural log) for a log normal distribution. 6, ""Proportion of individuals in the second, user-defined innate immune coefficient bin vs. the first innate immune coefficient bin (value of 1) for a bimodal distribution. Must be between 0 and 1."" 7, Scale parameter for a Weibull distribution. |
0.0
|
param2
|
int
|
Second parameter for the distribution (meaning depends on distribution type). 0, NA, set to 0. 1, Maximum innate immune coefficient for a uniform distribution. 2, Standard deviation in innate immune coefficient for a Gaussian distribution. 3, NA, set to 0. 4, NA, set to 0. 5, Sigma (the standard deviation of the natural log) for a log normal distribution. 6, The innate immune coefficient for individuals in the second innate immune coefficient bin for a bimodal distribution. 7, Shape parameter for a Weibull distribution. |
0.0
|
Source code in emodpy_malaria/demographics/MalariaDemographics.py
set_risk_high()
Set initial risk for high transmission settings per: https://wiki.idmod.org/display/MAL/Heterogeneous+biting+risk+in+simulations+vs+data.
Source code in emodpy_malaria/demographics/MalariaDemographics.py
set_risk_lowmedium()
Set initial risk for low-medium transmission settings per: https://wiki.idmod.org/display/MAL/Heterogeneous+biting+risk+in+simulations+vs+data.
Source code in emodpy_malaria/demographics/MalariaDemographics.py
from_csv(input_file, res=30 / 3600, id_ref='from_csv', init_prev=0.0, include_biting_heterogeneity=True)
Create a multi-node class:
~emodpy_malaria.demographics.MalariaDemographics
instance from a CSV file describing a population.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_file
|
str
|
The path to the csv file to ingest. |
required |
res
|
float
|
Resolution. |
30 / 3600
|
id_ref
|
str
|
A string to identify the file, needs to match other input files. |
'from_csv'
|
init_prev
|
float
|
The initial malaria prevalence of the population. Defaults to 0%. |
0.0
|
include_biting_heterogeneity
|
bool
|
variable biting rates. Defaults to on. |
True
|
Returns:
| Type | Description |
|---|---|
MalariaDemographics
|
Demographics object |
Source code in emodpy_malaria/demographics/MalariaDemographics.py
from_params(tot_pop=1000000.0, num_nodes=100, frac_rural=0.3, id_ref='from_params')
Creates nodes with following logic: First node is the urban node, which contains tot_pop * (1-frac_rural) of the population, the rest of the nodes splip the left-over population with less and less people in each node.
Create a multi-node class:
~emodpy_malaria.demographics.MalariaDemographics
instance as a synthetic population based on a few parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tot_pop
|
int
|
The total human population in the node. |
1000000.0
|
num_nodes
|
int
|
The number of nodes to create. |
100
|
frac_rural
|
float
|
The fraction of the population that will be distributed between nodes 2 and higher |
0.3
|
id_ref
|
str
|
Method describing how the latitude and longitude values are created
for each of the nodes in a simulation. "Gridded world" values use a grid
overlaid across the globe at some arcsec resolution. You may also generate
the grid using another tool or coordinate system. For more information,
see :ref: |
'from_params'
|
Returns:
| Type | Description |
|---|---|
MalariaDemographics
|
Demographics object |
Source code in emodpy_malaria/demographics/MalariaDemographics.py
from_pop_csv(pop_filename_in, pop_filename_out='spatial_gridded_pop_dir', site='No_Site')
Create a multi-node class:
~emodpy_malaria.demographics.MalariaDemographics
instance from a CSV file describing a population.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pop_filename_in
|
str
|
The path to the demographics file to ingest. |
required |
pop_filename_out
|
str
|
The path to the file to output. |
'spatial_gridded_pop_dir'
|
site
|
str
|
A string to identify the country, village, or trial site. |
'No_Site'
|
Returns:
| Type | Description |
|---|---|
MalariaDemographics
|
Demographics object |
Source code in emodpy_malaria/demographics/MalariaDemographics.py
from_template_node(lat=0, lon=0, pop=1000000.0, name=1, forced_id=1, init_prev=0.2, include_biting_heterogeneity=True)
Create a single-node class:
~emodpy_malaria.demographics.MalariaDemographics
instance from the parameters you supply.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lat
|
float
|
Latitude of the centroid of the node to create. |
0
|
lon
|
float
|
Longitude of the centroid of the node to create. |
0
|
pop
|
int
|
Human population of the node. |
1000000.0
|
name
|
str
|
The name of the node. This may be a characteristic of the node, such as "rural" or "urban", or an identifying integer. |
1
|
forced_id
|
int
|
The node ID for the single node. |
1
|
init_prev
|
float
|
The initial malaria prevalence of the node. |
0.2
|
Returns:
| Type | Description |
|---|---|
MalariaDemographics
|
Demographics object |