https://github.com/andim/optimmune
Source code accompanying the paper "How a well-adapted immune system is organized"
https://github.com/andim/optimmune
biophysics openscience
Last synced: about 1 month ago
JSON representation
Source code accompanying the paper "How a well-adapted immune system is organized"
- Host: GitHub
- URL: https://github.com/andim/optimmune
- Owner: andim
- License: other
- Created: 2015-04-02T15:17:45.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-06-21T18:50:09.000Z (over 8 years ago)
- Last Synced: 2025-09-09T06:41:54.359Z (5 months ago)
- Topics: biophysics, openscience
- Language: Python
- Homepage:
- Size: 72.3 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Optimal immune repertoires
This repository contains the code associated with the manuscript
Mayer, Balasubramanian, Mora, Walczak : [How a well adapted immune system is organized](http://dx.doi.org/10.1073/pnas.1421827112), PNAS 2015
It allows reproduction of all numerical results reported in the manuscript.
[](http://dx.doi.org/10.5281/zenodo.16796)
## Dependencies
The code is written in Python and depends on a number of numerical and scientific libraries.
Below we give the version numbers of the packages for which the code is known to run.
* Python 2.7.8
* Numpy 1.8.2
* Scipy 0.16.0
* Matplotlib 1.3.1
* Cython 0.20.2 and relevant development versions of libraries (only needed for figure 5)
Optionally pyFFTW can be used to speed up some of the calculations.
In the absence of this package the code automatically falls back to the corresponding scipy functions.
## Usage
Download the source code by cloning the repository `git clone https://github.com/andim/optimmune`.
Follow the following set of instructions in the given order.
* run `make cython` in library directory (only needed for figure 5)
* run `python run*.py` in figure directories to produce data.
- In a number of cases the optimization files produce results for a range of parameters. Which parameters are used is controlled by a command line argument. The command line argument is a single integer between one and the number of different parameter combinations. On a computing cluster on which a grid engine is installed the looping over different arguments can be performed via the provided submit files (`qsub arrayjob.sh`).
- Warning: some of the optimizations run for a long time (> 1h).
* for some figures the results need to be postprocessed by invoking `python calc*.py`
* run `python fig*.py` in figure directories to produce figures
Here the * is a placeholder for the specific filenames. Note: As most of the simulations are stochastic you generally do not get precisely equivalent plots.
## License
The source code is freely available under an MIT license, unless otherwise noted within a file.
The plots are licensed under a Creative commons attributions license (CC-BY).