Skip to content

laser.measles.abm.components.process_infection_seeding

process_infection_seeding

Component for seeding initial infections in the compartmental model.

This component allows initialization of infections in specific patches or automatically selects the largest patch by population for seeding.

InfectionSeedingParams

Bases: BaseModel

Parameters for the infection seeding component.

Examples:

1
2
3
from laser.measles.abm.components.process_infection_seeding import InfectionSeedingParams

params = InfectionSeedingParams()

validate_infections_per_patch(v, info) classmethod

Validate that infections_per_patch matches target_patches length if both provided.

validate_target_patches(v) classmethod

Validate target_patches format.

InfectionSeedingProcess(model, params=None)

Bases: BaseComponent

Component for seeding initial infections in the compartmental model.

This component initializes infections by moving individuals from the Susceptible (S) compartment to the Infected (I) compartment. It can either:

  1. Automatically seed the patch with the largest population (default)
  2. Seed specific patches provided by the user

The seeding occurs during initialize() before the simulation begins.

Parameters:

Name Type Description Default
model BaseLaserModel

The compartmental model instance.

required
params InfectionSeedingParams | None

Component-specific parameters. If None, uses default parameters.

None

Examples:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Seed 1 infection in largest patch (default)
seeding_params = InfectionSeedingParams()

# Seed 5 infections in largest patch
seeding_params = InfectionSeedingParams(num_infections=5)

# Seed specific patches with same number of infections
seeding_params = InfectionSeedingParams(
    target_patches=["nigeria:kano:kano:A0001", "nigeria:kano:kano:A0002"],
    infections_per_patch=3,
)

# Seed specific patches with different numbers of infections
seeding_params = InfectionSeedingParams(
    target_patches=["nigeria:kano:kano:A0001", "nigeria:kano:kano:A0002"],
    infections_per_patch=[5, 2],
)