+study (Aiemjoy et al.
+(2022)). We review the methods underlying the analysis and then
+walk through an example of enteric fever incidence in Pakistan. Note
+that because this is a simplified version of the analysis, the results
+here will differ slightly from those presented in the publication.
In this example, users will determine the seroincidence of enteric
fever in cross-sectional serosurveys conducted as part of the
SeroEpidemiology and Environmental Surveillance (SEES) for enteric fever
@@ -528,9 +528,17 @@
+Aiemjoy, K., Seidman J. C., Saha S., Munira S. J., Islam Sajib M. S.,
+and Sarkar Sium S. M. al. 2022. “Estimating Typhoid Incidence from
+Community-Based Serosurveys: A Multicohort Study.”The Lancet
+Microbe 3 (8): e578–87. https://doi.org/10.1016/S2666-5247(22)00114-8.
+
The serocalculator R package provides a rapid and
computationally simple method for calculating seroconversion rates, as
-originally published in @Simonsen_2009 and
-@Teunis_2012, and further developed in
-subsequent publications by @de_Graaf_2014,
-@Teunis_2016, and @Teunis_2020. In short, longitudinal
-seroresponses from confirmed cases with a known symptom onset date are
-assumed to represent the time course of human serum antibodies against a
-specific pathogen. Therefore, by using these longitudinal antibody
-dynamics with any cross–sectional sample of the same antibodies in a
-human population, an incidence estimate can be calculated.
+originally published in Simonsen et al.
+(2009) and Teunis et al. (2012),
+and further developed in subsequent publications by deGraaf et al. (2014), Teunis et al. (2016), and Teunis and Eijkeren (2020). In short,
+longitudinal seroresponses from confirmed cases with a known symptom
+onset date are assumed to represent the time course of human serum
+antibodies against a specific pathogen. Therefore, by using these
+longitudinal antibody dynamics with any cross–sectional sample of the
+same antibodies in a human population, an incidence estimate can be
+calculated.
The Seroincidence Estimator
@@ -138,14 +139,19 @@
Load packagesserocalculator,
+tidyverse,
+and mixtools
+for guidance on installing these packages into your R package
+library.
+
Once all three of those packages are installed, we can load them into
+our active R session environment:
Load and prepare longitudi
antibody decay parameters. These parameters were modeled with Bayesian
hierarchical models to fit two-phase power-function decay models to the
longitudinal antibody responses among confirmed enteric fever cases.
-
# biologic noise
-b.noise<-xs_data%>%
+b_noise<-xs_data%>%group_by(antigen_iso)%>%filter(!is.na(value))%>%filter(age<40)%>%# restrict to young ages to capture recent exposuresdo({set.seed(54321)# Fit the mixture model
-mixmod<-normalmixEM(.$value, k =2, maxit =1000)# k is the number of components, adjust as necessary
-# Assuming the first component is the lower distribution
+mixmod<-normalmixEM(.$value, k =2, maxit =1000)
+# k is the number of components, adjust as necessary
+# Assuming the first component is the lower distribution:lower_mu<-mixmod$mu[1]lower_sigma<-sqrt(mixmod$sigma[1])# Calculate the 90th percentile of the lower distributionpercentile75<-qnorm(0.75, lower_mu, lower_sigma)# Return the results
-data.frame(antigen_iso =.$antigen_iso[1], percentile75 =percentile75)
+data.frame(antigen_iso =.$antigen_iso[1],
+ percentile75 =percentile75)})#> number of iterations= 35 #> number of iterations= 24
@@ -316,7 +324,7 @@
+Aiemjoy, Kristen, Nishan Katuwal, Krista Vaidya, Sony Shrestha, Melina
+Thapa, Peter Teunis, Isaac I Bogoch, et al. Accepted Feb 2024.
+“Estimating the Seroincidence of Scrub Typhus Using Antibody
+Dynamics Following Infection.”American Journal of Tropical
+Medicine and Hygiene, Accepted Feb 2024.
+
+
+deGraaf, W. F., M. E. E. Kretzschmar, P. F. M. Teunis, and O. Diekmann.
+2014. “A Two-Phase Within-Host Model for Immune Response and Its
+Application to Serological Profiles of Pertussis.”
+Epidemics 9 (December): 1–7. https://doi.org/10.1016/j.epidem.2014.08.002.
+
+
+Simonsen, J., K. Mølbak, G. Falkenhorst, K. A. Krogfelt, A. Linneberg,
+and P. F. M. Teunis. 2009. “Estimation of Incidences of Infectious
+Diseases Based on Antibody Measurements.”Statistics in
+Medicine 28 (14): 1882–95. https://doi.org/10.1002/sim.3592.
+
+
+Teunis, P. F. M., and J. C. H. van Eijkeren. 2020. “Estimation of
+Seroconversion Rates for Infectious Diseases: Effects of Age and
+Noise.”Statistics in Medicine 39 (21): 2799–2814. https://doi.org/10.1002/sim.8578.
+
+
+Teunis, P. F. M., J. C. H. van Eijkeren, W. F. de Graaf, A. Bonačić
+Marinović, and M. E. E. Kretzschmar. 2016. “Linking the
+Seroresponse to Infection to Within-Host Heterogeneity in Antibody
+Production.”Epidemics 16 (September): 33–39. https://doi.org/10.1016/j.epidem.2016.04.001.
+
+
+Teunis, P. F. M., JCH van Eijkeren, CW Ang, YTHP van Duynhoven, JB
+Simonsen, MA Strid, and W van Pelt. 2012. “Biomarker Dynamics:
+Estimating Infection Rates from Serological Data.”Statistics
+in Medicine 31 (20): 2240–48. https://doi.org/10.1002/sim.5322.
+
+deGraaf, W. F., M. E. E. Kretzschmar, P. F. M. Teunis, and O. Diekmann.
+2014. “A Two-Phase Within-Host Model for Immune Response and Its
+Application to Serological Profiles of Pertussis.”
+Epidemics 9 (December): 1–7. https://doi.org/10.1016/j.epidem.2014.08.002.
+
+
+Simonsen, J., K. Mølbak, G. Falkenhorst, K. A. Krogfelt, A. Linneberg,
+and P. F. M. Teunis. 2009. “Estimation of Incidences of Infectious
+Diseases Based on Antibody Measurements.”Statistics in
+Medicine 28 (14): 1882–95. https://doi.org/10.1002/sim.3592.
+
+
+Teunis, P. F. M., and J. C. H. van Eijkeren. 2020. “Estimation of
+Seroconversion Rates for Infectious Diseases: Effects of Age and
+Noise.”Statistics in Medicine 39 (21): 2799–2814. https://doi.org/10.1002/sim.8578.
+
+
+Teunis, P. F. M., J. C. H. van Eijkeren, W. F. de Graaf, A. Bonačić
+Marinović, and M. E. E. Kretzschmar. 2016. “Linking the
+Seroresponse to Infection to Within-Host Heterogeneity in Antibody
+Production.”Epidemics 16 (September): 33–39. https://doi.org/10.1016/j.epidem.2016.04.001.
+
+
+Teunis, P. F. M., JCH van Eijkeren, CW Ang, YTHP van Duynhoven, JB
+Simonsen, MA Strid, and W van Pelt. 2012. “Biomarker Dynamics:
+Estimating Infection Rates from Serological Data.”Statistics
+in Medicine 31 (20): 2240–48. https://doi.org/10.1002/sim.5322.
+
title: “Generate a simulated cross-sectional sample and estimate
-seroincidence”
-
-
-
subtitle: “Enteric Fever using HlyE IgG and/or HlyE IgA”
-
-
-
output:
-
-
-
bookdown::html_document2:
-
-
-
base_format: rmarkdown::html_document
-
-
-
toc: true
-
-
-
toc_float:
-
-
-
collapsed: false
-
-
-
vignette: >
-
-
-
%
-
-
-
%
-
-
-
%
-
-
This vignette shows how to simulate a cross-sectional sample of
seroresponses for incident infections as a Poisson process with
frequency lambda. Responses are generated for the
@@ -459,7 +422,7 @@
#> Warning: package 'qrcode' was built under R version 4.4.1
-
-
QR code for {serocalculator} website
+
+
+
Figure 1: QR code for serocalculator website
Antibody levels measured in a cross–sectional population sample can be translated into an estimate of the frequency with which seroconversions (infections) occur in the sampled population. In other words, the presence of many high antibody titers indicates that many individuals likely experienced infection recently and the burden of disease is high in the population, while low titers indicate a low frequency of infections in the sampled population and therefore a lower burden of disease.
The serocalculator package was designed to use the longitudinal response characteristics using a set of modeled parameters characterizing the longitudinal response of the selected serum antibodies. More details on the underlying methods can be found in Getting Started.
Successful installation can be confirmed by loading the package into the RStudio workspace and exploring help files and manuals distributed with the package:
-
+
# Load package "seroincidence".library(serocalculator)# Show R help for the package.?serocalculator
Additionally, most package details can be found when executing the following commands:
-
+
# Show description.packageDescription("serocalculator")
@@ -112,7 +112,7 @@
To install the development version, you must install the devtools R package and then download serocalculator from GitHub. Enter the code below into the R console to install both packages.
-
+
# Install the devtools package and the development version of serocalculatorinstall.packages("devtools")devtools::install_github("ucd-serg/serocalculator")