Raw File
#############################
### Functions for RRV NGM ###
#############################

'%!in%' <- function (x, table) match(x, table, nomatch = 0L) == 0L

simpleCap <- function(x) {
    s <- strsplit(x, " ")[[1]]
    paste(toupper(substring(s, 1, 1)), substring(s, 2),
          sep = "", collapse = " ")
}

## Assume for now a few tiers of competence, which is determined by the titer in the host, lets assume for now
 ## titer follows a Ricker function and that the duration of infection is about 8 days (viremia may fall to levels
  ## beneath what is infectious, so in practice this duration will be less)
titer_prof       <- function (day, a, b) {
  a * day * exp(-b * day)
}

titer_prof_quad  <- function (day, a, b, c) {
  a + b*day + c*day^2
}

## host to mosquito transmission probability follows a logistic function (could divide by k or something if it 
 ## turns out transmission probability never actually reaches 1 (basically does for WNV, so just working with that for now))
h_to_m_inf_prob <- function (titer, a, b) {
  1 / (1 + exp(-(a + b * titer)))
}

## Not too clear on the incubation period in the mosquito, lit seems a bit foggy on it
 ## so for now just assume a less steep logistic 
m_to_h_inf_prob <- function (day, a, b) {
  1 / (1 + exp(-(day - a)/b))
}

## Proportional hazards (I think) (constant survival probability across all times)
mosq_surv_mod <- function (surv_prob, mosq_days) {
  exp(surv_prob * mosq_days)
}

## Cconstant survival probability across all times
mosq_surv_sim <- function (surv_prob, mosq_days) {
  for (i in seq_along(mosq_days)) {
    mosq_days[i]
 cumprod(surv_prob, mosq_days)
  }
}
back to top