The project aims to use a 1 dimensional fitness landscape in a breadth space to determine which injection protocols maximize bnAb production and features of the optimal protocols.
Required packages specified in requirements.txt: in particular, need to install numpy, ete, and seaborn.
To install packages, run from head directory (Optimal_Protocols_bnAbs/):
python setup.py develop
Please look at Simulations class in procedures.py to see how simulations are set up. Also refer to gillespie_models.py to see setup of gillespie simulations.
All processed data is located in either of the following directories on engaging: /nfs/arupclab001/rganti/Optimal_Protocol_bnAbs_arupc_lab001/ /pool001/rganti/Optimal_Protocols_bnabs_pool002/
Code used to generate figures shown in the main text and appendix is located in the following jupyter notebooks on engaging which are currently not pushed to github: /home/rganti/Optimal_Protocols_bnAbs/notebooks/reports/0.2-rganti-manuscript-plots.ipynb /home/rganti/Optimal_Protocols_bnAbs/notebooks/reports/bnAb_paper_KLD.ipynb
Note jupyter notebooks are located on engaging in: /home/rganti/Optimal_Protocols_bnAbs/notebooks/exploratory/ /home/rganti/Optimal_Protocols_bnAbs/notebooks/reports/
where exploratory/ contains (scratch) exploratory jupyter notebooks and reports/ contains the notebooks used to generate the manuscript plots.
Questions? Email me at rganti(at)mit.edu
├── LICENSE
├── Makefile <- Makefile with commands like `make data` or `make train`
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
│
├── docs <- A default Sphinx project; see sphinx-doc.org for details
│
├── models <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-jqp-initial-data-exploration`.
│
├── references <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting
│
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
│
├── setup.py <- makes project pip installable (pip install -e .) so src can be imported
├── src <- Source code for use in this project.
│ ├── __init__.py <- Makes src a Python module
│ │
│ ├── data <- Scripts to run vaccination protocols and generate simulation data
│ │ └── __init__.py
│ │ ├── generate_data_optimal_pairs.py <- Submits vaccination protocols for optimal prime-boost pairs.
│ │ ├── generate_phylogenetic_trees.py <- Submits protocols while setting trees flag to true.
│ │ ├── generate_protocol_curves.py <- Submits protocols for all possible prime-boost pairs.
│ │ ├── generate_sequential_cocktail.py <- Submits sequential and cocktail protocols.
│ │ ├── gillespie_models.py <- Contains Gillespie Model Classes.
│ │ ├── procedures.py <- Contains Procedure Classes.
│ │ ├── simulation_setup.py <- Contains bnAb classes for setting up breadth space simulations.
│ │ ├── ssc_setup.py <- Contains SSC classes for setting up bnAb simulations in SSC.
│ │
│ ├── data_process <- Modules for post-processing simulation data generated by gillespie protocols
│ │ └── __init__.py
│ │ ├── build_trees.py <- Builds phylogenetic trees from sequential data.
│ │ ├── optimal_sigma_pairs.py <- Script for finding optimal pairs in protocols.
│ │ ├── simulation_post_process.py <- Post-processing script for immune protocol simulations.
│ │ ├── total_bnabs_post_process.py <- Calculates survival fraction and total bnAb titers
│ │ ├── trajectories_post_process.py <- Computes success probabilities for optimal prime boost pairs.
│ │
│ ├── general <- General functions used for directory handling and queuing
│ │ └── __init__.py
│ │ ├── directory_handling.py <- Functions for loading data and making directories to run simulations.
│ │ ├── io_handling.py <- Functions for loading and writing pickle files.
│ │ ├── queuing.py <- Functions for generating qsub and sbatch files for cluster submission.
│ │
│ ├── visualization <- Scripts used for plotting and visualizing data
│ │ └── __init__.py
│ │ ├── analyze_trajectories.py <- Modules for computing entropy distributions.
│ │ ├── visualize_fitness.py <- Modules for plotting protocol curves.
│ │ ├── visualize_phylogenetic_trees.py <- Script for plotting phylogenetic trees from pickled data file.
│
└── tox.ini <- tox file with settings for running tox; see tox.testrun.org
Project based on the cookiecutter data science project template. #cookiecutterdatascience