Skip to content

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.

License

Notifications You must be signed in to change notification settings

rganti/Optimal_Protocols_bnAbs

Repository files navigation

Cookiecutter_bnAb_protocols

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.

Data

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

Project Organization

├── 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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages