Skip to content

Commit 08695a5

Browse files
authored
Merge branch 'midas-network:main' into main
2 parents 906eee4 + 2a57294 commit 08695a5

17 files changed

Lines changed: 15714 additions & 15040 deletions

.github/requirement_validation.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Packages required for the truth data update (update 20250508)
2+
gh
3+
hubValidations
4+
jsonlite
5+
purrr
6+
remotes
7+
SMHvalidation
8+
stringr
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Validation Cache Install
2+
3+
on:
4+
# push:
5+
# branch:
6+
# - main
7+
workflow_dispatch:
8+
9+
jobs:
10+
cache-R-library:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 1
18+
sparse-checkout: '.github'
19+
20+
- name: Setup R
21+
uses: r-lib/actions/setup-r@v2
22+
23+
- name: Install system dependencies
24+
run: sudo apt-get install libcurl4-openssl-dev libharfbuzz-dev libfribidi-dev libarchive-dev libudunits2-dev libgdal-dev libfontconfig1-dev
25+
26+
- name: Cache R packages
27+
if: runner.os != 'Windows'
28+
uses: actions/cache@v4
29+
with:
30+
path: ${{ env.R_LIBS_USER }}
31+
key: ${{ runner.os }}-${{ hashFiles('.github/requirement_validation.txt') }}-1
32+
33+
- name: Install dependencies
34+
if: steps.cache.outputs.cache-hit != 'true'
35+
run: |
36+
R -e 'Sys.setenv("NOT_CRAN" = TRUE)
37+
install.packages(c("purrr", "stringr", "gh", "remotes", "jsonlite"))
38+
install.packages("hubValidations", repos = c("https://hubverse-org.r-universe.dev", "https://cloud.r-project.org"))
39+
Sys.unsetenv("NOT_CRAN")
40+
remotes::install_url("https://github.com/midas-network/SMHvalidation/archive/refs/heads/main.zip")'
41+
env:
42+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/validation.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Validate
2+
on:
3+
pull_request_target:
4+
types: [synchronize, opened, reopened]
5+
branches:
6+
- main
7+
paths:
8+
- 'model-output/**.parquet'
9+
- 'model-metadata/*'
10+
- '!**README**'
11+
12+
jobs:
13+
validates-files:
14+
runs-on: ubuntu-latest
15+
16+
env:
17+
GH_PR_NUMBER: ${{ github.event.pull_request.number }}
18+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19+
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v3
23+
with:
24+
ref: ${{ github.event.pull_request.head.sha }}
25+
fetch-depth: 1
26+
sparse-checkout: |
27+
.github/
28+
src
29+
hub-config
30+
model-output/
31+
model-metadata/
32+
33+
- name: Setup R
34+
uses: r-lib/actions/setup-r@v2
35+
36+
- name: Install system dependencies
37+
run: sudo apt-get install libcurl4-openssl-dev libudunits2-dev libgdal-dev
38+
39+
- name: Cache R packages
40+
id: cache
41+
uses: actions/cache@v4
42+
with:
43+
path: ${{ env.R_LIBS_USER }}
44+
key: ${{ runner.os }}-${{ hashFiles('.github/requirement_validation.txt') }}-1
45+
46+
- name: Install dependencies
47+
if: ( steps.cache.outputs.cache-hit != 'true' )
48+
run: |
49+
R -e 'Sys.setenv("NOT_CRAN" = TRUE)
50+
install.packages(c("arrow", "gh", "remotes"))
51+
Sys.unsetenv("NOT_CRAN")
52+
remotes::install_url("https://github.com/midas-network/SMHvalidation/archive/refs/heads/main.zip")'
53+
env:
54+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
55+
56+
- name: Run Validation - Open/reopen
57+
if: ( github.event.action != 'synchronize' )
58+
run: |
59+
R -e 'source("src/validation.R")
60+
pr_validate(Sys.getenv("GITHUB_REPOSITORY"),
61+
Sys.getenv("GH_PR_NUMBER"), "", ".",
62+
Sys.getenv("GH_TOKEN"))'
63+
64+
- name: Run Validation - Synchronize
65+
if: ( github.event.action == 'synchronize' )
66+
run: |
67+
R -e 'source("src/validation.R")
68+
pr_validate(Sys.getenv("GITHUB_REPOSITORY"),
69+
Sys.getenv("GH_PR_NUMBER"),
70+
"", ".",
71+
#Sys.getenv("GH_COMMIT_SHA"), ".",
72+
Sys.getenv("GH_TOKEN"))'
73+
env:
74+
GH_COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
75+

hub-config/model-metadata-schema.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@
7171
"CC-BY-4.0",
7272
"cc-by_sa-4.0",
7373
"CC-BY_SA-4.0",
74+
"cc-by-sa-4.0",
75+
"CC-BY-SA-4.0",
7476
"NA",
7577
"ppdl",
7678
"PPDL",

hub-config/validation.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"2025-04-27": {
3+
"n_decimal": 1,
4+
"merge_sample_col": ["run_grouping", "stochastic_run"],
5+
"partition": ["origin_date", "target"]
6+
}
7+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
team_name: "Johns Hopkins University and University of North Carolina at Chapel Hill"
2+
team_abbr: "JHU_UNC"
3+
model_name: "Flexible Epidemic Modeling Pipeline"
4+
model_abbr: "flepiMoP"
5+
model_contributors: [
6+
{
7+
"name": "Anjalika Nande",
8+
"affiliation": "Institute for Computational Medicine, Johns Hopkins University",
9+
"email": "anande1@jhu.edu"
10+
},
11+
{
12+
"name": "Sara Loo",
13+
"affiliation": "Department of International Health, Johns Hopkins University",
14+
"email": "sloo2@jhu.edu"
15+
},
16+
{
17+
"name": "Joseph Lemaitre",
18+
"affiliation": "Department of Epidemiology, Gillings School of Global Public Health, University of North Carolina at Chapel Hill",
19+
"email": "jo.lemaitresamra@gmail.com"
20+
},
21+
{
22+
"name": "Timothy Willard",
23+
"affiliation": "Department of Epidemiology, Gillings School of Global Public Health, University of North Carolina at Chapel Hill"
24+
},
25+
{
26+
"name": "Carl Pearson",
27+
"affiliation": "Department of Epidemiology, Gillings School of Global Public Health, University of North Carolina at Chapel Hill"
28+
},
29+
{
30+
"name": "Alison Hill",
31+
"affiliation": "Institute for Computational Medicine, Johns Hopkins University",
32+
"email": "alhill@jhmi.edu"
33+
},
34+
{
35+
"name": "Justin Lessler",
36+
"affiliation": "Department of Epidemiology, Gillings School of Global Public Health, University of North Carolina at Chapel Hill",
37+
"email": "jlessler@unc.edu"
38+
},
39+
{
40+
"name": "Shaun Truelove",
41+
"affiliation": "Department of International Health, Johns Hopkins University",
42+
"email": "shauntruelove@jhu.edu"
43+
}
44+
]
45+
license: "mit"
46+
methods: "Compartmental model of transmission and disease dynamics using flepiMoP framework"
47+
methods_long: "flepiMoP is a comprehensive open-source software pipeline for creating and simulating compartmental models of infectious disease transmission and inferring parameters through these models. We implement an SEIR model stratified by age, vaccination, and immune state."
48+
model_version: "2025-01-01"
49+
website_url: "https://www.flepimop.org/"
50+
team_funding: "The development of this model was supported by from funds from NOA: 6 NU38FT000012-01."
51+
data_inputs: "Data provided from SMH"
52+
citation: "Lemaitre, JC., et al. flepiMoP: the evolution of a flexible infectious disease modeling pipeline during the COVID-19 pandemic. Epidemics (2024): 100753."

model-metadata/UIUC-IMMCYC.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
team_name: "University of Illinois, Urbana-Champaign"
2+
team_abbr: "UIUC"
3+
model_name: "UIUC-IMMCYC"
4+
model_abbr: "IMMCYC"
5+
model_contributors: [
6+
{
7+
"name": "Sophie L Larsen",
8+
"affiliation": "University of Illinois at Urbana-Champaign",
9+
"email": "sll4@illinois.edu"
10+
}
11+
]
12+
license: "MIT"
13+
methods: "Deterministic SEIS model with three levels of immunity (boosted, partial, waned/naive) and 4 age/risk compartments (child, adult, adult-high-risk, senior)."
14+
model_version: "1.0"
15+
website_url: "https://github.com/SL-Larsen/IMMCYC"
16+
team_funding: "SLL was funded by SHIELD Illinois and the Isabel Norton Award from the School of Integrative Biology, UIUC during the completion of this work."
17+
data_inputs: "SMH-provided data were used. Additionally, contact matrices from the 4th wave of the Berkeley Interpersonal Contact Survey (Feehan & Mahmud, Nat. Comm., 2021) informed relative contact rates between groups."

model-metadata/UT-ImmunoSEIRS.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
team_name: "University of Texas at Austin"
2+
team_abbr: "UT"
3+
model_name: "UT-ImmunoSEIRS"
4+
model_abbr: "ImmunoSEIRS"
5+
model_contributors: [
6+
{
7+
"name": "Shraddha Ramdas Bandekar",
8+
"affiliation": "The University of Texas at Austin",
9+
"email": "shraddha.bandekar@austin.utexas.edu"
10+
},
11+
{
12+
"name": "Kaiming Bi",
13+
"affiliation": "University of Texas Health Science Center School of Public Health",
14+
"email": "Kaiming.Bi@uth.tmc.edu"
15+
},
16+
{
17+
"name": "Anass Bouchnita",
18+
"affiliation": "The University of Texas at El Paso",
19+
"email": "abouchnita@utep.edu"
20+
},
21+
{
22+
"name": "Spencer J. Fox",
23+
"affiliation": "The University of Georgia",
24+
"email": "sjfox@uga.edu"
25+
},
26+
{
27+
"name": "Lauren Ancel Meyers",
28+
"affiliation": "The University of Texas at Austin",
29+
"email": "laurenmeyers@austin.utexas.edu"
30+
}
31+
]
32+
license: "cc-by-4.0"
33+
methods: "We develop an age stratified model that explicitly tracks the immunity caused by natural infections and vaccination and its impact on the average chances of infection, hospitalization and death."
34+
model_version: "1.0"
35+
website_url: "https://covid-19.tacc.utexas.edu/"
36+

model-metadata/UVA-adaptive.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
team_name: "UVA Biocomplexity Institute"
2+
team_abbr: "UVA"
3+
model_name: adaptive
4+
model_abbr: adaptive
5+
model_version: "v23"
6+
model_contributors:
7+
[
8+
{
9+
"name": "Przemyslaw Porebski",
10+
"affiliation": "UVA",
11+
"email": "pjp2b@virginia.edu",
12+
},
13+
{
14+
"name": "Srinivasan Venkatramanan",
15+
"affiliation": "UVA",
16+
"email": "srini@virginia.edu",
17+
},
18+
{
19+
"name": "Bryan Lewis",
20+
"affiliation": "UVA",
21+
"email": "brylew@virginia.edu",
22+
},
23+
{
24+
"name": "Aniruddha Adiga",
25+
"affiliation": "UVA",
26+
"email": "aa5dw@virginia.edu",
27+
},
28+
{ "name": "Jiangzhuo Chen", "affiliation": "UVA" },
29+
{ "name": "Madhav Marathe", "affiliation": "UVA" },
30+
]
31+
website_url: https://biocomplexity.virginia.edu/project/covid-19-pandemic-response
32+
license: cc-by-4.0
33+
methods: Compartmental model of transmission and disease dynamics using PatchSim
34+
methods_long: |
35+
We use a discrete time SEIR compartmental model with explicit strain modeling fit to observed hospitalizations at the state level. The fitting procedure takes into account variable hospitalization rate, depending on the immune status derived from round 16 results.
36+
Deaths are projected using rescaling of the projected hospitalizations by the current (last 3 weeks) death-to-hospitalization ratio per state.
37+
Uncertainty bounds are obtained by using an experiment design over other model parameters such as infectious/incubation periods, reporting delay and bounds on hospitalization rates. Representative trajectories are selected using K-medoids clustering.
38+
Seasonal effects are modeled by proxy using the fitted effective transmissibility. The observed, smoothed and twp seasons averaged effective transmissibility is assumed in the future.
39+
data_inputs: "Data provided by SMH"
40+
citation: https://doi.org/10.1016/j.epidem.2024.100761
Binary file not shown.

0 commit comments

Comments
 (0)