Skip to content

JohnsonBiophysicsLab/DNA_protein_models

Repository files navigation

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.

About

Models to simulate protein binding to specific and nonspceific DNA, forming protein dimers and oligomers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •