https://github.com/andim/evolimmune
Source code accompanying the paper "Diversity of immune strategies explained by adaptation to pathogen statistics"
https://github.com/andim/evolimmune
biophysics openscience
Last synced: about 1 month ago
JSON representation
Source code accompanying the paper "Diversity of immune strategies explained by adaptation to pathogen statistics"
- Host: GitHub
- URL: https://github.com/andim/evolimmune
- Owner: andim
- License: other
- Created: 2016-04-27T14:26:02.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-06-21T18:24:10.000Z (over 8 years ago)
- Last Synced: 2025-09-09T06:41:55.147Z (5 months ago)
- Topics: biophysics, openscience
- Language: Jupyter Notebook
- Size: 1.02 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Diversity of immune strategies explained by adaptation to pathogen statistics
This repository contains the source code associated with the manuscript
Mayer, Mora, Rivoire, Walczak : [Diversity of immune strategies explained by adaptation to pathogen statistics](http://dx.doi.org/10.1073/pnas.1600663113), PNAS 2016
It allows reproduction of all numerical results reported in the manuscript.
[](https://zenodo.org/badge/latestdoi/57219749)
## Quick-start: Follow these links to see the analysis code producing the figures
- [Figure 2](http://nbviewer.jupyter.org/github/andim/evolimmune/blob/master/fig2/figure2.ipynb)
- [Figure S1](http://nbviewer.jupyter.org/github/andim/evolimmune/blob/master/figSIopt/figure-SIopt.ipynb)
- [Figure S2](http://nbviewer.jupyter.org/github/andim/evolimmune/blob/master/figSInonfactorizing/figure-SInonfactorizing.ipynb)
- [Figure S3](http://nbviewer.jupyter.org/github/andim/evolimmune/blob/master/figSIaltphases/figure-SIaltphases.ipynb)
- [Figure S4](http://nbviewer.jupyter.org/github/andim/evolimmune/blob/master/figSIevol/figure-SIevol.ipynb)
## Installation requirements
The code uses Python 2.7+.
A number of standard scientific python packages are needed for the numerical simulations and visualizations. An easy way to install all of these is to install a Python distribution such as [Anaconda](https://www.continuum.io/downloads).
- [numpy](http://github.com/numpy/numpy/)
- [scipy](https://github.com/scipy/scipy)
- [pandas](http://github.com/pydata/pandas)
- [matplotlib](http://github.com/matplotlib/matplotlib)
Additionally the code also relies on these packages:
- [shapely](http://github.com/Toblerity/Shapely)
- [palettable](http://github.com/jiffyclub/palettable)
- [scipydirect](http://github.com/andim/scipydirect/)
- [noisyopt](http://github.com/andim/noisyopt)
And optionally for nicer progress output install:
- [pyprind](http://github.com/rasbt/pyprind)
## Running the code
The time stepping of the population dynamics is accelerated by a Cython module, which needs to be compiled first. To compile it run `make cython` in the `lib` directory. In the directories for the different figures launch `make run` followed by `make agg` to produce the underlying data. Please copy the `paper.mplstyle` to your custom matplotlib style directory (likely `.config/matplotlib/stylelib/`). We provide both Jupyter notebooks with additional explanatory comments and plain python files for generating the figures.
## Remarks
In the code we use the following simplified notations `c_constitutive = mu1, c_defense = mu2, c_infection = lambda_, c_uptake = cup` and we define the trade-off `c_defense(c_constitutive)` as a parametric function of a parameter `epsilon` in [0, 1], where 0 corresponds to fully constitutive and 1 to maximally regulated responses.
Note: As the simulations are stochastic you generally will not get precisely equivalent plots.
## Contact
If you run into any difficulties running the code, feel free to contact us at `andimscience@gmail.com`.
## License
The source code is freely available under an MIT license. The plots are licensed under a Creative commons attributions license (CC-BY).