SkillAgentSearch skills...

LipidDyn

repository associated to our pipeline for lipid dynamics

Install / Use

/learn @ELELAB/LipidDyn
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Cancer Structural Biology, Danish Cancer Society Research Center, 2100, Copenhagen, Denmark

Cancer Systems Biology, Health and Technology Department, Section for Bioinformatics, 2800, Lyngby, Denmark

LipidDyn: A computational microscope to scrutinize membrane properties at the organelle-level

If you use the tool, please cite:<br/>

Unravelling membrane properties at the organelle-level with LipidDyn

Simone Scrima, Matteo Tiberti, Alessia Campo, Elisabeth Corcelle-Termeau, Delphine Judith, Mads Moller Foged, Knut Kristoffer Bungaard Clemmens, Sharon A Tooze, Marja Jaattela, Kenji Maeda, Matteo Lambrughi*, Elena Papaleo*

Comput. Struct. Biotechnol. J. 2022 Jun 30;20:3604-3614. doi: 10.1016/j.csbj.2022.06.054 PMID: 35860415 PMCID: PMC9283888 <br/>

contacts: tiberti-at-cancer.dk, matl-at-cancer.dk, elenap-at-cancer.dk, elpap-at-dtu.dk

We have built an automated computational pipeline, implemented in Python 3.8, LipidDyn, for the accurate analysis of the structural properties and dynamics of lipid bilayers simulations that can be used to validate the ensembles against experimental data.<br/> <br/> The framework is divided into different modules that can be run separately, depending on the user choice.<br/> Each performs a different set of analysis on both full-atom and coarse-grained systems.<br/> Moreover, the pipeline is able to account for embedded proteins into the membrane. <br/> <br/> At the present state is designed to work with GROMACS files. In order to be installed and work, LipidDyn requires Python version >= 3.8. The workflow was successfully installed and tested using Ubuntu v18.04 Bionic Beaver -XXX and MacOs 10.15 MacOs 12.1 Monterey.

Set of Analysis

Thickness and Area per Lipid

The membrane thickness and area per lipid are two parameters used to validate or compare molecular dynamics simulations of lipids [1] <br/> In this step we employed FatSlim software that relies on the calculation of local normals for the estimation of the parameters [2], making it very efficient in terms of both execution speed and memory consumption.<br/>

2D density maps

2D density maps are a visual representation of how the density of the membrane change along the simulation time. These are computed for each leaflet constituting the bilayer, giving insight on the system phase. <br/>

Enrichment/Depletion Analysis

When proteins are embedded in a lipid bilayer they modulates their local lipid environment.<br/> This happens through enrichment or depletion of specific lipid residues, that may result in thickness and curvature modifications.<br/> This step was implemented as presented in [3].

Diffusion movements

With this analysis the motions of the lipid residues of the system are investigated. All the coordinates are extracted to define “maps” that can be used to explore specific lipid clusters.<br/>

Order parameter

The deuterium order parameter is a measure for the orientational mobility of the bonds between the carbon and hydrogen atoms of the acyl chain of the lipids. It is used for estimating the overall order of the membrane and details of the conformations that the atoms in the lipid tails adopt. <br/> The calculation of the Order Parameter is done for full-atom systems taking into account the SCH parameter based on the algorithm originally developed by J. Melcr. with the contribution from H. Antila for NMRlipids project and readapted for the purpose of this work [4]. For coarse-grained systems, the Order Parameter SCC is computed. Its implementation is based on the usage of the Lipyphilic class SCC() [5]. <br/>

Membrane Curvature

This analysis tool allows the investigation of how lipid composition and membrane proteins generate membrane curvature. It provides visual representation of how the shape and curvature of the membrane changes along the simulation time. The surface, mean curvature and Gaussian curvature values are computed for each leaflet constituting the bilayer, and the graphical outputs consist of average plots for all frames in the trajectory as well as single- and multi-frame graphical outputs. The latter reveal the frame-by-frame alterations in membrane curvature.

Protein-lipid interaction

Tracks and measures the contacts between the defined protein group and the lipids, calculating the depletion-enrichment factor, that compares the concentration of lipid species around the protein with that in the system.

Lipid scrambling

Tracks and measures the z-coordinate of lipids, comparing it to an estimation of the membrane surface. Allows to easily identify lipids changing from one leaflet to another and tracks their contacts with the protein (if present). Both estimation of the surface and tracking of z-coordinate are performed based on the lipid headgroup position.

Installing LipidDyn UNIX users

These instructions will get you a copy of the project running on your machine.

Setup of the virtual environment

In a directory of the user's choice open a terminal and type:

virtualenv "LipidDyn_env" -p /usr/bin/python3.8

Once created activate the environment with:

source LipidDyn_env/bin/activate

N.B. <br/> To check if the virtual environment is activated see if the name of the enviroment is visible on the terminal

Prerequisites

Install numpy with:

pip install numpy==1.23.5
pip install packaging

Install LipidDyn with:

git clone https://github.com/ELELAB/LipidDyn.git
cd LipidDyn/
python setup.py install
cd ../

N.B.<br/> All the softwares and libraries required to work are automatically installed when running python setup.install and they are listed below:

FatSlim
MDAnalysis
matplotlib
seaborn
pyyaml
lipyphilic

In case you want to deactivate the virtual environment just type the following command into the terminal.

deactivate

Installing LipidDyn MacOS users

To install the pipeline on pc with MacOS installed, the user should follow these passages:

Install Anaconda environment

To install Anaconda environment we refer to the official page of Anaconda with alle step by step instructions:

https://docs.anaconda.com/anaconda/install/mac-os/

Once installed the user needs to activate the environment on a terminal with :

conda activate base

Setup of the virtual environment

Create the virtual environment using :

python -m venv "LipidDyn_env"

Once created activate the environment with:

source LipidDyn_env/bin/activate

Then proceed normally as explained above :

pip install numpy
pip install packaging
git clone https://github.com/ELELAB/LipidDyn.git
cd LipidDyn/
python setup.py install
cd ../

N.B.<br/> In order to use LipidDyn and all its tools the user must activate the virtual environment each time.

Configuration file

LipidDyn provides the usage of configuration files designed to work with full-atom and coarse-grained systems. The supported format is .yml.

Besides giving insight on how the lipid categories and atoms selections are handled by the program, it can also be edited by the user to run the analysis according to the system requirements. <br/>

Referring to the configuration files provided by LipidDyn as templates and designed for full-atom (FA) and coarse-grained (CG) systems, we describe here the structure and the usage of the different levels by which they are defined: <br/>

  1. lipids: the user can add lipid categories if missing in this section of the config file. <br/>
  2. protein: protein atoms selection can be specified.
  3. lipid headgroups: for each lipid category the user has to define the lipid headgroup atoms for the definition of the bilayer system within the program; <br/>
  4. lipid bulk_ratio: for each lipid type the user can insert the ratio in bulk of each lipid for enrichment maps calculation. If not provided it will be computed by the program. Since the ratio in bulk is a value taken only when computing the enrichment analysis it could be specified when a protein is present in the system. <br/>
  5. lipid sn1: and sn2: acyl chains: for CG systems only, the user can define the CC-atom pairs to be used for the SCC order parameter calculation. <br/>
  6. forcefield: specify if the system analysed has been simulated in CG or FA forcefield. <br/>
  7. interaction_domains: additive list of items that indicate which residues of the protein to use in the protein-lipid interaction and scrambling module. Two dash-separated integers are interpreted as a range of residue indices. Any other string is interpreted as a MDAnalysis selection command. Defaults to None, which indicates to use the full protein. N.B. Remember to define protein, as the selection will be performed on the resulting group. <br/>
  8. interaction_cutoff: float indicating interaction cutoff. Atoms within the cutoff distance (in Å) will be regarded as contact for the protein-lipid interaction module. Defaults to 6 Å. <br/>
  9. interaction_by_res: any. If defined with a True value (e.g., 1), computes depletion-enrichment factor for each residue in the selection for the protein-lipid interaction module. This can be very cpu intensive and slow for large selections. <br/>
  10. scrambling_lipids list of lipid residue names to analyse for scrambling. If not defined, every lipid is analyzed. <br/>
  11. scrambling_reg_params int representing the polynomial degree of the function employed to estimate the membrante surface. Defaults to 4, that results in fairly smooth simple grooves. 0 results in a flat surface paralell to x-y plane, and 1 in a flat oriented surface.
  12. scrambling_upper_z: and scrambling_upper_rel_z: float boundary to define scrambling. If at a given frame, a lipid is above the given value, it is considered to be on the upper side of the membrane. If both are defined, both need to be fulfilled (logical and); if neither is

Related Skills

View on GitHub
GitHub Stars15
CategoryDevelopment
Updated7mo ago
Forks4

Languages

Python

Security Score

82/100

Audited on Aug 19, 2025

No findings