Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
arik-shurygin committed May 31, 2024
2 parents 8affbc5 + 2373792 commit ea0a6fc
Show file tree
Hide file tree
Showing 22 changed files with 548 additions and 148 deletions.
278 changes: 138 additions & 140 deletions README.md

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
18 changes: 18 additions & 0 deletions data-locations/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Location and Census Data

The folder [data-locations/](./.) contains two `csv` files:

- [locations.csv](./locations.csv) containing
the state and national full name, 2 letter abbreviation and fips code as used
in the hub. The file also contains the population size.
- [locations_2022.csv](./locations_2022.csv)
contains the population size per age group, state (and national level), from
2022. Starting 2024, this data are used for the SMH visualizations.
The data are coming from the US Census Bureau:
- Annual Estimates of the Civilian Population by Single Year of Age and Sex
for the United States and States: April 1, 2020 to July 1,
2022: available
[here](https://www.census.gov/data/datasets/time-series/demo/popest/2020s-state-detail.html).


A python and R script are available to generate the data.
42 changes: 42 additions & 0 deletions data-locations/get_populations_2022.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# System and library
rm(list = ls())
library(dplyr)

# Workflow
# Calculate census data by age group of interest
# The age groups include all the years included in the range:
# - "0-4" include all the years from 0 to 4: 0, 1, 2, 3, and 4.
# - "65-130" include all the years after 64 (not included).
# - etc.
census_link <-
paste0("https://www2.census.gov/programs-surveys/popest/datasets/2020-2022/",
"state/asrh/sc-est2022-agesex-civ.csv")
census_pop <- read.csv(census_link)
census_pop <- dplyr::mutate(
census_pop,
fips = gsub("00", "US", ifelse(nchar(STATE) < 2, paste0("0", STATE),
as.character(STATE)))) %>%
dplyr::filter(SEX == 0) %>%
dplyr::select(fips, age = AGE, value = contains("POPEST2022"))

census_agegroup <- lapply(c("0-64", "65-130", "0-130"), function(age_grp) {
age_min = as.numeric(strsplit(age_grp, "-")[[1]][1])
age_max = as.numeric(strsplit(age_grp, "-")[[1]][2])
df <- dplyr::filter(census_pop, age >= age_min, age <= age_max)
df_age_group <- dplyr::group_by(df, fips) %>%
dplyr::summarise(tot_pop = sum(value), .groups = "keep") %>%
dplyr::ungroup() %>%
dplyr::mutate(age_group = age_grp)
return(df_age_group)
}) %>% bind_rows()

### Update column to match "locations.csv" files
df_loc <- read.csv("data-locations/locations.csv")
df_loc <- dplyr::select(df_loc, -population)

df_loc_2022 <- dplyr::select(census_agegroup, location = fips,
population = tot_pop, age_group)
df_loc_2022 <- dplyr::right_join(df_loc_2022, df_loc, by = "location")

write.csv(df_loc_2022, "data-locations/locations_2022.csv",
row.names = FALSE)
163 changes: 163 additions & 0 deletions data-locations/locations_2022.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
"location","population","age_group","abbreviation","location_name"
"01",4149045,"0-64","AL","Alabama"
"02",609815,"0-64","AK","Alaska"
"04",5958632,"0-64","AZ","Arizona"
"05",2499522,"0-64","AR","Arkansas"
"06",32730804,"0-64","CA","California"
"08",4889710,"0-64","CO","Colorado"
"09",2957771,"0-64","CT","Connecticut"
"10",803028,"0-64","DE","Delaware"
"11",581316,"0-64","DC","District of Columbia"
"12",17389656,"0-64","FL","Florida"
"13",9210427,"0-64","GA","Georgia"
"15",1104612,"0-64","HI","Hawaii"
"16",1605069,"0-64","ID","Idaho"
"17",10399799,"0-64","IL","Illinois"
"18",5676263,"0-64","IN","Indiana"
"19",2614194,"0-64","IA","Iowa"
"20",2412434,"0-64","KS","Kansas"
"21",3701372,"0-64","KY","Kentucky"
"22",3795013,"0-64","LA","Louisiana"
"23",1072319,"0-64","ME","Maine"
"24",5088921,"0-64","MD","Maryland"
"25",5718124,"0-64","MA","Massachusetts"
"26",8151740,"0-64","MI","Michigan"
"27",4719016,"0-64","MN","Minnesota"
"28",2419765,"0-64","MS","Mississippi"
"29",5050182,"0-64","MO","Missouri"
"30",894437,"0-64","MT","Montana"
"31",1628449,"0-64","NE","Nebraska"
"32",2628535,"0-64","NV","Nevada"
"33",1113186,"0-64","NH","New Hampshire"
"34",7642370,"0-64","NJ","New Jersey"
"35",1696676,"0-64","NM","New Mexico"
"36",16093614,"0-64","NY","New York"
"37",8734683,"0-64","NC","North Carolina"
"38",642133,"0-64","ND","North Dakota"
"39",9587105,"0-64","OH","Ohio"
"40",3340371,"0-64","OK","Oklahoma"
"41",3422987,"0-64","OR","Oregon"
"42",10427350,"0-64","PA","Pennsylvania"
"44",883980,"0-64","RI","Rhode Island"
"45",4238030,"0-64","SC","South Carolina"
"46",742641,"0-64","SD","South Dakota"
"47",5809618,"0-64","TN","Tennessee"
"48",25887546,"0-64","TX","Texas"
"49",2971038,"0-64","UT","Utah"
"50",507459,"0-64","VT","Vermont"
"51",7118878,"0-64","VA","Virginia"
"53",6427274,"0-64","WA","Washington"
"54",1398878,"0-64","WV","West Virginia"
"55",4788903,"0-64","WI","Wisconsin"
"56",470524,"0-64","WY","Wyoming"
"US",274405214,"0-64","US","US"
"01",914733,"65-130","AL","Alabama"
"02",101611,"65-130","AK","Alaska"
"04",1382386,"65-130","AZ","Arizona"
"05",542356,"65-130","AR","Arkansas"
"06",6155747,"65-130","CA","California"
"08",914038,"65-130","CO","Colorado"
"09",663318,"65-130","CT","Connecticut"
"10",211844,"65-130","DE","Delaware"
"11",87260,"65-130","DC","District of Columbia"
"12",4794196,"65-130","FL","Florida"
"13",1645027,"65-130","GA","Georgia"
"15",294365,"65-130","HI","Hawaii"
"16",330452,"65-130","ID","Idaho"
"17",2163297,"65-130","IL","Illinois"
"18",1155678,"65-130","IN","Indiana"
"19",586030,"65-130","IA","Iowa"
"20",504017,"65-130","KS","Kansas"
"21",793007,"65-130","KY","Kentucky"
"22",780061,"65-130","LA","Louisiana"
"23",312224,"65-130","ME","Maine"
"24",1044209,"65-130","MD","Maryland"
"25",1260538,"65-130","MA","Massachusetts"
"26",1880335,"65-130","MI","Michigan"
"27",997532,"65-130","MN","Minnesota"
"28",507540,"65-130","MS","Mississippi"
"29",1114355,"65-130","MO","Missouri"
"30",225126,"65-130","MT","Montana"
"31",333056,"65-130","NE","Nebraska"
"32",537004,"65-130","NV","Nevada"
"33",281506,"65-130","NH","New Hampshire"
"34",1611767,"65-130","NJ","New Jersey"
"35",403403,"65-130","NM","New Mexico"
"36",3563576,"65-130","NY","New York"
"37",1861879,"65-130","NC","North Carolina"
"38",129928,"65-130","ND","North Dakota"
"39",2162198,"65-130","OH","Ohio"
"40",660895,"65-130","OK","Oklahoma"
"41",815678,"65-130","OR","Oregon"
"42",2541926,"65-130","PA","Pennsylvania"
"44",206410,"65-130","RI","Rhode Island"
"45",1008009,"65-130","SC","South Carolina"
"46",163817,"65-130","SD","South Dakota"
"47",1220989,"65-130","TN","Tennessee"
"48",4027053,"65-130","TX","Texas"
"49",405200,"65-130","UT","Utah"
"50",139451,"65-130","VT","Vermont"
"51",1464988,"65-130","VA","Virginia"
"53",1308560,"65-130","WA","Washington"
"54",376099,"65-130","WV","West Virginia"
"55",1102119,"65-130","WI","Wisconsin"
"56",108059,"65-130","WY","Wyoming"
"US",57794852,"65-130","US","US"
"01",5063778,"0-130","AL","Alabama"
"02",711426,"0-130","AK","Alaska"
"04",7341018,"0-130","AZ","Arizona"
"05",3041878,"0-130","AR","Arkansas"
"06",38886551,"0-130","CA","California"
"08",5803748,"0-130","CO","Colorado"
"09",3621089,"0-130","CT","Connecticut"
"10",1014872,"0-130","DE","Delaware"
"11",668576,"0-130","DC","District of Columbia"
"12",22183852,"0-130","FL","Florida"
"13",10855454,"0-130","GA","Georgia"
"15",1398977,"0-130","HI","Hawaii"
"16",1935521,"0-130","ID","Idaho"
"17",12563096,"0-130","IL","Illinois"
"18",6831941,"0-130","IN","Indiana"
"19",3200224,"0-130","IA","Iowa"
"20",2916451,"0-130","KS","Kansas"
"21",4494379,"0-130","KY","Kentucky"
"22",4575074,"0-130","LA","Louisiana"
"23",1384543,"0-130","ME","Maine"
"24",6133130,"0-130","MD","Maryland"
"25",6978662,"0-130","MA","Massachusetts"
"26",10032075,"0-130","MI","Michigan"
"27",5716548,"0-130","MN","Minnesota"
"28",2927305,"0-130","MS","Mississippi"
"29",6164537,"0-130","MO","Missouri"
"30",1119563,"0-130","MT","Montana"
"31",1961505,"0-130","NE","Nebraska"
"32",3165539,"0-130","NV","Nevada"
"33",1394692,"0-130","NH","New Hampshire"
"34",9254137,"0-130","NJ","New Jersey"
"35",2100079,"0-130","NM","New Mexico"
"36",19657190,"0-130","NY","New York"
"37",10596562,"0-130","NC","North Carolina"
"38",772061,"0-130","ND","North Dakota"
"39",11749303,"0-130","OH","Ohio"
"40",4001266,"0-130","OK","Oklahoma"
"41",4238665,"0-130","OR","Oregon"
"42",12969276,"0-130","PA","Pennsylvania"
"44",1090390,"0-130","RI","Rhode Island"
"45",5246039,"0-130","SC","South Carolina"
"46",906458,"0-130","SD","South Dakota"
"47",7030607,"0-130","TN","Tennessee"
"48",29914599,"0-130","TX","Texas"
"49",3376238,"0-130","UT","Utah"
"50",646910,"0-130","VT","Vermont"
"51",8583866,"0-130","VA","Virginia"
"53",7735834,"0-130","WA","Washington"
"54",1774977,"0-130","WV","West Virginia"
"55",5891022,"0-130","WI","Wisconsin"
"56",578583,"0-130","WY","Wyoming"
"US",332200066,"0-130","US","US"
"60",NA,NA,"AS","American Samoa"
"66",NA,NA,"GU","Guam"
"69",NA,NA,"MP","Northern Mariana Islands"
"72",NA,NA,"PR","Puerto Rico"
"74",NA,NA,"UM","U.S. Minor Outlying Islands"
"78",NA,NA,"VI","Virgin Islands"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Summary of results
Differences across scenarios are mainly driven by immune escape scenarios - with high immune escape leading to a more sustained increase in transmission lasting throughout the year. Low immune escape scenarios result in a limited amount of transmission over the summer with a pronounced winter peak. In some states, high immune escape projects a summer peak in addition to a larger winter peak.

# Explanation of observed dynamics given model assumptions
Dynamics are largely driven by immune escape, which defines the level of protection of the vaccine over time. This, paired with the rate of waning, strongly affects the possibility of a summer peak in addition to the winter peak.

# Model assumptions: please describe:
## Number/type of immune classes considered
We model immune classes as a ladder of immune protection, where a level 10 protection is fully protected from infection (directly following infection), and level 0 corresponds to full susceptibility. People move down this ladder due to waning and drift, and up the ladder following vaccination.

## Initial distribution of susceptibility (if available)
This follows from prior fits from Round 17.

## Initial variant characteristics (transmissibility of variants at t=0, and how uncertainty or non-identifiability was handled)
Variants are not directly modelled. Initial transmissibility is fit from prior rounds (uncertainty is inherent in these prior fits).

## Details about calibration of immunity at t=0 (calibration period considered, assumptions about/fitting of past immune escape and waning immunity, is the same calibration process used for all scenarios?)
Initial immunity is fit from prior rounds. Calibration for this round was specifically for the time period from March 2023 - April 2024, using scenario F as the calibration scenario (high immune escape). Waning of immunity is fit from prior rounds. This calibration was then used to project all other scenarios.

## Details about modeling of immune escape after t=0 (including how projected immune escape is handled in scenarios, e.g., whether a stepwise or continuous escape was considered and how immune escape affects infection- and vaccine-induced immunity)
A continuous escape is considered. We assume that drift from the vaccine strain follows the provided rate of immune escape and determines how much protection is provided from the vaccine, and also defines the rate of waning down the immune ladder.

## Assumptions regarding waning immunity against infection and symptoms (including values used for the duration and level of protection against infection or symptomatic disease, whether a point estimate was used or a range, and distribution used)
Protection against hospitalization is defined in scenarios. We mapped this to an initial VE against infection of 50%. The duration of protection is driven by rate of waning (no discrimination between vaccine induced or natural immunity) with prior of 10 months and is inferred.

## Assumptions regarding waning immunity against severe disease (including whether immunity against severe disease, conditional on infection, is fixed vs declines over time; and if it wanes, specify how)
Rate of waning is the same as against infection, as the levels of protection against infection also define protection against severe outcomes.

## Assumptions regarding boosting effect from multiple infections
None.

## Is vaccination assumed to prevent infection and/or transmissibility?
Infection only.

## Describe the process used to set or calibrate disease severity, ie P(hosp given current infection) and P(death given current infection) details. What are the datasets used for calibration of the death targets?
Disease severity estimates are based on some previous serology studies and have slight variations across states and age groups.

## Seasonality implementation, e.g., whether seasonality varies by geography and which datasets are used to fit seasonal parameters
Seasonality is inferred from the start of the pandemic. They are state-specific monthly terms (with a rolling mean applied) that adjust transmissibility.

## Details about modeling of age-specific outcomes, including assumptions on age-specific parameters (e.g., susceptibility, infection hospitalization risk or fatality risk, VE)
IFR and IHR are age-specific (0-17, 18-64, 65+).

## Details about modeling of high-risk individuals, e.g., susceptibility and infection hospitalization risk or infection fatality risk, VE
We divide the 18-64 age group into low-risk and high-risk individuals, with differential IHR (high risk 4.3 times higher) and IFR (high risk 9.3 times higher).

## Is empirical data on human mobility or contact patterns used in the model?
None.

## Is there a background level of non pharmaceutical interventions?
None.

## Is importation from other countries considered?
None.

## Other updates in model assumptions from previous rounds (e.g., demographic dynamics)
None, other than including high-risk and low-risk for the 18-64 age group.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
21 changes: 21 additions & 0 deletions data-processed/JHU_UNC-flepiMoP/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020 Johns Hopkins IDDynamics Group

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
43 changes: 43 additions & 0 deletions data-processed/JHU_UNC-flepiMoP/metadata-JHU_UNC-flepiMoP.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
team_name: Johns Hopkins ID Dynamics and University of North Carolina Chapel Hill
model_name: flepiMoP
model_abbr: JHU_UNC-flepiMoP
model_version: "1.0"
model_contributors: Joseph C. Lemaitre (UNC), Sara Loo (JHU), Emily Przykucki (UNC), Sung-mok Jung (UNC), Claire P. Smith (JHU), Clif McKee (JHU), Pengcheng Fang (JHU), Koji Sato (JHU), Alison Hill (JHU), Justin Lessler (UNC), Shaun Truelove (JHU) <[email protected]>
website_url: https://github.com/HopkinsIDD/flepiMoP
license: mit
methods: State-level metapopulation model with commuting and stochastic SEIR disease dynamics
with social-distancing indicators.
modeling_NPI: Stay-at-home orders and
\ subsequent social distancing interventions are updated at the state-level according \
\ to recent policy documents. Ongoing interventions continued through \
\ the remainder of the simulation period. Intervention effects are inferred \
\ where possible.
compliance_NPI: Not applicable
contact_tracing: Not applicable
testing: Not applicable
vaccine_efficacy_transmission: "Vaccine efficacy is assumed to be against infection, not specifically \
\ transmission. Vaccine efficacy estimates are assumed based on the scenarios."
vaccine_efficacy_delay: None.
vaccine_hesitancy: Hesitancy is not assumed other than specifically indicated by the scenarios.
vaccine_immunity_duration: Waning rate is fit.
natural_immunity_duration: Waning rate is fit.
case_fatality_rate: Age- and risk-adjusted based on population distribution.
infection_fatality_rate: Age- and risk-adjusted based on population distribution and age-distribution of those
\ who have received at least one vaccine dose. US national CFR set at 5%.
asymptomatics: Not applicable
age_groups: 0-17, 18-64, 65+
importations: Functionality in place, but not currently in use.
confidence_interval_method: We compute confidence intervals as quantiles across 300 simulations.
calibration: "We use an MCMC-like inference procedure that calibrates model outputs to weekly \
\ aggregations of incident hospitalizations and deaths. For the \
\ inference of the baseline reproductive number and the case confirmation to infection ratio."
spatial_structure: state-level metapopulation accounting for spatial mobility using community data between states.
citation: https://doi.org/10.1016/j.epidem.2024.100753
methods_long: flepiMoP is a comprehensive open-source software pipeline designed for creating and \
\ simulating compartmental models of infectious disease transmission and inferring parameters through these models. \
\ A single YAML configuration file defines the inclusion and behavior of each submodule over the specified population \
\ structure. The core module, gempyor (“General Epidemics Modeling Pipeline with Ynterventions and Outcome Reporting”), \
\ is a fast and flexible disease transmission model that can simulate any compartmental structure and observation model. \
\ gempyor can be run standalone for projection scenarios (given a set of parameters and without inference) or within a \
\ tailored, distributed inference module that executes several parallel chains of repeated epidemic simulations in an \
\ MCMC-like fashion, allowing for calibration of the model to data and identification of model parameters.
Loading

0 comments on commit ea0a6fc

Please sign in to comment.