Skip to content

Commit

Permalink
typo fix and correct script to be 2^ not exp(
Browse files Browse the repository at this point in the history
  • Loading branch information
famulare committed Mar 25, 2024
1 parent e4723bf commit 6407218
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ $$ (\text{post-challenge titer}) = \text{c}*(\text{viable dose})*(\text{pre-chal

## When we look at what we know about poliovirus infectiousness in humans and antibody titers, we see something super cool

What is the relevant viable dose at the start of a polio infection? Well, each infected cell makes about 1000 infectious units per replication cycle ([one source of many](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4093869/)). So, in the absence of any prior immunity, the viable dose should be about 1000. But, as described in the first post in this series, we know from human challenge studies that only 1 in 33 of the typical poliovirus infectious units cause infection in an unimmized person, and that the dependence of the probability a cell culture infectious unit is infectious in a person with pre-challenge neutralizing antibody titers looks like
What is the relevant viable dose at the start of a polio infection? Well, each infected cell makes about 900 infectious units per replication cycle ([one source of many](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4093869/)). So, in the absence of any prior immunity, the viable dose should be about 900. But, as described in the first post in this series, we know from human challenge studies that only 1 in 33 of the typical poliovirus infectious units cause infection in an unimmized person, and that the dependence of the probability a cell culture infectious unit is infectious in a person with pre-challenge neutralizing antibody titers looks like

$$\bar{r}_{\text{pre-challenge titer}}=\frac{1}{1+\frac{\beta}{\alpha}(\text{pre-challenge titer})^{\gamma}}$$

with $\alpha=0.44$, $\beta=2.3$, and $\gamma=0.46$ for wild poliovirus ([source](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.2002468#sec016)). So the viable dose shed by each infected cell in a person is roughly $1000\bar{r}_{\text{pre-challenge titer}}$, and our simple immune response model is
with $\alpha=0.44$, $\beta=2.3$, and $\gamma=0.46$ for wild poliovirus ([source](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.2002468#sec016)). So the viable dose shed by each infected cell in a person is roughly $900\bar{r}_{\text{pre-challenge titer}}$, and our simple immune response model is

$$ (\text{post-challenge titer}) = \text{c}*(900\bar{r}_{\text{pre-challenge titer}})*(\text{pre-challenge titer}) \tag{3} $$

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,11 +123,11 @@ mean(c(11.1,11.2,15.3,12.9,15.5,15.2))


pred=data.frame(preExposureTiter=2^seq(0,-1/res@coef[3],by=0.01)) |>
mutate(median=exp(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter)))) |>
mutate(lower=exp(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))-(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(upper=exp(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))+(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(lower2=exp(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))-2*(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(upper2=exp(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))+2*(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter)))))
mutate(median=2^(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter)))) |>
mutate(lower=2^(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))-(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(upper=2^(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))+(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(lower2=2^(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))-2*(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter))))) |>
mutate(upper2=2^(res@coef[1]*(1+res@coef[3]*log2(preExposureTiter))+2*(res@coef[2]*(1+res@coef[3]*log2(preExposureTiter)))))

ggplot(df)+
geom_jitter(aes(x=log2(preExposureTiter),y=postExposureTiter/preExposureTiter,color=seroconverted)) +
Expand All @@ -136,7 +136,7 @@ ggplot(df)+
geom_ribbon(data=pred,aes(x=log2(preExposureTiter),ymin=lower,ymax=upper),alpha=0.1)+
geom_ribbon(data=pred,aes(x=log2(preExposureTiter),ymin=lower2,ymax=upper2),alpha=0.1)+
scale_x_continuous(breaks=(3*(0:5)))+
scale_y_continuous(trans='log2',breaks=2^(2*(0:5)))
scale_y_continuous(trans='log2',breaks=2^(2*(0:8)))


## venom
Expand Down

0 comments on commit 6407218

Please sign in to comment.