User Tools

Site Tools


Writing /users/jbklauda/pub/wiki/data/cache/c/c2d634e7d90f5f64282f703dc48dec24.captchaip failed
lipid_wobble

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lipid_wobble [2018/05/31 14:06] – adminlipid_wobble [2026/08/13 22:06] (current) – [Step 2: Run Scripts] edit
Line 3: Line 3:
 ======Brief instruction to obtain lipid wobbble correlation times====== ======Brief instruction to obtain lipid wobbble correlation times======
  
-Authors: Xiaohong Zhuang, Viviana Monje and Dr. Jeffery B. Klauda +Authors: Xiaohong Zhuang, Viviana Monje and Dr. Jeffery B. Klauda 
 +Updated by Eric Zhang to handle any lipid type automatically
  
 This brief instruction is used to calculate the time scale of lipid wobble, which describes the lipid mobility, and by calculating the correlation time (tau) of the cross-tail vectors of glycerol phospholipids (C22-C32) or sphingolipids (C4S-C2F). This could be adjusted to any vector of interest by changing the atom selection This brief instruction is used to calculate the time scale of lipid wobble, which describes the lipid mobility, and by calculating the correlation time (tau) of the cross-tail vectors of glycerol phospholipids (C22-C32) or sphingolipids (C4S-C2F). This could be adjusted to any vector of interest by changing the atom selection
  
-Download scripts: {{ ::wob-s.tar.gz |}}\\ +Download Legacy Scripts: {{ ::wob-s.tar.gz |}}\\ 
-Download example: {{ :wob-e.tar.gz |}}+Download Legacy Example: {{ :wob-e.tar.gz |}}\\ 
 +Download Modern Python Scripts: {{ :asym_lip_wobble.tar.gz |}}\\ 
 +Download Modern Python Example: {{ :asym_lip_wobble_eg.tar.gz |}}\\
  
 +If on ZT1, use the files in the following directory: /afs/shell.umd.edu/project/energybio/shared/jbklauda/scripts/lip_wobble/
 +
 +Below, is the instructions to use the legacy scripts. Scroll down further to get instructions on the modern python workflow.
 =====Calculate the correlation function===== =====Calculate the correlation function=====
  
Line 92: Line 98:
  
  
 +=====bilayer wobble=====
 +
 +Please make the following edits to adjust the code for individual lipids to all glycerol lipids. (Sphino lipids would need to be calculated separately, by adjusting the cross-chain vector atom selection in **correl.csh**)
 +
 +1. **set-range.str**
 +
 +a. delete or comment out the following line. No need to specify lipid if for overall bilayer wobble
 +<code commend>
 +! set rn = xxx
 +</code>
 +b. change lipid count/selection. With //type C32//, we are able to select all glycerol lipids.
 +<code commend>
 +if @type .eq. G then
 +        define lipid select type C32 end     ! all glycerol lipids
 +</code>
 +2. **cross-*.inp**
 +
 +a. change vector atom selection line.
 +
 +change this line 
 +<code commend>
 +enter v@K vect xyz MEMB @R @atm1 MEMB @R @atm2
 +</code>
 +to 
 +<code commend>
 +enter v@K vect xyz sele resid @R .and. (type @atm1 .or. type @atm2) end
 +</code>
 +
 +3. everything else the same as above sections
 +
 +======Modern Python Workflow======
 +This workflow mirrors the old setup, but includes scripts that dynamically set up CHARMM files based on your membrane setup. I've also included many advanced options when fitting exponentials, most of which may not be needed. A detailed outline of the scripts is also included in a dev notes file, in case you want to modify them. Feel free to message ezhang32@umd.edu for any questions/clarifications about the scripts. Examples for all steps can be found in asym_lip_wobble_eg at the start.
 +
 +=====Step 1: Define System Parameters=====
 +Open ''config.py''. This file contains everything you need to edit based on your system and/or preferences. First, check the contents of cross_tail_dict. This dictionary/map specifies the atom pair that defines your cross-tail vector. By default, it includes selections for glycerophospholipids (GL), sphingolipids (SL), and lipid A (LIPA). You can customize it by adding your own (lipid type, atom pair list) entry, as I did with NAAA. The atoms should sit on separate acyl chains, be at roughly the same z-level, and be near the base of the chain. 
 +
 +Next, modify/populate the dictionary called config_dict, which contains subdirectories defining the lipid residues, top leaflet counts, and bottom leaflet counts for each residue. If a lipid only exists in one leaflet, just set that count to 0 in the appropriate subdirectory. 
 +
 +Next, edit the workspace fields by specifying your charmm/dyn directories and your equilibrated DCD range (as wide as possible). 
 +
 +Finally (Optional), specify what kind of analysis you want by adjusting the fields. The default implementation used in prior publications is a 2nd-order exponential fit, an unweighted fit, with 75% of the data untruncated. There are a lot of other options, which are explained inside the file via comments.
 +
 +=====Step 2: Run Scripts=====
 +Run ''0_setup.py''. This generates your CHARMM scripting files. Double-check that there are no errors.
 +
 +Next, run ''1_correl.scr''. This submits your Slurm jobs for the CHARMM scripts. This is usually pretty quick and can take anywhere from minutes to an hour.
  
 +Next, run ''2_analysis.py.'' This creates a results folder which holds all of the generated plots and wobble_results.txt, which contains your wobble parameters. I suggest playing around with the analysis fields in config.py to see how your results change. 
  
 +If these fits fail or give unphysical results, ask Professor Klauda for advice. But in general, boundary-pinning errors indicate you don't have enough data (the graph looks like it decays to zero, but a proper correlation function should plateau). You can try adjusting the truncated window to capture more or less of the data. For more rigid systems, 3rd-order exponential fitting may be preferred, and/or you can raise the upper bounds manually by editing the "tau1_ub" variable inside src/utils/analysis_utils.py (the lower bound is 0, which should not be touched). Using weighted least squares is a fancy alternative that enables you to use most of the data with minimal, if any, truncation in scenarios where data is limited. Unweighted least squares seems to be what is reported in the literature in most cases.
  
lipid_wobble.1527790012.txt.gz · Last modified: 2018/05/31 14:06 by admin