Writing /users/jbklauda/pub/wiki/data/cache/6/6193a558dc90ed4c190004bf67ecff70.captchaip failed
comp-sa
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| comp-sa [2026/06/08 15:57] – [Multi-lipid SA Average] edit | comp-sa [2026/09/03 09:56] (current) – [Step 1: edit config.py] edit | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| Updated Authors: Yalun Yu and Jeffery Klauda\\ | Updated Authors: Yalun Yu and Jeffery Klauda\\ | ||
| Updated rtfpsf folder: Joshua Lucker \\ | Updated rtfpsf folder: Joshua Lucker \\ | ||
| - | Updated to support asymmetric bilayers: Eric Zhang (In Progress) | + | Completely refactored, supports any membrane: Eric Zhang |
| - | Note: scroll past the earlier instructions to see the workflow for asymmetric bilayers. If there are any questions or issues with the code, reach out to ezhang32@umd.edu (may need fine-tuning). | + | All new users should use the modern Python |
| - | The script is in ZT1 path: **/ | + | Legacy scripts are in ZT1 path: **/ |
| or using zip file: {{ area_mult_lipids.gz |}} | or using zip file: {{ area_mult_lipids.gz |}} | ||
| - | The script for asymmetric systems is in the zip file : {{ area_asym_lipids.tar.gz |}} | + | Modern Python scripts can be found here: {{ area_asym_lipids.tar.gz |}} |
| - | **How to Edit and Run the Scripts (Symmetric Bilayer Only):** | + | **How to Edit and Run the Scripts (Legacy Instructions, |
| **Edit the scripts:** \\ | **Edit the scripts:** \\ | ||
| Line 167: | Line 167: | ||
| Check that the system go to equilibrium by comparing the distribution data, and adjust the dyn file range when necessary. Also check the distribution, | Check that the system go to equilibrium by comparing the distribution data, and adjust the dyn file range when necessary. Also check the distribution, | ||
| - | ** Modified | + | =====Modern Python |
| + | This workflow is designed to work for any symmetric, asymmetric membrane system. The current copy available for download has predefined inputs for Charmm' | ||
| - | **1. edit system_setup.py **\\ | + | Note: anytime you run into "no permission" |
| - | '' | + | |
| - | Let’s start with the top leaflet. Identify how many lipid classes it has. Each lipid class has a resname and type prefix. | + | ====Step 1: edit config.py==== |
| - | ^ Class ^ Resn Prefix ^ Type Prefix ^ Typical Lipids ^ | + | Open '' |
| - | | Sterol | '' | + | |
| - | | Glycerophospholipid | '' | + | |
| - | | Ornithine lipid | '' | + | |
| - | | Sphingolipid | '' | + | |
| - | | 4-chained lipid A | '' | + | |
| - | | 5-chained lipid A | '' | + | |
| - | | 6-chained lipid A | '' | + | |
| - | | 7-chained lipid A | '' | + | |
| - | **(i) Edit the counts dictionary: | + | I embedded a lot of error handling |
| - | + | ||
| - | Example: | + | Example Membrane with just POPE/POPG lipids |
| < | < | ||
| - | ' | + | config_dict = { |
| - | 'ctype': | + | 'MEMB':['POPE',' |
| - | }, | + | } |
| + | |||
| + | # ignore the current config_dict in the files with lipids like 'AIPE' | ||
| </ | </ | ||
| - | **(ii) Edit the resnames dictionary: | ||
| - | Example: | + | ====Step 2: run scripts==== |
| - | < | + | First, run '' |
| - | ' | + | |
| - | ' | + | |
| - | | + | |
| - | ' | + | |
| - | }, | + | |
| - | </ | + | |
| - | | + | Next, if you left " |
| - | **(iii) Edit the mol_counts dictionary: | + | Next, run '' |
| - | Example: | + | Finally, run '' |
| < | < | ||
| - | ' | + | leaflet resn N_lip Avg_SA |
| - | ' | + | Top AIPE 113 58.3686 |
| - | ' | + | Top AMPG 25 61.0204 |
| - | ' | + | Top LLL 62 52.8182 |
| - | } | + | Bot AIPE 105 58.2105 |
| + | Bot AMPG 37 59.9090 | ||
| + | Bot LLL 58 52.8821 | ||
| + | |||
| + | N_blocks: 20 | ||
| + | N_comp_top: 3 | ||
| + | N_lip_top: 200 | ||
| + | N_comp_bot: 3 | ||
| + | N_lip_bot: 200 | ||
| + | Comp_SA_sum_top: | ||
| + | Comp_SA_sum_bot: | ||
| + | Total_bilayer_SA: | ||
| + | |||
| + | Weighted average across leaflets (by N_lip): | ||
| + | resn N_lip_total | ||
| + | AIPE 218 58.2925 | ||
| + | AMPG 62 60.3571 | ||
| + | | ||
| </ | </ | ||
| - | **(iv) Finalize system setup:** Repeat steps 1-3 for the bottom leaflet and run '' | + | ====Additional Info==== |
| + | At a high level, here's what the scripts are doing. Also, I highly recommend you watch a video on Voronoi tessellation so you can visually understand how the areas are computed. | ||
| - | < | + | **config.py** |
| - | TOP leaflet | + | System definition: segid/ |
| - | AIPE: 7 lipids | + | |
| - | LIPA4: 21 lipids | + | |
| - | LIPA5: 21 lipids | + | |
| - | LIPA6: 21 lipids | + | |
| - | BOT leaflet (NTOT=510): | + | **0_setup.py** |
| - | AIPE: 35 lipids | + | Reads config.py, validates required CHARMM/dyn files, resolves marker atoms per lipid from marker_map, splits the dcd range into blocks, writes system_info.txt. Generates comp_sa.csh from src/ |
| - | AMPG: 27 lipids | + | |
| - | DPPC: 51 lipids | + | **system_info.txt** |
| - | LLL: 11 lipids | + | Generated configuration file consumed by all downstream steps: dcd range, marker dictionary, block assignments, |
| - | | + | |
| - | | + | **CHARMM recentering** |
| - | LSM: 10 lipids | + | Recenters raw dcds so the bilayer midplane sits at z=0; output written to recenter/. Runs outside this pipeline; all downstream steps assume it has already been done. |
| - | BSM: 12 lipids | + | |
| - | </code> | + | **1_comp_sa.scr** |
| + | SLURM submission wrapper. Reads block boundaries from system_info.txt, | ||
| + | |||
| + | **comp_sa.csh** | ||
| + | SLURM job script. Sets up the run environment (venv/module) and executes src/ | ||
| + | |||
| + | **src/ | ||
| + | Core computation. Per dcd: loads marker atoms, splits into top/bot leaflets, runs periodic 2D Voronoi tessellation, | ||
| - | Make adjustments as necessary. | + | **2_analysis.py** |
| + | Final averaging step. Reads all raw_voronoi_*.dat files, block-averages each dcd, computes mean/ | ||
| - | ** 2. Run Symmetric Workflow Steps ** | ||
| - | Do steps 2, 4, 7, 8, and 10 from the workflow for symmetric membranes. Everything else can be skipped (handled automatically). | ||
| - | ** 3. Execute Scripts ** | ||
| - | Run script by command: '' | ||
| - | **Note:** '' | ||
comp-sa.1780948669.txt.gz · Last modified: 2026/06/08 15:57 by edit