Tag Archives: evolution

Bill Nye the Science Guy meets Vin Can the Science Man

OK, so I need to work on my stage name.

Back in May 2017, I tweeted at Bill Nye:

And it turns out that Bill, and the great writers and producers and everyone else behind Bill Nye Saves the World, were paying attention. Shortly after the tweet I was contacted by a producer of the show and asked if I would like to come on and give a demonstration about the evolution of “super-bugs”, i.e. antibiotic-resistant bacteria.

An opportunity for science outreach involving Bill Nye? Yes, please.

In this post, I first want to talk about the science in my 5 minutes (at the end of Season 2 Episode 3 of Bill Nye Saves the World). Then, I’ll touch on the experience of being on the show.

The Science

I wanted to convey three things in my demo:

  1. Antibiotics work really well!
  2. So does natural selection. In the presence of an antibiotic, bacteria resistant to that antibiotic survive and proliferate more than non-resistant bacteria, leading to the spread of the information conferring that resistance (i.e. the evolution of “super-bugs”).
  3. And that’s why it is important to be judicious about antibiotic use.

all while conveying how scientists can use models of reality to study biology.

So, for my demo I created a model of the evolutionary dynamics of bacterial strains within a person. In this model, bacteria either replicate or die—similar to a common mathematical model used to study evolutionary dynamics called a “birth-death process”. If there is more birth than death, the bacteria grow too big and overflow from the host—the infection spreads to other hosts. If there is more death than birth (as in a typical situation where the immune system does a good job), the bacteria die off —the infection is cleared.

What makes this a model of evolution is that we can introduce two different bacterial strains into the model and observe how the relative abundance of these two strains change within the total bacterial population over time. Let’s say one strain has a mutation in their genome that makes them resistant to antibiotics, and the other strain is still susceptible to antibiotics.

Let’s also assume that the host’s immune system is compromised, all strains are growing more than they are dying. The person goes to their physician, and gets some antibiotics that decrease the birth rate of only the susceptible strain. Growth of the susceptible strain is stopped, but the resistant strain grows and grows, and when the model “overflows” it is the resistant strain that spreads to other hosts.

By continually providing selective pressures favoring resistance, we drive susceptible strains to extinction. As the model suggests, we would expect the spread of antibiotic resistant bacteria to be especially prevalent in areas that have a high concentration of individuals with compromised immune systems that take antibiotics, such as hospitals and nursing homes.

But, there is hope! Many of the mechanisms of resistance are actually costly to bacteria when antibiotics are not present. It may be possible to reverse many of the mechanisms of resistance (select for non-resistant strains) by being extremely judicious about when to apply antibiotics. The original focus of the demo was on how to reverse resistance through exploiting this cost of resistance, however due to time constraints I refocused on the emergence of resistance.

My Experience

Everything was awesome. I had no idea just how much went on behind the scenes to get a show produced. From the props people helping with my demo, to the writers and producers working around the clock anticipating every little thing that will happen. Everyone really cared about being true to the science and explaining the information in an accessible and exciting way. Especially Bill Nye, who was extremely genuine and kind throughout the whole experience. I’m very grateful for the opportunity to help #savetheworld!

20170720_202332

 

P.S.

For those who arrived at my blog curious about my current research: I use mathematical models and simulations to investigate how tumors evolve from our tissues, how evolution has structured our tissues to minimize the risk of cancer, the effects of mutations in growing tumors, and how cancers evolve resistance to chemotherapy. Relating to pathogen evolution, during graduate school, I was part of a team that used mathematical models to study the evolutionary dynamics of pathogens and their hosts.

Generating Biology

I’m taking a Teaching Careers/Methods course and our first assignment was to develop a class we’d like to teach and give a little mini-lesson to convey some learning objectives and outcomes of the class. I proposed a class dubbed “Programming and Quantitative Methods in Biology” (or should it be quantitative methods and programming in biology?). Regardless, it’s meant for upper level undergraduates, and the idea is to give students the means to model and simulate biological systems and interpret the underlying biological phenomena at play. I wanted to turn the teaching of biology on its head a bit, instead of learning words and formulae (for example: drift, selection, p+q=1) and then trying to associate them to some dynamics in your head, you “generate” the biology, observe and manipulate the dynamics, and then learn the corresponding biological concepts. I guess I spent a lot of time in college memorizing terms instead of understanding concepts and I didn’t realize the difference until I was in graduate school. Anyway, I’ll give a synopsis of my mini-lesson below. Please feel free to expand and improve or implement these ideas yourself.

Towards the end of the semester students are tasked with creating a simulation of an evolving diploid population with constant population size. Ideally, their simulation has input parameters of the initial population size and the initial distribution of genotypes at a particular allele (AA,Aa,aa). It would also be nice to define the relative propensity for specific genotypes to have offspring and the ability for an allele to mutate into another allele at some specified rate. I coded this simulation up myself for the mini-lesson I gave so that the class could play along. You can find the code here:

https://github.com/vcannataro/HW_dynamics

(again, please feel free to expand and improve on this!)

You have to save both .R files into the same folder and then open R, open the HW_dynamics_master.R script, and set the folder you saved the files to as your working directory. Then you can manipulate the parameters, run the whole script, and see the resultant evolutionary dynamics.

What do you think will happen to the genotype distribution if you run the simulation with these initial parameters?

#Number of each genotype in the population initially:
AA <- 0
Aa <- 2000
aa <- 0

#Generations to run the simulation:
Generations <- 50


#Chance of allele mutations per reproduction event:
A.to.a <- 0
a.to.A <- 0

#Some measure of relative fitness. 
AA.fit <- 1
Aa.fit <- 1
aa.fit <- 1

Do you think the population will remain as 100% heterozygote? Do you think any allele will go extinct? Do you think it will continually fluctuate, or reach an equilibrium? Well, here’s an example of what happened for me:

Initial_conditionsAfter a single generation the population snapped in to an equilibrium and remained hovering around that for the rest of the simulation. This is known as the Hardy-Weinberg Equilibrium. (This is a good opportunity to derive the HW formulas on the board and discuss what assumptions are key to maintaining these genotype frequencies). The code spits out the expected HW equilibrium given the initial p and q and the actual average equilibrium after each run, here’s what it looks like for those initial parameters:

"Initial 'p': 0.5"
"Initial 'q': 0.5"
"Expected AA= 0.25 | Expected Aa= 0.5 | Expected aa= 0.25"
"Average AA= 0.26205 | Average Aa= 0.50067 | Average aa= 0.23728       
*(averages after first generation)"

 

Now the fun begins. What would happen if we started violating these “key assumptions” underlying the Hardy-Weinberg principle? Let’s see. What do you think might happen if we started with 20 heterozygotes instead of 2000?

#Number of each genotype in the population initially:
AA <- 0
Aa <- 20
aa <- 0

20_hets

"Initial 'p': 0.5"
"Initial 'q': 0.5"
"Expected AA= 0.25 | Expected Aa= 0.5 | Expected aa= 0.25"
"Average AA= 0.55918 | Average Aa= 0.30918 | Average aa= 0.13163      
 *(averages after first generation)"

 

Woah woah woah, our equilibrium is all off! In fact, an allele went completely extinct after 38 generations. It’s almost like one of the alleles drifted towards fixation in this population.

What if the heterozygote left, on average, twice as many offspring as either homozygote?

#Number of each genotype in the population initially:
AA <- 0
Aa <- 20
aa <- 0

#Generations to run the simulation:
Generations <- 50


#Chance of allele mutations per reproduction event:
A.to.a <- 0
a.to.A <- 0

#Some measure of relative fitness. 
AA.fit <- 1
Aa.fit <- 2
aa.fit <- 1

hets_2xfit

"Initial 'p': 0.5"
"Initial 'q': 0.5"
"Expected AA= 0.25 | Expected Aa= 0.5 | Expected aa= 0.25"
"Average AA= 0.28469 | Average Aa= 0.49898 | Average aa= 0.21633       
*(averages after first generation)"

 

All of the genotypes remain in the population! This is a good spot to bring up fitness, overdominance, and underdominance.

Plus, you can play with the mutation rate between alleles (what happens if the whole population is AA but there is some chance of a spontaneous A–>a mutation? What happens if this ‘a’ allele confers some fitness advantage?)

#Number of each genotype in the population initially:
AA <- 1000
Aa <- 0
aa <- 0

#Generations to run the simulation:
Generations <- 100


#Chance of allele mutations per reproduction event:
A.to.a <- 0.0001
a.to.A <- 0

#Some measure of relative fitness. 
AA.fit <- 1
Aa.fit <- 2
aa.fit <- 2.5

 

muts

Chances are that whatever resultant dynamics you observe from the model have already been described by population geneticists. And that’s the point-  you generate the biology, figure out what’s going on to lead you to the dynamics you observe, and learn how these biological phenomena have been previously described. There will also be a focus on the limitations of models and simulations.

 

Anyway, that’s my idea. Your thoughts are appreciated!