Strain#

class dynode.config.strains.Strain(*, strain_name: Annotated[str, BeforeValidator(func=_verify_name, json_schema_input_type=PydanticUndefined)], r0: Annotated[float, Ge(ge=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter, infectious_period: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution, exposed_to_infectious: Annotated[float, Gt(gt=0)] | None = None, vaccine_efficacy: dict[int, Annotated[float, Ge(ge=0)]] | None = None, is_introduced: bool = False, introduction_time: date | Annotated[float, Ge(ge=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None = None, introduction_percentage: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None = None, introduction_scale: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None = None, introduction_ages: List[AgeBin] | None = None, introduction_ages_mask_vector: List[int] | None = None)#

Bases: BaseModel

A strain in the ODE model, optionally introduced from external population.

__init__(**data: Any) None#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Methods

Attributes

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

strain_name: Annotated[str, BeforeValidator(func=_verify_name, json_schema_input_type=PydanticUndefined)]#
r0: Annotated[float, Ge(ge=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter#
infectious_period: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution#
exposed_to_infectious: Annotated[float, Gt(gt=0)] | None#
vaccine_efficacy: dict[int, Annotated[float, Ge(ge=0)]] | None#
is_introduced: bool#
introduction_time: date | Annotated[float, Ge(ge=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None#
introduction_percentage: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None#
introduction_scale: Annotated[float, Gt(gt=0)] | Array | ndarray | bool | number | bool | int | float | complex | Distribution | DeterministicParameter | None#
introduction_ages: List[AgeBin] | None#
introduction_ages_mask_vector: List[int] | None#
_abc_impl = <_abc._abc_data object>#