Skip to content

Latest commit

 

History

History
72 lines (45 loc) · 3.02 KB

File metadata and controls

72 lines (45 loc) · 3.02 KB

DNA_protein_models

This repository contains models, analysis scripts, and example notebooks used to simulate protein binding to DNA (both specific and non-specific sites), formation of dimers and higher-order oligomers, and related analyses and plots used in the project figures.

Contents

  • Figure1-simulationDemo/, Figure2-DNA/, Figure3-DNA+targ/, Figure4-DNA+clusTarg-ProteinConcentration/, Figure6-NERDSS+Experiment/, Figure7-summary/ — notebooks and data used to generate figures and demos.
  • Gillespie/, odeSolver/ — simulation scripts and small drivers for stochastic and deterministic simulations.
  • myutils/ — utility modules used across notebooks and scripts (parsing, plotting helpers, theory calculations).
  • Parameters_rateEquations.xlsx — parameter tables used to configure simulations.
  • SI-Figures/ — supplementary figures and supporting data.

Quick start

  1. Install a Python 3.8+ environment (recommended: virtualenv or conda).

  2. Install dependencies (common packages used by the notebooks and scripts):

    • numpy, scipy, pandas, matplotlib, seaborn
    • jupyter (for running the notebooks)

    You can install these with pip, for example:

    pip install numpy scipy pandas matplotlib seaborn jupyter

Gillespie simulations

To run the Gillespie stochastic simulations, change to the Gillespie/ directory and run:

python main.py

The script will print instructions and options for configuring and launching the simulations. To match the setup of three environments, in Gillespie simulations, one needs to specify "the number of targets clustered" as following:

Enter the number of targets clustered: 0 # DNA environment, no targets in Gillespie simulations
Enter the number of targets clustered: 1 # DNA+targ environment, separated targets
Enter the number of targets clustered: 2 # DNA+clusTarg environment, clustered targets

NERDSS simulations

To run the NERDSS simulations, please find runjobs.sh scripts in the directory of a NERDSS project.

!!! IMPORTANT !!!

Replace "<nerdss executable>" in the line of cp "<nerdss executable>" ./nerdss with the compiled NERDSS executable. By default, after compile, it's in your dowloaded NERDSS folder: bin/nerdss.

Project notes and conventions

  • Notebooks are used for exploratory analysis and figure generation. Scripts under Gillespie/ and odeSolver/ can be run from the command line for batch simulations.
  • Utility code is under myutils/. If you encounter import errors when running notebooks, add the repository root to the notebook by sys.path.append(<this repository root>) from the repository root.
  • Large data files (PDBs, simulation outputs) are kept inside figure folders; some heavy datasets may be omitted from version control.

License

See the LICENSE file in the repository root.

Contact

If you need help running the notebooks or want reproducibility advice, please open an issue or contact the project maintainer.