Git Product home page Git Product logo

sismid's Introduction

Description

Short course taught by Sarah Cobey and Trevor Bedford for SISMID 2023.

This module provides an introduction to modeling antigenically diverse pathogen populations. The first part of the course will introduce multistrain compartmental models and potential mechanisms of competition. These simple models will be contrasted with models with more complex assumptions (e.g., multiple forms of immunity and spatial structure). We will review how to statistically fit multistrain models to longitudinal data from individuals and time series data from populations. The second part of the course will show how, using the coalescent as a neutral expectation, evolutionary pressures can be quantified using sequence data. We will detail bioinformatic methods to build phylogenies, quantify selective pressures and estimate pathogen population structure. Methods to measure pathogen phenotypic similarity and antigenic evolution, such as antigenic cartography, will be introduced. Assumes material from Module 2 (Mathematical Models of Infectious Diseases). Material from Module 4 (Evolutionary Dynamics and Molecular Epidemiology of Viruses) would complement course material, but is not required.

Outline

Day 1, Wed July 19

1:30pm to 3:00pm

  • Antigenically (and otherwise) variable pathogens
  • Exercise: Assigning study groups and picking pathogens

3:30pm to 5:00pm

  • The biological basis of antigenic diversity: innate, cellular, and humoral responses

Day 2, Thur July 20

8:30am to 10:00am

  • Serological binding and neutralization data
  • Antigenic cartography
  • Exercise: Antigenic map
  • Original antigenic sin

10:30am to 12:00pm

  • Statistical, compartmental, and agent-based models
  • The many forms of competition
  • Analytic solutions
  • Numerical integration
  • Exercise: Dynamics of a multistrain SIR system

1:30pm to 3:00pm

  • Maximum likelihood
  • When to trust a model
  • Tips & tricks: insights from natural experiments
  • State-space reconstruction

3:30pm to 5:00pm

  • Introduction to Kingman's coalescent
  • Effective population size and demographic inference
  • Exercise: Skyline plots
  • Effects of selection on tree topology
  • Introduction to phylogenetic inference
  • Exercise: Parsimony reconstruction
  • Maximum likelihood and Bayesian methods
  • Phylogeography and recombination

Day 3, Fri July 21

8:30am to 10:00am

  • Introduction to Wright-Fisher model
  • Wright-Fisher with mutation and genetic drift
  • Exercise: Effects of mutation and population size on population dynamics
  • Wright-Fisher with mutation, genetic drift and selection
  • Exercise: Effects of positive and negative selection on population dynamics
  • Tests of selection

10:30am to 12:00pm

  • Mechanistic models
  • Nonlinear forecasting
  • Fitness model projections

1:30pm to 3:00pm

  • Exercise: Group presentations on specific pathogens

3:30pm to 5:00pm

  • VDJ recombination and somatic hypermutation
  • Clonal dynamics and repertoire diversity
  • Unsolved problems and vaccine design

Resources

Run exercise iPython notebooks online with MyBinder: Binder


All contents including slides, course materials and code are copyright 2015-2023 Sarah Cobey and Trevor Bedford. All slides / course materials (files ending in .html and .md) are licensed under Creative Commons Attribution 4.0 and all code (files ending in .py and .ipynb) is licensed under an MIT License.

sismid's People

Contributors

sarahcobey avatar tethig avatar trvrb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sismid's Issues

Exercise scripts

For models/exercise/, it wasn't immediately clear where the scripts lay. In the README you say:

Open two_strain.py and plot_two_strain_ts.py and examine the code.

However, it's not clear where this code actually is. I'd suggest moving the exercise instructions to models/exercise/README.md and link out to the GitHub source code locations https://github.com/trvrb/sismid/blob/master/models/exercise/two_strain.py, etc...

Or just link to https://github.com/trvrb/sismid/tree/master/models/exercise near the beginning of the exercise instructions.

Improvements for 2017

I'm using this space to catch all ideas at the moment, though I'm sure I'm forgetting some from our conversation. After we receive the evaluations, we can refine the list.

  1. Provide groups a structured list of questions to answer. Potential questions: (i) Which parts of the immune system does the pathogen interact with? (ii) How many "strains" are there? (iii) Does the host population structure the pathogen population? How? (iv) Is the pathogen experiencing purifying, neutral, and/or positive selection? Where/How?
  2. Have fewer groups so that we can have a more in-depth discussion of each pathogen.
  3. Have fewer but longer work sessions for the groups.
  4. Many people seemed more interested in the phylogenetic aspects of the course. Perhaps expand them. (It's not clear to me which parts of the course are least valuable.)
  5. Provide more resources online, include preparatory and introductory materials, for especially eager students to glance at before the course.
  6. Consider supplying slides as pdf files.

Commit changes to wiki

Hi!

Is there a way to commit changes directly to the wiki from a local repo?
I successfully cloned the wiki, added and committed the changes, but I get a permission error when trying to push the changes (while I can edit the wiki from the website GUI).

Thanks,
Matteo

Figure for SMC

I'd suggest including this figure (or something like it) to visually explain SMC:

smc.pdf

Slides

I've set up reveal.js to do slides. For an example in action, see flu introduction:

  • slides (use left and right arrows to navigate and esc to zoom out)
  • code

You should be able to do the same if you'd like. Though doing PDFs instead would be just fine as well.

Include another bacteria as example pathogen

Right now we just have Pneumococcus as the sole bacterial pathogen. I remember there being more people interested in bacteria than this. Some options:

  • Bordetella pertussis --- recent evidence of antigenic drift
  • Neisseria meningitidis --- multiple serotypes

@sarahCobey, do you have a favorite (or another suggestion if preferred)? I can include background.

Structure

I'm making a separate directory for each top-level topic in the course outline. At the moment I plan for wright-fisher, coalescent and flu for day 2.

Lecture on forecasting

Put together lecture on forecasting. This extrapolates from previous lectures on serology, timeseries and phylogenetics. Include both epi and evolutionary components. We have this down for mostly Sarah, but with some input from me.

https://github.com/trvrb/sismid/tree/master/forecasting

This could get moved to Day 3 if we're running out of time on Day 2. I'd like to give time at the end of Day 2 for groups to prep presentations. The forecasting lecture can be a short (30 min?) lecture.

Pathogens and pathogen data

Possible pathogens to look at, roughly sorted in order of preference / data availability:

  • HIV (Trevor)
  • pneumo (Sarah)
  • dengue (Trevor)
  • malaria (Sarah)
  • enterovirus 71, including Polio (Sarah)
  • rotavirus (Sarah)
  • norovirus (Trevor)
  • coronavirus (Trevor)
  • swine flu (Trevor)
  • bird flu (Trevor)
  • cholera (Sarah)
  • Shigella
  • Typhoid
  • herpes virus, EBV, HSV, etc...

License?

Hello,

I've been using the matplotlib code from your WF repo for some special cases of the WF model I've been coding. I'd like to host this on GitHub with an MIT License, but I can't find a license on your repo. Do you plan on having one? If not I'll just write something different.

Reorganization for 2016

I wanted to write some notes on this now while the course is still fresh. I'd propose the following:

I would take over the first lecture that would incorporate the more biological material from "competition" and from "flu". This would aim to give an overview of different sorts of pathogens, and their strategies to escape immunity. Would touch on flu, HIV, malaria, HPV, rhinoviruses, etc...

You'd follow with a biological oriented immunity lecture that would be basically the B cell lecture from day 3, but would cover T cells and adaptive immunity as well.

I feel like my weakest link was actually the BEAST exercise. A large proportion of people had done exactly this exercise the week before. And I didn't like the step-by-step nature it entails. Better to tell people it exists and they can do it on their own time. This would free up some time.

I'd propose replacing "serology" with a more general "antigenic evolution" section. I could cover serology and you could cover things like the Hensley age distribution story you talked about here.

I'm propose to end with a "synthesis" discussion / exercise where students are given timeseries, trees, antigenic maps for say EV 71 and they're supposed to come to some conclusions about what's going on. Or maybe have people break up into groups and each group studies a particular pathogen and then reports to the class. We'd supply figures for each pathogen. So everything would be interpretation rather than data gathering.

Notice also that this makes it so you don't have a completely full day 1 and I don't have a completely full day 2.

Day 1

  • Session A: Biological lecture on pathogens (Trevor)
  • Session B: Biological lecture on immunity (Sarah)
  • Session C: Epi Models (Sarah)
  • Session D: Fitting (Sarah)

Day 2

  • Session A: SSR (Sarah)
  • Session B: Coalescent (Trevor)
  • Session C: Phylogenetics (Trevor)
  • Session D: Selection (Trevor)

Day 3

  • Session A: Antigenic evolution (Both)
  • Session B: Synthesis (Both)

Day 3

I've put down "Immunity" for Day 3. I was thinking of splitting this between us where I can cover "serology", including antigenic cartography and original antigenic sin, and you can talk about B cells, covering things like VDJ recombination, affinity maturation, clonal expansion, etc... Happy to discuss this further.

Synthesis example

Should have an exercise of synthesizing tests of selection, time series and serological data to understand evolution of a particular pathogen. Possible candidate would be enterovirus.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.