Proteins and other inclusions are known to interact with membrane lipids in numerous ways, including through the differential recruitment of particular lipid species, local realignment of lipid tails, and even inducing comparatively long-range deformations of the membrane surface. Coarse Grain Molecular Dynamics (CG-MD) simulations offer an attractive ‘computational microscope’ through which to observe these phenomena. We introduce nougat, a toolkit for quantitative analysis of several measures of interest local to a membrane protein.
VMD
Python3
numpy
matplotlib
warnings
argparse
pathlib
This script can utilize Dr Jerome Henin's vecexpr package to improve the efficiency of binning. It can also make use of his qwrap protocol to speed up initial setup. Please visit the repos below and follow the installation instructions if you wish to enable these features.
github.com/jhenin/qwrap
github.com/jhenin/vecexpr
nougat.tcl will analyze your trajectory in VMD and output .dat files that contain the average height per bin per frame. nougat.py will read in those .dat files to extract:
nougat.py will then generate averages across the trajectory, and output its findings in .dat, .npy, and .pdf files. A pdb file will also be created, allowing the user to explore the average membrane surfaces in 3D in VMD.
Add the correct paths
Edit all of the indicated fields to match your system
cell_prep [path to nougat_config.txt] 1 # the 1 runs a leaflet sorting algorithm on all frames
Is the inclusion (if present) properly centered in your system?
Is the membrane relatively stable in the xy plane?
Color by user with the value 1 and select "Update Selection Every Frame"
Scroll through your trajectory: are you only seeing lipids in the outer leaflet?
Switch to user 2 and repeat; are you only seeing lipids in the inner leaflet?
start_nougat [system name] [path to nougat_config.txt] [dr|Nbins] [Ntheta] [start] [end] [step] [polar]
An explanation of the options is as follows:
- system name the name you want your files/directories to be saved with
- dr | Nbins if using cartesian coords, the number of bins in the x/y directions | if polar coords, the radial bin width in Angstroms
- Ntheta will be ignored if cartesian; the number of bins in the theta direction
- start the frame from which you would like to start analysis
- end the frame where you would like to stop analysis; -1 will run for the whole simulation
- step allows you to skip frames; otherwise use 1
- polar 0 for cartesian system, 1 for polar system
Navigate to the directory created when you ran nougat.tcl.
python3 [path-to]/nougat/plotting/nougat.py [-p for polar]
All results are available as heatmaps saved as pdf files.
You can also load the [system name].avgheight.pdb file into VMD to explore the average surfaces in 3d.