From 3fd533c8fdedc7a6761911c3011e031568d0d7b8 Mon Sep 17 00:00:00 2001 From: "Aaron A. King" Date: Mon, 12 Feb 2024 11:06:47 -0500 Subject: [PATCH] change parameter name --- DESCRIPTION | 4 ++-- R/seir.R | 16 ++++++++-------- R/si2r.R | 10 +++++----- R/siir.R | 10 +++++----- R/sir.R | 16 ++++++++-------- examples/movie.R | 2 +- examples/seir.R | 4 ++-- examples/si2r.R | 2 +- examples/sir.R | 4 ++-- man/seir.Rd | 12 ++++++------ man/si2r.Rd | 8 ++++---- man/siir.Rd | 6 +++--- man/sir.Rd | 20 ++++++++++---------- man/treeplot.Rd | 2 +- src/seir.cc | 8 ++++---- src/seirs_pomp.cc | 4 ++-- src/si2r.cc | 8 ++++---- src/siir.cc | 8 ++++---- src/sir.cc | 8 ++++---- src/sirs_pomp.c | 6 +++--- tests/curtail.R | 2 +- tests/curtail.Rout.save | 2 +- tests/diagram.R | 10 +++++----- tests/diagram.Rout.save | 12 ++++++------ tests/seir1.R | 6 +++--- tests/seir1.Rout.save | 6 +++--- tests/seir2.R | 6 +++--- tests/seir2.Rout.save | 6 +++--- tests/si2r.R | 2 +- tests/si2r.Rout.save | 2 +- tests/sir1.R | 6 +++--- tests/sir1.Rout.save | 6 +++--- yaml/R/seir.R | 10 +++++----- yaml/R/si2r.R | 10 +++++----- yaml/R/siir.R | 10 +++++----- yaml/R/sir.R | 10 +++++----- yaml/seir.yml | 6 +++--- yaml/si2r.yml | 6 +++--- yaml/siir.yml | 6 +++--- yaml/sir.yml | 6 +++--- yaml/src/seir.cc | 8 ++++---- yaml/src/si2r.cc | 8 ++++---- yaml/src/siir.cc | 8 ++++---- yaml/src/sir.cc | 8 ++++---- 44 files changed, 160 insertions(+), 160 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index c3d78c1..62a675a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: phylopomp Type: Package Title: Phylodynamic Inference for POMP Models -Version: 0.10.1.5 -Date: 2024-01-27 +Version: 0.10.2.0 +Date: 2024-02-12 Authors@R: c(person(given=c("Aaron","A."),family="King",role=c("aut","cre"),email="kingaa@umich.edu",comment=c(ORCID="0000-0001-6159-3207")), person(given=c("Qianying"),family="Lin",role=c("aut"),comment=c(ORCID="0000-0001-8620-9910")) ) diff --git a/R/seir.R b/R/seir.R index e284e0f..86556b2 100644 --- a/R/seir.R +++ b/R/seir.R @@ -10,7 +10,7 @@ ##' @param sigma progression rate ##' @param gamma recovery rate ##' @param psi per capita sampling rate -##' @param delta rate of waning of immunity +##' @param omega rate of waning of immunity ##' @param S0 initial size of susceptible population ##' @param E0 initial size of exposed population ##' @param I0 initial size of infected population @@ -26,9 +26,9 @@ NULL ##' @export runSEIR <- function ( time, t0 = 0, - Beta = 4, sigma = 1, gamma = 1, psi = 1, delta = 0, S0 = 100, E0 = 5, I0 = 5, R0 = 0 + Beta = 4, sigma = 1, gamma = 1, psi = 1, omega = 0, S0 = 100, E0 = 5, I0 = 5, R0 = 0 ) { - params <- c(Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,delta=delta) + params <- c(Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,omega=omega) ivps <- c(S0=S0,E0=E0,I0=I0,R0=R0) if (any(ivps < 0)) pStop(paste(sQuote(names(ivps)),collapse=","), @@ -43,10 +43,10 @@ runSEIR <- function ( ##' @export continueSEIR <- function ( object, time, - Beta = NA, sigma = NA, gamma = NA, psi = NA, delta = NA + Beta = NA, sigma = NA, gamma = NA, psi = NA, omega = NA ) { params <- c( - Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,delta=delta + Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,omega=omega ) x <- .Call(P_reviveSEIR,object,params) .Call(P_runSEIR,x,time) |> @@ -63,7 +63,7 @@ continueSEIR <- function ( ##' @export seirs_pomp <- function ( x, - Beta, sigma, gamma, psi, delta = 0, + Beta, sigma, gamma, psi, omega = 0, S0, E0, I0, R0 ) { @@ -84,7 +84,7 @@ seirs_pomp <- function ( t0=dat$time[1L], times=dat$time[-1L], params=c( - Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,delta=delta, + Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,omega=omega, ic,N=sum(ic) ), nstatevars=nsample+8L, @@ -95,7 +95,7 @@ seirs_pomp <- function ( dmeasure="seirs_dmeas", statenames=c("S","E","I","R","ll","node","linE","linI","lineage"), paramnames=c( - "Beta","sigma","gamma","psi","delta", + "Beta","sigma","gamma","psi","omega", "S0","E0","I0","R0","N" ), PACKAGE="phylopomp" diff --git a/R/si2r.R b/R/si2r.R index 40667a0..ea2918e 100644 --- a/R/si2r.R +++ b/R/si2r.R @@ -11,7 +11,7 @@ ##' @param Beta transmission rate ##' @param mu mean superspreading-event cluster size ##' @param gamma recovery rate -##' @param delta rate of waning of immunity +##' @param omega rate of waning of immunity ##' @param psi1,psi2 sampling rates for demes 1 and 2, respectively ##' @param sigma12,sigma21 movement rates from deme 1 to 2 and 2 to 1, respectively ##' @param S0 initial size of susceptible population @@ -37,13 +37,13 @@ NULL ##' @export runSI2R <- function ( time, t0 = 0, - Beta = 5, mu = 5, gamma = 1, delta = 0, + Beta = 5, mu = 5, gamma = 1, omega = 0, psi1 = 1, psi2 = 0, sigma12 = 1, sigma21 = 3, S0 = 500, I0 = 10, R0 = 0 ) { params <- c( - Beta=Beta,mu=mu,gamma=gamma,delta=delta, + Beta=Beta,mu=mu,gamma=gamma,omega=omega, psi1=psi1,psi2=psi2, sigma12=sigma12,sigma21=sigma21 ) @@ -58,12 +58,12 @@ runSI2R <- function ( ##' @export continueSI2R <- function ( object, time, - Beta = NA, mu = NA, gamma = NA, delta = NA, + Beta = NA, mu = NA, gamma = NA, omega = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA ) { params <- c( - Beta=Beta,mu=mu,gamma=gamma,delta=delta, + Beta=Beta,mu=mu,gamma=gamma,omega=omega, psi1=psi1,psi2=psi2, sigma12=sigma12,sigma21=sigma21 ) diff --git a/R/siir.R b/R/siir.R index 365a5c3..408ce89 100644 --- a/R/siir.R +++ b/R/siir.R @@ -13,7 +13,7 @@ ##' @param gamma recovery rate. ##' @param psi1,psi2 sampling rates. ##' @param sigma12,sigma21 movement rates from deme 1 to 2 and 2 to 1, respectively -##' @param delta rate of loss of immunity +##' @param omega rate of loss of immunity ##' @param S0 initial size of susceptible population. ##' @param I1_0 initial size of I2 population. ##' @param I2_0 initial size of I2 population. @@ -31,10 +31,10 @@ runSIIR <- function ( Beta1 = 5, Beta2 = 5, gamma = 1, psi1 = 1, psi2 = 0, sigma12 = 0, sigma21 = 0, - delta = 0, + omega = 0, S0 = 500, I1_0 = 10, I2_0 = 10, R0 = 0 ) { - params <- c(Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,delta=delta) + params <- c(Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,omega=omega) ivps <- c(S0=S0,I1_0=I1_0,I2_0=I2_0,R0=R0) x <- .Call(P_makeSIIR,params,ivps,t0) .Call(P_runSIIR,x,time) |> @@ -48,10 +48,10 @@ continueSIIR <- function ( Beta1 = NA, Beta2 = NA, gamma = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA, - delta = NA + omega = NA ) { params <- c( - Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,delta=delta + Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,omega=omega ) x <- .Call(P_reviveSIIR,object,params) .Call(P_runSIIR,x,time) |> diff --git a/R/sir.R b/R/sir.R index 422e833..f439748 100644 --- a/R/sir.R +++ b/R/sir.R @@ -9,7 +9,7 @@ ##' @param Beta transmission rate. ##' @param gamma recovery rate. ##' @param psi sampling rate. -##' @param delta immunity waning rate +##' @param omega immunity waning rate ##' @param S0 initial size of susceptible population. ##' @param I0 initial size of infected population. ##' @param R0 initial size of recovered population. @@ -24,10 +24,10 @@ NULL ##' @export runSIR <- function ( time, t0 = 0, - Beta = 2, gamma = 1, psi = 1, delta = 0, + Beta = 2, gamma = 1, psi = 1, omega = 0, S0 = 100, I0 = 2, R0 = 0 ) { - params <- c(Beta=Beta,gamma=gamma,psi=psi,delta=delta) + params <- c(Beta=Beta,gamma=gamma,psi=psi,omega=omega) ivps <- c(S0=S0,I0=I0,R0=R0) if (any(ivps < 0)) pStop(paste(sQuote(names(ivps)),collapse=","), @@ -45,9 +45,9 @@ runSIRS <- runSIR ##' @inheritParams simulate ##' @export continueSIR <- function ( - object, time, Beta = NA, gamma = NA, psi = NA, delta = NA + object, time, Beta = NA, gamma = NA, psi = NA, omega = NA ) { - params <- c(Beta=Beta,gamma=gamma,psi=psi,delta=delta) + params <- c(Beta=Beta,gamma=gamma,psi=psi,omega=omega) x <- .Call(P_reviveSIR,object,params) .Call(P_runSIR,x,time) |> structure(model="SIR",class=c("gpsim","gpgen")) @@ -61,7 +61,7 @@ continueSIR <- function ( ##' \code{sir_pomp} constructs a \pkg{pomp} object containing a given set of data and a SIR model. ##' @importFrom pomp pomp onestep covariate_table ##' @export -sir_pomp <- function (x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0=0) +sir_pomp <- function (x, Beta, gamma, psi, omega = 0, S0, I0, R0, t0=0) { ic <- as.integer(c(S0,I0,R0)) names(ic) <- c("S0","I0","R0") @@ -74,7 +74,7 @@ sir_pomp <- function (x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0=0) pomp( data=NULL, times=dat$time[-1L],t0=t0, - params=c(Beta=Beta,gamma=gamma,psi=psi,delta=delta,ic,N=sum(ic)), + params=c(Beta=Beta,gamma=gamma,psi=psi,omega=omega,ic,N=sum(ic)), covar=covariate_table( dat, times="time", @@ -84,7 +84,7 @@ sir_pomp <- function (x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0=0) rprocess=onestep("sirs_gill"), dmeasure="sirs_dmeas", statenames=c("S","I","R","ll"), - paramnames=c("Beta","gamma","psi","delta","S0","I0","R0","N"), + paramnames=c("Beta","gamma","psi","omega","S0","I0","R0","N"), covarnames=c("lineages","code"), PACKAGE="phylopomp" ) diff --git a/examples/movie.R b/examples/movie.R index 817462a..8cac940 100644 --- a/examples/movie.R +++ b/examples/movie.R @@ -8,7 +8,7 @@ ) pb <- utils::txtProgressBar(0,length(times),0,style=3) - x <- simulate("SIIR",time=0,Beta1=5,Beta2=10,gamma=1,delta=0.5, + x <- simulate("SIIR",time=0,Beta1=5,Beta2=10,gamma=1,omega=0.5, psi1=0.2,psi2=0.1,sigma12=1,sigma21=1,S0=200,I1_0=3,I2_0=2) for (k in seq_len(length(times))) { x <- simulate(x,time=times[k]) diff --git a/examples/seir.R b/examples/seir.R index 8e8c70a..1eccdc4 100644 --- a/examples/seir.R +++ b/examples/seir.R @@ -9,8 +9,8 @@ runSEIR(Beta=3,gamma=0.1,psi=0.2,S0=100,I0=5,R0=0,time=2,t0=0) -> x plot_grid(plotlist=list(plot(x,points=TRUE),diagram(x)), ncol=1,rel_heights=c(4,1)) -simulate("SEIR",sigma=1,delta=1,time=20,I0=4) |> plot(obscure=FALSE) +simulate("SEIR",sigma=1,omega=1,time=20,I0=4) |> plot(obscure=FALSE) -simulate("SEIR",sigma=1,delta=1,time=20,I0=4) |> +simulate("SEIR",sigma=1,omega=1,time=20,I0=4) |> lineages(obscure=FALSE) |> plot() diff --git a/examples/si2r.R b/examples/si2r.R index 10ff52a..88ef708 100644 --- a/examples/si2r.R +++ b/examples/si2r.R @@ -12,7 +12,7 @@ simulate("SI2R",time=5) |> simulate("SI2R",time=2) |> diagram(m=30) -simulate("SI2R",time=20,delta=0.2,mu=20) -> x +simulate("SI2R",time=20,omega=0.2,mu=20) -> x plot_grid( x |> plot(obscure=FALSE), x |> lineages(obscure=FALSE) |> plot(), diff --git a/examples/sir.R b/examples/sir.R index 8c8017f..ab64f16 100644 --- a/examples/sir.R +++ b/examples/sir.R @@ -9,5 +9,5 @@ runSIR(Beta=3,gamma=0.1,psi=0.2,S0=100,I0=5,R0=0,time=2,t0=0) -> x plot_grid(plotlist=list(plot(x,points=TRUE),diagram(x)), ncol=1,rel_heights=c(4,1)) -simulate("SIRS",delta=1,time=20,I0=4) |> plot() -simulate("SIRS",delta=1,time=20,I0=4) |> lineages() |> plot() +simulate("SIRS",omega=1,time=20,I0=4) |> plot() +simulate("SIRS",omega=1,time=20,I0=4) |> lineages() |> plot() diff --git a/man/seir.Rd b/man/seir.Rd index fac223e..f289883 100644 --- a/man/seir.Rd +++ b/man/seir.Rd @@ -15,7 +15,7 @@ runSEIR( sigma = 1, gamma = 1, psi = 1, - delta = 0, + omega = 0, S0 = 100, E0 = 5, I0 = 5, @@ -29,10 +29,10 @@ continueSEIR( sigma = NA, gamma = NA, psi = NA, - delta = NA + omega = NA ) -seirs_pomp(x, Beta, sigma, gamma, psi, delta = 0, S0, E0, I0, R0) +seirs_pomp(x, Beta, sigma, gamma, psi, omega = 0, S0, E0, I0, R0) } \arguments{ \item{time}{final time} @@ -47,7 +47,7 @@ seirs_pomp(x, Beta, sigma, gamma, psi, delta = 0, S0, E0, I0, R0) \item{psi}{per capita sampling rate} -\item{delta}{rate of waning of immunity} +\item{omega}{rate of waning of immunity} \item{S0}{initial size of susceptible population} @@ -83,9 +83,9 @@ runSEIR(Beta=3,gamma=0.1,psi=0.2,S0=100,I0=5,R0=0,time=2,t0=0) -> x plot_grid(plotlist=list(plot(x,points=TRUE),diagram(x)), ncol=1,rel_heights=c(4,1)) -simulate("SEIR",sigma=1,delta=1,time=20,I0=4) |> plot(obscure=FALSE) +simulate("SEIR",sigma=1,omega=1,time=20,I0=4) |> plot(obscure=FALSE) -simulate("SEIR",sigma=1,delta=1,time=20,I0=4) |> +simulate("SEIR",sigma=1,omega=1,time=20,I0=4) |> lineages(obscure=FALSE) |> plot() } diff --git a/man/si2r.Rd b/man/si2r.Rd index 47fbb0c..48a71b6 100644 --- a/man/si2r.Rd +++ b/man/si2r.Rd @@ -13,7 +13,7 @@ runSI2R( Beta = 5, mu = 5, gamma = 1, - delta = 0, + omega = 0, psi1 = 1, psi2 = 0, sigma12 = 1, @@ -29,7 +29,7 @@ continueSI2R( Beta = NA, mu = NA, gamma = NA, - delta = NA, + omega = NA, psi1 = NA, psi2 = NA, sigma12 = NA, @@ -47,7 +47,7 @@ continueSI2R( \item{gamma}{recovery rate} -\item{delta}{rate of waning of immunity} +\item{omega}{rate of waning of immunity} \item{psi1, psi2}{sampling rates for demes 1 and 2, respectively} @@ -96,7 +96,7 @@ simulate("SI2R",time=5) |> simulate("SI2R",time=2) |> diagram(m=30) -simulate("SI2R",time=20,delta=0.2,mu=20) -> x +simulate("SI2R",time=20,omega=0.2,mu=20) -> x plot_grid( x |> plot(obscure=FALSE), x |> lineages(obscure=FALSE) |> plot(), diff --git a/man/siir.Rd b/man/siir.Rd index 36fdc31..891c135 100644 --- a/man/siir.Rd +++ b/man/siir.Rd @@ -17,7 +17,7 @@ runSIIR( psi2 = 0, sigma12 = 0, sigma21 = 0, - delta = 0, + omega = 0, S0 = 500, I1_0 = 10, I2_0 = 10, @@ -34,7 +34,7 @@ continueSIIR( psi2 = NA, sigma12 = NA, sigma21 = NA, - delta = NA + omega = NA ) } \arguments{ @@ -50,7 +50,7 @@ continueSIIR( \item{sigma12, sigma21}{movement rates from deme 1 to 2 and 2 to 1, respectively} -\item{delta}{rate of loss of immunity} +\item{omega}{rate of loss of immunity} \item{S0}{initial size of susceptible population.} diff --git a/man/sir.Rd b/man/sir.Rd index 83158b2..2ec64f2 100644 --- a/man/sir.Rd +++ b/man/sir.Rd @@ -18,7 +18,7 @@ runSIR( Beta = 2, gamma = 1, psi = 1, - delta = 0, + omega = 0, S0 = 100, I0 = 2, R0 = 0 @@ -30,15 +30,15 @@ runSIRS( Beta = 2, gamma = 1, psi = 1, - delta = 0, + omega = 0, S0 = 100, I0 = 2, R0 = 0 ) -continueSIR(object, time, Beta = NA, gamma = NA, psi = NA, delta = NA) +continueSIR(object, time, Beta = NA, gamma = NA, psi = NA, omega = NA) -sir_pomp(x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0 = 0) +sir_pomp(x, Beta, gamma, psi, omega = 0, S0, I0, R0, t0 = 0) runSIRS( time, @@ -46,15 +46,15 @@ runSIRS( Beta = 2, gamma = 1, psi = 1, - delta = 0, + omega = 0, S0 = 100, I0 = 2, R0 = 0 ) -continueSIRS(object, time, Beta = NA, gamma = NA, psi = NA, delta = NA) +continueSIRS(object, time, Beta = NA, gamma = NA, psi = NA, omega = NA) -sirs_pomp(x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0 = 0) +sirs_pomp(x, Beta, gamma, psi, omega = 0, S0, I0, R0, t0 = 0) } \arguments{ \item{time}{final time} @@ -67,7 +67,7 @@ sirs_pomp(x, Beta, gamma, psi, delta = 0, S0, I0, R0, t0 = 0) \item{psi}{sampling rate.} -\item{delta}{immunity waning rate} +\item{omega}{immunity waning rate} \item{S0}{initial size of susceptible population.} @@ -101,8 +101,8 @@ runSIR(Beta=3,gamma=0.1,psi=0.2,S0=100,I0=5,R0=0,time=2,t0=0) -> x plot_grid(plotlist=list(plot(x,points=TRUE),diagram(x)), ncol=1,rel_heights=c(4,1)) -simulate("SIRS",delta=1,time=20,I0=4) |> plot() -simulate("SIRS",delta=1,time=20,I0=4) |> lineages() |> plot() +simulate("SIRS",omega=1,time=20,I0=4) |> plot() +simulate("SIRS",omega=1,time=20,I0=4) |> lineages() |> plot() } \seealso{ More example genealogy processes: diff --git a/man/treeplot.Rd b/man/treeplot.Rd index d2cd2b7..8f1222d 100644 --- a/man/treeplot.Rd +++ b/man/treeplot.Rd @@ -59,7 +59,7 @@ Plots a genealogical tree. ) pb <- utils::txtProgressBar(0,length(times),0,style=3) - x <- simulate("SIIR",time=0,Beta1=5,Beta2=10,gamma=1,delta=0.5, + x <- simulate("SIIR",time=0,Beta1=5,Beta2=10,gamma=1,omega=0.5, psi1=0.2,psi2=0.1,sigma12=1,sigma21=1,S0=200,I1_0=3,I2_0=2) for (k in seq_len(length(times))) { x <- simulate(x,time=times[k]) diff --git a/src/seir.cc b/src/seir.cc index 509e1e9..7fe4b09 100644 --- a/src/seir.cc +++ b/src/seir.cc @@ -18,7 +18,7 @@ typedef struct { double sigma; double gamma; double psi; - double delta; + double omega; int S0; int E0; int I0; @@ -36,7 +36,7 @@ std::string seir_proc_t::yaml (std::string tab) const { + YAML_PARAM(sigma) + YAML_PARAM(gamma) + YAML_PARAM(psi) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(E0) + YAML_PARAM(I0) @@ -57,7 +57,7 @@ void seir_proc_t::update_params (double *p, int n) { PARAM_SET(sigma); PARAM_SET(gamma); PARAM_SET(psi); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -79,7 +79,7 @@ double seir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.sigma * state.E); RATE_CALC(params.gamma * state.I); RATE_CALC(params.psi * state.I); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/src/seirs_pomp.cc b/src/seirs_pomp.cc index f496f83..8941db9 100644 --- a/src/seirs_pomp.cc +++ b/src/seirs_pomp.cc @@ -34,7 +34,7 @@ static void check_lineages #define sigma (__p[__parindex[1]]) #define gamma (__p[__parindex[2]]) #define psi (__p[__parindex[3]]) -#define Delta (__p[__parindex[4]]) +#define omega (__p[__parindex[4]]) #define S0 (__p[__parindex[5]]) #define E0 (__p[__parindex[6]]) #define I0 (__p[__parindex[7]]) @@ -79,7 +79,7 @@ static double event_rates } rate++; // waning - event_rate += (*rate = Delta*R); + event_rate += (*rate = omega*R); rate++; // sampling *penalty += psi*I; diff --git a/src/si2r.cc b/src/si2r.cc index ae77f96..7bacd76 100644 --- a/src/si2r.cc +++ b/src/si2r.cc @@ -17,7 +17,7 @@ typedef struct { double Beta; double mu; double gamma; - double delta; + double omega; double psi1; double psi2; double sigma12; @@ -37,7 +37,7 @@ std::string si2r_proc_t::yaml (std::string tab) const { + YAML_PARAM(Beta) + YAML_PARAM(mu) + YAML_PARAM(gamma) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(psi1) + YAML_PARAM(psi2) + YAML_PARAM(sigma12) @@ -60,7 +60,7 @@ void si2r_proc_t::update_params (double *p, int n) { PARAM_SET(Beta); PARAM_SET(mu); PARAM_SET(gamma); - PARAM_SET(delta); + PARAM_SET(omega); PARAM_SET(psi1); PARAM_SET(psi2); PARAM_SET(sigma12); @@ -89,7 +89,7 @@ double si2r_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.psi2 * state.I2); RATE_CALC(params.sigma12 * state.I1); RATE_CALC(params.sigma21 * state.I2); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/src/siir.cc b/src/siir.cc index b2b2c0c..fa82263 100644 --- a/src/siir.cc +++ b/src/siir.cc @@ -21,7 +21,7 @@ typedef struct { double psi2; double sigma12; double sigma21; - double delta; + double omega; int S0; int I1_0; int I2_0; @@ -42,7 +42,7 @@ std::string siir_proc_t::yaml (std::string tab) const { + YAML_PARAM(psi2) + YAML_PARAM(sigma12) + YAML_PARAM(sigma21) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(I1_0) + YAML_PARAM(I2_0) @@ -66,7 +66,7 @@ void siir_proc_t::update_params (double *p, int n) { PARAM_SET(psi2); PARAM_SET(sigma12); PARAM_SET(sigma21); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -92,7 +92,7 @@ double siir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.psi2 * state.I2); RATE_CALC(params.sigma12 * state.I1); RATE_CALC(params.sigma21 * state.I2); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/src/sir.cc b/src/sir.cc index 7fd856f..0ff2d24 100644 --- a/src/sir.cc +++ b/src/sir.cc @@ -16,7 +16,7 @@ typedef struct { double Beta; double gamma; double psi; - double delta; + double omega; int S0; int I0; int R0; @@ -32,7 +32,7 @@ std::string sir_proc_t::yaml (std::string tab) const { + YAML_PARAM(Beta) + YAML_PARAM(gamma) + YAML_PARAM(psi) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(I0) + YAML_PARAM(R0); @@ -50,7 +50,7 @@ void sir_proc_t::update_params (double *p, int n) { PARAM_SET(Beta); PARAM_SET(gamma); PARAM_SET(psi); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -70,7 +70,7 @@ double sir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.Beta * state.S * state.I / state.N); RATE_CALC(params.gamma * state.I); RATE_CALC(params.psi * state.I); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/src/sirs_pomp.c b/src/sirs_pomp.c index 2acc30b..f48cc8e 100644 --- a/src/sirs_pomp.c +++ b/src/sirs_pomp.c @@ -5,7 +5,7 @@ #define Beta (__p[__parindex[0]]) #define gamma (__p[__parindex[1]]) #define psi (__p[__parindex[2]]) -#define Delta (__p[__parindex[3]]) +#define omega (__p[__parindex[3]]) #define S0 (__p[__parindex[4]]) #define I0 (__p[__parindex[5]]) #define R0 (__p[__parindex[6]]) @@ -44,7 +44,7 @@ static double event_rates event_rate += (*rate = gamma*I); rate++; // loss of immunity - event_rate += (*rate = Delta*R); + event_rate += (*rate = omega*R); rate++; // sampling *penalty += psi*I; @@ -150,7 +150,7 @@ void sirs_dmeas } #undef lik -#undef Delta +#undef omega #undef Beta #undef gamma #undef psi diff --git a/tests/curtail.R b/tests/curtail.R index f96afe6..bdf74ba 100644 --- a/tests/curtail.R +++ b/tests/curtail.R @@ -8,7 +8,7 @@ theme_set(theme_bw()) set.seed(24963811) options(digits=3) -runSEIR(time=5,S0=20,delta=2) -> x +runSEIR(time=5,S0=20,omega=2) -> x plot_grid( x |> diff --git a/tests/curtail.Rout.save b/tests/curtail.Rout.save index 86bc096..659a686 100644 --- a/tests/curtail.Rout.save +++ b/tests/curtail.Rout.save @@ -27,7 +27,7 @@ Type 'q()' to quit R. > set.seed(24963811) > options(digits=3) > -> runSEIR(time=5,S0=20,delta=2) -> x +> runSEIR(time=5,S0=20,omega=2) -> x > > plot_grid( + x |> diff --git a/tests/diagram.R b/tests/diagram.R index 9771487..0de6cc8 100644 --- a/tests/diagram.R +++ b/tests/diagram.R @@ -30,12 +30,12 @@ freeze( ) |> diagram(prune=FALSE,obscure=FALSE) dev.off() -simulate("SIIR",time=0.3,sigma12=1,sigma21=0.1,delta=1) |> +simulate("SIIR",time=0.3,sigma12=1,sigma21=0.1,omega=1) |> getInfo(description=TRUE) |> getElement("description") |> cat() -simulate("SIIR",time=0.3,sigma12=0.1,sigma21=1,delta=1) |> +simulate("SIIR",time=0.3,sigma12=0.1,sigma21=1,omega=1) |> getInfo(prune=FALSE,obscure=FALSE,description=TRUE) |> getElement("description") |> cat() @@ -58,16 +58,16 @@ pal <- c("#00274c55","#ffcb0555","#00659755") png(filename="diagram-05.png",res=100, width=1000,height=190,units="px") -freeze(simulate("SEIR",time=1,delta=1),seed=234551276) |> +freeze(simulate("SEIR",time=1,omega=1),seed=234551276) |> diagram(obscure=FALSE,palette=pal) dev.off() try( - simulate("SEIR",time=2,delta=1) |> + simulate("SEIR",time=2,omega=1) |> diagram(obscure=FALSE,palette=pal[1]) ) -simulate("SEIR",Beta=10,psi=2,sigma=3,time=1,delta=1) |> +simulate("SEIR",Beta=10,psi=2,sigma=3,time=1,omega=1) |> freeze(seed=118551276) -> x png(filename="diagram-06.png",res=100, diff --git a/tests/diagram.Rout.save b/tests/diagram.Rout.save index d0df5c5..78d08d1 100644 --- a/tests/diagram.Rout.save +++ b/tests/diagram.Rout.save @@ -94,7 +94,7 @@ null device null device 1 > -> simulate("SIIR",time=0.3,sigma12=1,sigma21=0.1,delta=1) |> +> simulate("SIIR",time=0.3,sigma12=1,sigma21=0.1,omega=1) |> + getInfo(description=TRUE) |> + getElement("description") |> + cat() @@ -107,7 +107,7 @@ node(30,0,0){blue(30,0)}, t = 0.074094 node(42,0,1){blue(42,0)}, t = 0.161458 node(61,0,2){blue(61,0)}, t = 0.240436 > -> simulate("SIIR",time=0.3,sigma12=0.1,sigma21=1,delta=1) |> +> simulate("SIIR",time=0.3,sigma12=0.1,sigma21=1,omega=1) |> + getInfo(prune=FALSE,obscure=FALSE,description=TRUE) |> + getElement("description") |> + cat() @@ -194,7 +194,7 @@ parameter: Beta: 2.000000 gamma: 1.000000 psi: 1.000000 - delta: 0.000000 + omega: 0.000000 S0: 100 I0: 2 R0: 0 @@ -772,19 +772,19 @@ Error : cannot simulate backward! (current t=1, requested t=0.1) > > png(filename="diagram-05.png",res=100, + width=1000,height=190,units="px") -> freeze(simulate("SEIR",time=1,delta=1),seed=234551276) |> +> freeze(simulate("SEIR",time=1,omega=1),seed=234551276) |> + diagram(obscure=FALSE,palette=pal) > dev.off() null device 1 > > try( -+ simulate("SEIR",time=2,delta=1) |> ++ simulate("SEIR",time=2,omega=1) |> + diagram(obscure=FALSE,palette=pal[1]) + ) Error : in 'diagram': if specified as a vector, 'palette' must have length at least 2. > -> simulate("SEIR",Beta=10,psi=2,sigma=3,time=1,delta=1) |> +> simulate("SEIR",Beta=10,psi=2,sigma=3,time=1,omega=1) |> + freeze(seed=118551276) -> x > > png(filename="diagram-06.png",res=100, diff --git a/tests/seir1.R b/tests/seir1.R index db54aa0..9d963d8 100644 --- a/tests/seir1.R +++ b/tests/seir1.R @@ -18,13 +18,13 @@ runSEIR(Beta=3,sigma=2,gamma=1,psi=2,S0=100,I0=5,time=1) |> simulate(time=100) |> plot(points=TRUE,time=NULL,obscure=FALSE) -simulate("SEIR",delta=1,time=20,I0=4) -> x +simulate("SEIR",omega=1,time=20,I0=4) -> x x |> yaml() -> y x |> lineages(obscure=FALSE) |> plot() -simulate("SEIR",delta=1,time=2,I0=3) |> +simulate("SEIR",omega=1,time=2,I0=3) |> diagram(obscure=FALSE,prune=TRUE) -try(simulate("SEIR",delta=1,I0=-5,time=3)) +try(simulate("SEIR",omega=1,I0=-5,time=3)) dev.off() diff --git a/tests/seir1.Rout.save b/tests/seir1.Rout.save index 423b728..8658444 100644 --- a/tests/seir1.Rout.save +++ b/tests/seir1.Rout.save @@ -38,14 +38,14 @@ Type 'q()' to quit R. + simulate(time=100) |> + plot(points=TRUE,time=NULL,obscure=FALSE) > -> simulate("SEIR",delta=1,time=20,I0=4) -> x +> simulate("SEIR",omega=1,time=20,I0=4) -> x > x |> yaml() -> y > x |> lineages(obscure=FALSE) |> plot() > -> simulate("SEIR",delta=1,time=2,I0=3) |> +> simulate("SEIR",omega=1,time=2,I0=3) |> + diagram(obscure=FALSE,prune=TRUE) > -> try(simulate("SEIR",delta=1,I0=-5,time=3)) +> try(simulate("SEIR",omega=1,I0=-5,time=3)) Error : in 'runSEIR': 'S0','E0','I0','R0' must be nonnegative integers. > > dev.off() diff --git a/tests/seir2.R b/tests/seir2.R index 5f9fb87..5e35f4e 100644 --- a/tests/seir2.R +++ b/tests/seir2.R @@ -10,7 +10,7 @@ set.seed(842110120) options(digits=3) runSEIR( - Beta=4,sigma=1,gamma=1,psi=1,delta=1, + Beta=4,sigma=1,gamma=1,psi=1,omega=1, S0=100,E0=3,I0=5,R0=100, time=5 ) -> G @@ -25,7 +25,7 @@ G |> try( G |> seirs_pomp( - Beta=4,sigma=1,gamma=1,psi=1,delta=1, + Beta=4,sigma=1,gamma=1,psi=1,omega=1, S0=100,E0=3,I0=-5,R0=100 ) -> po ) @@ -33,7 +33,7 @@ try( G |> curtail(time=3) |> seirs_pomp( - Beta=4,sigma=1,gamma=1,psi=1,delta=1, + Beta=4,sigma=1,gamma=1,psi=1,omega=1, S0=100,E0=3,I0=5,R0=100 ) -> po diff --git a/tests/seir2.Rout.save b/tests/seir2.Rout.save index 9a7b114..469ba7a 100644 --- a/tests/seir2.Rout.save +++ b/tests/seir2.Rout.save @@ -29,7 +29,7 @@ Type 'q()' to quit R. > options(digits=3) > > runSEIR( -+ Beta=4,sigma=1,gamma=1,psi=1,delta=1, ++ Beta=4,sigma=1,gamma=1,psi=1,omega=1, + S0=100,E0=3,I0=5,R0=100, + time=5 + ) -> G @@ -44,7 +44,7 @@ Type 'q()' to quit R. > try( + G |> + seirs_pomp( -+ Beta=4,sigma=1,gamma=1,psi=1,delta=1, ++ Beta=4,sigma=1,gamma=1,psi=1,omega=1, + S0=100,E0=3,I0=-5,R0=100 + ) -> po + ) @@ -53,7 +53,7 @@ Error : in 'seirs_pomp': 'S0','E0','I0','R0' must be nonnegative integers. > G |> + curtail(time=3) |> + seirs_pomp( -+ Beta=4,sigma=1,gamma=1,psi=1,delta=1, ++ Beta=4,sigma=1,gamma=1,psi=1,omega=1, + S0=100,E0=3,I0=5,R0=100 + ) -> po NOTE: The provided objects 'genealogy','nsample' are available for use by POMP basic components. diff --git a/tests/si2r.R b/tests/si2r.R index c5e9003..ac42133 100644 --- a/tests/si2r.R +++ b/tests/si2r.R @@ -19,7 +19,7 @@ x |> plot(prune=FALSE,obscure=FALSE) x |> yaml() -> y x |> lineages(obscure=FALSE) |> plot() -runSI2R(time=2,Beta=2,mu=3,gamma=1,psi1=2,psi2=2,delta=1) |> +runSI2R(time=2,Beta=2,mu=3,gamma=1,psi1=2,psi2=2,omega=1) |> simulate(time=5) |> plot(prune=FALSE,obscure=FALSE,points=TRUE) diff --git a/tests/si2r.Rout.save b/tests/si2r.Rout.save index 1b30a96..9a2de22 100644 --- a/tests/si2r.Rout.save +++ b/tests/si2r.Rout.save @@ -39,7 +39,7 @@ Type 'q()' to quit R. > x |> yaml() -> y > x |> lineages(obscure=FALSE) |> plot() > -> runSI2R(time=2,Beta=2,mu=3,gamma=1,psi1=2,psi2=2,delta=1) |> +> runSI2R(time=2,Beta=2,mu=3,gamma=1,psi1=2,psi2=2,omega=1) |> + simulate(time=5) |> + plot(prune=FALSE,obscure=FALSE,points=TRUE) > diff --git a/tests/sir1.R b/tests/sir1.R index c8e0cb1..967a8b1 100644 --- a/tests/sir1.R +++ b/tests/sir1.R @@ -19,14 +19,14 @@ runSIR(Beta=3,gamma=1,psi=2,S0=100,I0=5,time=1) |> simulate(time=100) |> plot(points=TRUE,time=NULL) -simulate("SIR",Beta=3,gamma=1,psi=2,delta=1,S0=100,I0=5,time=10) -> x +simulate("SIR",Beta=3,gamma=1,psi=2,omega=1,S0=100,I0=5,time=10) -> x x |> yaml() -> y x |> lineages() |> plot() x |> geneal() x |> sir_pomp( - Beta=3,gamma=1,psi=2,delta=1, + Beta=3,gamma=1,psi=2,omega=1, S0=100,I0=5,R0=0 ) |> pfilter(Np=5000) -> pf @@ -38,7 +38,7 @@ try(runSIR(S0=-10,time=1)) try( x |> sir_pomp( - Beta=3,gamma=1,psi=2,delta=1, + Beta=3,gamma=1,psi=2,omega=1, S0=-100,I0=5,R0=0 ) ) diff --git a/tests/sir1.Rout.save b/tests/sir1.Rout.save index ab43502..fc20e66 100644 --- a/tests/sir1.Rout.save +++ b/tests/sir1.Rout.save @@ -39,7 +39,7 @@ Type 'q()' to quit R. + simulate(time=100) |> + plot(points=TRUE,time=NULL) > -> simulate("SIR",Beta=3,gamma=1,psi=2,delta=1,S0=100,I0=5,time=10) -> x +> simulate("SIR",Beta=3,gamma=1,psi=2,omega=1,S0=100,I0=5,time=10) -> x > x |> yaml() -> y > x |> lineages() |> plot() > x |> geneal() @@ -47,7 +47,7 @@ Type 'q()' to quit R. > > x |> + sir_pomp( -+ Beta=3,gamma=1,psi=2,delta=1, ++ Beta=3,gamma=1,psi=2,omega=1, + S0=100,I0=5,R0=0 + ) |> + pfilter(Np=5000) -> pf @@ -61,7 +61,7 @@ Error : in 'runSIR': 'S0','I0','R0' must be nonnegative integers. > try( + x |> + sir_pomp( -+ Beta=3,gamma=1,psi=2,delta=1, ++ Beta=3,gamma=1,psi=2,omega=1, + S0=-100,I0=5,R0=0 + ) + ) diff --git a/yaml/R/seir.R b/yaml/R/seir.R index d2c7e6d..7a0671d 100644 --- a/yaml/R/seir.R +++ b/yaml/R/seir.R @@ -9,7 +9,7 @@ ##' @param sigma progression rate ##' @param gamma recovery rate ##' @param psi per capita sampling rate -##' @param delta rate of waning of immunity +##' @param omega rate of waning of immunity ##' @param S0 initial size of susceptible population ##' @param E0 initial size of exposed population ##' @param I0 initial size of infected population @@ -23,9 +23,9 @@ NULL ##' @export runSEIR <- function ( time, t0 = 0, - Beta = 4, sigma = 1, gamma = 1, psi = 1, delta = 0, S0 = 100, E0 = 5, I0 = 5, R0 = 0 + Beta = 4, sigma = 1, gamma = 1, psi = 1, omega = 0, S0 = 100, E0 = 5, I0 = 5, R0 = 0 ) { - params <- c(Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,delta=delta) + params <- c(Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,omega=omega) ivps <- c(S0=S0,E0=E0,I0=I0,R0=R0) x <- .Call(P_makeSEIR,params,ivps,t0) .Call(P_runSEIR,x,time) |> @@ -36,10 +36,10 @@ runSEIR <- function ( ##' @export continueSEIR <- function ( object, time, - Beta = NA, sigma = NA, gamma = NA, psi = NA, delta = NA + Beta = NA, sigma = NA, gamma = NA, psi = NA, omega = NA ) { params <- c( - Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,delta=delta + Beta=Beta,sigma=sigma,gamma=gamma,psi=psi,omega=omega ) x <- .Call(P_reviveSEIR,object,params) .Call(P_runSEIR,x,time) |> diff --git a/yaml/R/si2r.R b/yaml/R/si2r.R index 736737e..79e0650 100644 --- a/yaml/R/si2r.R +++ b/yaml/R/si2r.R @@ -8,7 +8,7 @@ ##' @param Beta transmission rate ##' @param mu mean superspreading-event cluster size ##' @param gamma recovery rate -##' @param delta rate of waning of immunity +##' @param omega rate of waning of immunity ##' @param psi1 sampling rate for deme 1 ##' @param psi2 sampling rate for deme 2 ##' @param sigma12 rate of movement from deme 1 to deme 2 @@ -25,9 +25,9 @@ NULL ##' @export runSI2R <- function ( time, t0 = 0, - Beta = 5, mu = 5, gamma = 1, delta = 0, psi1 = 1, psi2 = 0, sigma12 = 1, sigma21 = 3, S0 = 500, I0 = 10, R0 = 0 + Beta = 5, mu = 5, gamma = 1, omega = 0, psi1 = 1, psi2 = 0, sigma12 = 1, sigma21 = 3, S0 = 500, I0 = 10, R0 = 0 ) { - params <- c(Beta=Beta,mu=mu,gamma=gamma,delta=delta,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21) + params <- c(Beta=Beta,mu=mu,gamma=gamma,omega=omega,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21) ivps <- c(S0=S0,I0=I0,R0=R0) x <- .Call(P_makeSI2R,params,ivps,t0) .Call(P_runSI2R,x,time) |> @@ -38,10 +38,10 @@ runSI2R <- function ( ##' @export continueSI2R <- function ( object, time, - Beta = NA, mu = NA, gamma = NA, delta = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA + Beta = NA, mu = NA, gamma = NA, omega = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA ) { params <- c( - Beta=Beta,mu=mu,gamma=gamma,delta=delta,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21 + Beta=Beta,mu=mu,gamma=gamma,omega=omega,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21 ) x <- .Call(P_reviveSI2R,object,params) .Call(P_runSI2R,x,time) |> diff --git a/yaml/R/siir.R b/yaml/R/siir.R index 46c4250..71aabf7 100644 --- a/yaml/R/siir.R +++ b/yaml/R/siir.R @@ -12,7 +12,7 @@ ##' @param psi2 sampling rate for deme 2 ##' @param sigma12 rate of movement from deme 1 to deme 2 ##' @param sigma21 rate of movement from deme 2 to deme 1 -##' @param delta rate of loss of immunity +##' @param omega rate of loss of immunity ##' @param S0 initial size of susceptible population ##' @param I1_0 initial size of deme-1 infected population ##' @param I2_0 initial size of deme-2 infected population @@ -26,9 +26,9 @@ NULL ##' @export runSIIR <- function ( time, t0 = 0, - Beta1 = 5, Beta2 = 5, gamma = 1, psi1 = 1, psi2 = 0, sigma12 = 0, sigma21 = 0, delta = 0, S0 = 500, I1_0 = 10, I2_0 = 10, R0 = 0 + Beta1 = 5, Beta2 = 5, gamma = 1, psi1 = 1, psi2 = 0, sigma12 = 0, sigma21 = 0, omega = 0, S0 = 500, I1_0 = 10, I2_0 = 10, R0 = 0 ) { - params <- c(Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,delta=delta) + params <- c(Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,omega=omega) ivps <- c(S0=S0,I1_0=I1_0,I2_0=I2_0,R0=R0) x <- .Call(P_makeSIIR,params,ivps,t0) .Call(P_runSIIR,x,time) |> @@ -39,10 +39,10 @@ runSIIR <- function ( ##' @export continueSIIR <- function ( object, time, - Beta1 = NA, Beta2 = NA, gamma = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA, delta = NA + Beta1 = NA, Beta2 = NA, gamma = NA, psi1 = NA, psi2 = NA, sigma12 = NA, sigma21 = NA, omega = NA ) { params <- c( - Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,delta=delta + Beta1=Beta1,Beta2=Beta2,gamma=gamma,psi1=psi1,psi2=psi2,sigma12=sigma12,sigma21=sigma21,omega=omega ) x <- .Call(P_reviveSIIR,object,params) .Call(P_runSIIR,x,time) |> diff --git a/yaml/R/sir.R b/yaml/R/sir.R index 3fcde0d..10d7a38 100644 --- a/yaml/R/sir.R +++ b/yaml/R/sir.R @@ -8,7 +8,7 @@ ##' @param Beta transmission rate ##' @param gamma recovery rate ##' @param psi per capita sampling rate -##' @param delta rate of waning of immunity +##' @param omega rate of waning of immunity ##' @param S0 initial size of susceptible population ##' @param I0 initial size of infected population ##' @param R0 initial size of immune population @@ -21,9 +21,9 @@ NULL ##' @export runSIR <- function ( time, t0 = 0, - Beta = 4, gamma = 1, psi = 1, delta = 0, S0 = 100, I0 = 5, R0 = 0 + Beta = 4, gamma = 1, psi = 1, omega = 0, S0 = 100, I0 = 5, R0 = 0 ) { - params <- c(Beta=Beta,gamma=gamma,psi=psi,delta=delta) + params <- c(Beta=Beta,gamma=gamma,psi=psi,omega=omega) ivps <- c(S0=S0,I0=I0,R0=R0) x <- .Call(P_makeSIR,params,ivps,t0) .Call(P_runSIR,x,time) |> @@ -34,10 +34,10 @@ runSIR <- function ( ##' @export continueSIR <- function ( object, time, - Beta = NA, gamma = NA, psi = NA, delta = NA + Beta = NA, gamma = NA, psi = NA, omega = NA ) { params <- c( - Beta=Beta,gamma=gamma,psi=psi,delta=delta + Beta=Beta,gamma=gamma,psi=psi,omega=omega ) x <- .Call(P_reviveSIR,object,params) .Call(P_runSIR,x,time) |> diff --git a/yaml/seir.yml b/yaml/seir.yml index bff729f..b8ab03a 100644 --- a/yaml/seir.yml +++ b/yaml/seir.yml @@ -24,8 +24,8 @@ parameter: description: per capita sampling rate default: 1 type: double - delta: - name: delta + omega: + name: omega description: rate of waning of immunity default: 0 type: double @@ -89,4 +89,4 @@ events: jump: sample(1); waning: jump: state.R -= 1; state.S += 1; - rate: params.delta * state.R + rate: params.omega * state.R diff --git a/yaml/si2r.yml b/yaml/si2r.yml index ddb2900..c098b05 100644 --- a/yaml/si2r.yml +++ b/yaml/si2r.yml @@ -19,8 +19,8 @@ parameter: description: recovery rate type: double default: 1 - delta: - name: delta + omega: + name: omega description: rate of waning of immunity default: 0 type: double @@ -118,4 +118,4 @@ events: rate: params.sigma21 * state.I2 waning: jump: state.R -= 1; state.S += 1; - rate: params.delta * state.R + rate: params.omega * state.R diff --git a/yaml/siir.yml b/yaml/siir.yml index d4e6540..dc730b4 100644 --- a/yaml/siir.yml +++ b/yaml/siir.yml @@ -39,8 +39,8 @@ parameter: description: rate of movement from deme 2 to deme 1 default: 0 type: double - delta: - name: delta + omega: + name: omega description: rate of loss of immunity default: 0 type: double @@ -116,4 +116,4 @@ events: rate: params.sigma21 * state.I2 wane: jump: state.S += 1; state.R -= 1; - rate: params.delta * state.R + rate: params.omega * state.R diff --git a/yaml/sir.yml b/yaml/sir.yml index 55ce7da..e654743 100644 --- a/yaml/sir.yml +++ b/yaml/sir.yml @@ -19,8 +19,8 @@ parameter: description: per capita sampling rate default: 1 type: double - delta: - name: delta + omega: + name: omega description: rate of waning of immunity default: 0 type: double @@ -71,4 +71,4 @@ events: jump: sample(); waning: jump: state.R -= 1; state.S += 1; - rate: params.delta * state.R + rate: params.omega * state.R diff --git a/yaml/src/seir.cc b/yaml/src/seir.cc index 1d81382..5ff0f72 100644 --- a/yaml/src/seir.cc +++ b/yaml/src/seir.cc @@ -18,7 +18,7 @@ typedef struct { double sigma; double gamma; double psi; - double delta; + double omega; int S0; int E0; int I0; @@ -36,7 +36,7 @@ std::string seir_proc_t::yaml (std::string tab) const { + YAML_PARAM(sigma) + YAML_PARAM(gamma) + YAML_PARAM(psi) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(E0) + YAML_PARAM(I0) @@ -57,7 +57,7 @@ void seir_proc_t::update_params (double *p, int n) { PARAM_SET(sigma); PARAM_SET(gamma); PARAM_SET(psi); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -79,7 +79,7 @@ double seir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.sigma * state.E); RATE_CALC(params.gamma * state.I); RATE_CALC(params.psi * state.I); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/yaml/src/si2r.cc b/yaml/src/si2r.cc index db758a1..4bfda79 100644 --- a/yaml/src/si2r.cc +++ b/yaml/src/si2r.cc @@ -17,7 +17,7 @@ typedef struct { double Beta; double mu; double gamma; - double delta; + double omega; double psi1; double psi2; double sigma12; @@ -37,7 +37,7 @@ std::string si2r_proc_t::yaml (std::string tab) const { + YAML_PARAM(Beta) + YAML_PARAM(mu) + YAML_PARAM(gamma) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(psi1) + YAML_PARAM(psi2) + YAML_PARAM(sigma12) @@ -60,7 +60,7 @@ void si2r_proc_t::update_params (double *p, int n) { PARAM_SET(Beta); PARAM_SET(mu); PARAM_SET(gamma); - PARAM_SET(delta); + PARAM_SET(omega); PARAM_SET(psi1); PARAM_SET(psi2); PARAM_SET(sigma12); @@ -89,7 +89,7 @@ double si2r_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.psi2 * state.I2); RATE_CALC(params.sigma12 * state.I1); RATE_CALC(params.sigma21 * state.I2); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/yaml/src/siir.cc b/yaml/src/siir.cc index 946ee91..298b8e8 100644 --- a/yaml/src/siir.cc +++ b/yaml/src/siir.cc @@ -21,7 +21,7 @@ typedef struct { double psi2; double sigma12; double sigma21; - double delta; + double omega; int S0; int I1_0; int I2_0; @@ -42,7 +42,7 @@ std::string siir_proc_t::yaml (std::string tab) const { + YAML_PARAM(psi2) + YAML_PARAM(sigma12) + YAML_PARAM(sigma21) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(I1_0) + YAML_PARAM(I2_0) @@ -66,7 +66,7 @@ void siir_proc_t::update_params (double *p, int n) { PARAM_SET(psi2); PARAM_SET(sigma12); PARAM_SET(sigma21); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -92,7 +92,7 @@ double siir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.psi2 * state.I2); RATE_CALC(params.sigma12 * state.I1); RATE_CALC(params.sigma21 * state.I2); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; } diff --git a/yaml/src/sir.cc b/yaml/src/sir.cc index ed5f1de..8f3ae12 100644 --- a/yaml/src/sir.cc +++ b/yaml/src/sir.cc @@ -16,7 +16,7 @@ typedef struct { double Beta; double gamma; double psi; - double delta; + double omega; int S0; int I0; int R0; @@ -32,7 +32,7 @@ std::string sir_proc_t::yaml (std::string tab) const { + YAML_PARAM(Beta) + YAML_PARAM(gamma) + YAML_PARAM(psi) - + YAML_PARAM(delta) + + YAML_PARAM(omega) + YAML_PARAM(S0) + YAML_PARAM(I0) + YAML_PARAM(R0); @@ -50,7 +50,7 @@ void sir_proc_t::update_params (double *p, int n) { PARAM_SET(Beta); PARAM_SET(gamma); PARAM_SET(psi); - PARAM_SET(delta); + PARAM_SET(omega); if (m != n) err("wrong number of parameters!"); } @@ -70,7 +70,7 @@ double sir_proc_t::event_rates (double *rate, int n) const { RATE_CALC(params.Beta * state.S * state.I / state.N); RATE_CALC(params.gamma * state.I); RATE_CALC(params.psi * state.I); - RATE_CALC(params.delta * state.R); + RATE_CALC(params.omega * state.R); if (m != n) err("wrong number of events!"); return total; }