Sequencing of bacterial genomes has revealed an abundance of prophage sequences in many bacterial species. Since these sequences are accessible, through recombination, to infecting phages, bacteria carry an arsenal of genetic material that can be used by these viruses. We develop a mathematical model to isolate the effects of this phenomenon on the coevolution of temperate phage and bacteria. The model predicts that prophage sequences may play a key role in maintaining the phage population in situations that would otherwise favour host cell resistance. In addition, prophage recombination facilitates the existence of multiple phage types, thus promoting diverse co-existence in the phage-host ecosystem. Finally, because the host carries an archive of previous phage strategies, prophage recombination can drive waves of innovation in the host cell population.
Matlab run file for model
This is the Matlab code for the main run file which calls on other function files and runs them based on the parameter values provided. It may be used to run phage_host_evolve_nested.m or phage_host_evolve_oneone.m
run_model.m
ODEs for nested model
This file contains the Matlab code required to numerically solve the equations from the model with the nested infection pattern. It can be run using the file run_model.m (provided in the data package)
phage_host_evolve_nested.m
ODEs for one to one model
This file contains the Matlab code for the model with a one to one infection pattern. It can be run using the file run_model.m (provided in the data package).
phage_host_evolve_oneone.m
Calculating phage and host evolutionary steps
This file contains the Matlab code for calculating the number of evolutionary steps occurring in the bacteria and phage populations at each time step of the simulation.
evol_rate.m
Data for making Figure 1 in paper
Matlab code output that can be used to generate the plots in Figure 1 in the main paper
makefigure1rev.mat
Data for making Figure 3 in paper
Matlab code output that can be used to make the plots in Figure 3 in the main paper.
makefigure3rev.mat
Parameter changes for figures
This file lists all the different parameter changes (to the values given in the table in the main paper) that are required to make all the figures in the main paper and supplementary material.
Data for making Figure 2 in the paper
This file contains the Matlab code output which was used to plot the graphs in Figure 2 in the main paper.
makefigure2rev.mat
Data for making Figure S2
Matlab code output used to plot the graphs in Figure S2 in the supplementary material.
makefigureS2rev.mat
Data for making Figure S3
Matlab code output that was used to make the plots in Figure S3 in the supplementary material.
makefigureS3rev.mat
Data for making Figure S4
Matlab code output that was used to make the plots in Figure S4 in the supplementary material.
makefigureS4rev.mat
Data for making Figure S5
Matlab code output that was used to make the plots in Figure S5 in the supplementary material.
makefigureS5rev.mat
Data for making Figure S6
Matlab code output that was used to make the plots in Figure S6 in the supplementary material.
makefigureS6rev.mat
Data for making Figure S1
Matlab code output for making Figure S1 in the supplementary material.
makefigureS1rev.mat