Ct values can be used to estimate epidemic dynamics! We show that the distribution of viral loads changes during an epidemic and develop a new method to infer growth rates from cross-sectional virological surveys without using reported case counts.

1/25

medrxiv.org/content/10.110…
Highlights:
- The distribution of observed viral loads is determined by recent incidence trends
- The median and skew of detectable Cts in Massachusetts were correlated with R(t), as predicted
- A novel statistical method to infer the epidemic growth rates using Ct values

2/25
Cts are inversely proportional to log viral loads. The relationship depends on the instrument and sampling variation, but low Cts generally indicate high viral loads. Think about expectations & distributions rather than individual measurements

academic.oup.com/cid/advance-ar…

3/25
In acute infections, viral loads generally follow a consistent (but noisy) trajectory. We aren't certain of the full trajectory, but we know that i) viral growth is faster than decline and ii) people can persist at low viral loads for a long time.



4/25
So, a high viral load likely indicates recent infection, whereas a low viral load is *more likely* (note, not guaranteed) to indicate an older infection.

5/25
OK… where am I going with this? Well, it’s been noted a few times that the distribution of Ct values has changed over the course of the pandemic, eg:

medrxiv.org/content/10.110…

How puzzling!

6/25
One way this can arise is through biased sampling eg. if we mostly sample people soon after symptom onset then we’ll see low Cts, whereas if we sample people after they’ve recovered, we’ll see higher Cts. But if we sample people at random, this shouldn’t matter.

7/25
Then why have Ct values changed? It’s because of *epidemic dynamics*! Imagine we sampled a bunch of infected people today. If we knew when those people got infected, we’d notice that (8/25):
1. If the epidemic is growing, people were typically infected more recently. If the epidemic is declining, people were typically infected further in the past. The distribution of *times since infection* depends on the incidence of infections.

9/25 Image
2. The time since infection dictates observed viral loads. People who were infected a long time ago typically have lower viral loads, because the decline phase of viral kinetics takes longer that the growth phase (remember – expectations not individuals!).

10/25 Image
3. So the distribution of viral loads sampled today depends on the distribution of times since infection, which in turn depends on the epidemic growth rate. Therefore, with appropriate calibration, the distribution of observed Ct values is informative of epidemic dynamics.

11/25 Image
This is a simple cartoon, but it shows how epidemic dynamics -> time since infection distribution -> viral load distribution -> observed Ct values. How these steps link might change depending on eg. the instrument used to measure Ct values, but the general principle holds.

12/25
To demonstrate this, we simulated infections from an SEIR model. For each infected person, we simulated Ct values based on when in their infection course they were sampled. R(t) is clearly correlated with the median and skew of the detectable Ct distribution.

13/25 Image
What about real data? We compared estimated R(t) (using EpiNow2) to the distribution of measured Ct values from Brigham & Women’s Hospital, MA since April. Despite a bit more noise, we saw the same relationship as in our theoretical predictions!

14/25 Image
Finally, (and this is still WIP), we used this relationship to write down a model to infer the epidemic growth rate using the distribution of Ct values observed on a particular day.

15/25
The model has two parts: 1) a viral kinetics model describing the mean and variance of Ct values on each day post infection and 2) a model describing the relative probability of infection on each day prior to the observation day.

16/25
We found that with a single cross section of detectable Cts, we could correctly identify if the epidemic was growing or declining. They’re noisy estimates, but bear in mind this is showing longitudinal dynamics from a *single cross section* of data.

17/25 Image
Also, to account for uncertainty in the viral kinetics trajectory, we used a Bayesian approach and placed informative priors on most of the model parameters rather than fixing them. If we knew these parameters with more certainty, these estimates would be more constrained.

18/25
We’ve shown how the distribution of Cts changes during an epidemic, which reflects the trajectory. We propose that incorporating Ct values epidemic dynamics inference can retain more information than simply assessing “how many new PCR positive tests did we report today?”

19/25
We can test whether the epidemic is growing or declining based on a single cross-section of viral load measurements. This could be a valuable tool to discern if rising case counts are due to true rises in incidence or just changing testing capacity, as some have suggested.

20/25
We hypothesize this method would be less susceptible to bias than R(t) estimation using case counts, which are hindered by reporting delays and testing capacity. The information here comes from the *distribution* of Cts rather than the (potentially biased) number of cases.

21/25
For anyone still skeptical, I refer to the large literature on using antibody titers to infer epidemic dynamics. Antibody titers -> time since infection -> incidence. This is exactly the same idea, just using viral loads.

journals.plos.org/ploscompbiol/a…

22/25
There are some exciting extensions that we’re working on, so stay tuned for more data and some tighter posteriors! All code here: github.com/jameshay218/ct…

... though we're not able to share the raw BWH data at this time.

23/25
I foolishly put this at the end, but this is a joint endeavor with Lee Kennedy-Shaffer (not on twitter), led by @michaelmina_lab, with invaluable input from @SanjatKanjilal and @mlipsitch

24/25
… and I’ll stop there before someone has to start saying “THANK you, Mr. Vice President” over and over again until I shut up. (Topical reference, not suggesting that I’m important 🙃).

25/25

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with James Hay

James Hay Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jameshay218

7 Oct
Very excited to share our updated preprint on pooled testing for SARS-CoV-2 surveillance. This has been a fantastic modeling and lab collaboration with @BrianCleary, @michaelmina_lab and Aviv Regev, and it’s all about our favorite topic: viral loads. 1/16

medrxiv.org/content/10.110…
Highlights:
-PCR sensitivity and efficiency are linked to epidemic dynamics and viral kinetics
-Prevalence estimation without testing individual samples using a few dozen tests
-Simple (by hand) strategies optimized for resource-constrained settings

Full story below. 2/16
We (the world) still need more testing. The number of test kits is still limited in a lot of places, meaning that we are missing a lot of infections, not testing regularly, and are flying blind wrt population prevalence. Pooling has been discussed as part of the solution. 3/16
Read 18 tweets
27 Mar
The lack of clinical COVID19 cases in children is odd. Understanding why will be essential in deciding which social interventions are most useful. We discussed this alongside a modeling analysis here: dash.harvard.edu/handle/1/42639…
@DrDJHaw @BillHanage @CJEMetcalf @michaelmina_lab
We propose 4 possible explanations for the lack of cases in children:

1) Kids haven’t been making as many contacts as normal. This may contribute, but probably isn’t the only factor: medrxiv.org/content/10.110…
2) Children are less susceptible to *infection* or adults are more susceptible. Seems unlikely now, given secondary attack rates from contact tracing, though conflicting findings: medrxiv.org/content/10.110… + previous
Read 10 tweets
25 Mar
A recent analysis from Oxford presented a range of model scenarios consistent with observed COVID death counts. I’m going to reproduce their analysis here and then present some slight modifications to provide a conservative (if technical) perspective. (gonna be 15ish tweets)
They showed you can estimate the same number of deaths with either a high % of the population at risk of severe disease and a recent epidemic start, or a low % and an earlier start. Some media outlets have reported this as suggesting “majority of the UK has already been infected”
But that’s *not* what the authors were trying to say. The aim was: given what we do know about the virus, let’s test different assumptions for the stuff we don’t know and see which tests are consistent with observed death counts.
Read 20 tweets
7 Mar
Total isolation isn’t the only way to reduce #coronavirus spread. Reducing unnecessary contacts (only invite the best people to your birthday party) helps. Based on school maths: if you roll a die 10 times, the probability of 1 or more 6s is 84%. If you roll it twice, it’s 31%.
This also applies if you reduce the nature of your contacts. For example, if you stop licking your friend’s face, maybe you go from a 6-sided die to a 20-sided die. Then the probability of at least 1 20 at your 2-mate birthday party goes down to 10%.
Even partial reduction goes a long way to reducing transmission below a critical threshold. R0 = prob of transmission on contact * infectious duration * contact rate. If we have R0 = 2 = 0.04*5*10, then halving the contact rate gets us to 0.04*5*5 = 1.
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!