Skip to main content

Analyse MD simulations of lipids with python

Project description

A Python toolkit for the analysis of lipid membrane simulations

lipyphilic is free software licensed under the GNU General Public License v2 or later (GPLv2+)


lipyphilic is a set of tools for analysing MD simulations of lipid bilayers. It is an object-oriented Python package built directly on top of MDAnalysis, and makes use of NumPy and SciPy for efficient computation. The analysis classes are designed with the same interface as those of MDAnalysis - so if you know how to use analysis modules in MDAnalysis then learning lipyphilic will be a breeze.

Analysis tools in lipyphilic include: identifying sterol flip-flop events, calculating domain registration over time, and calculating local lipid compositions. lipyphilic also has three on-the-fly trajectory transformations to i) fix membranes split across periodic boundaries and ii) perform nojump coordinate unwrapping and iii) convert triclinic coordinates to their orthorhombic representation.

These tools position lipyphilic as complementary to, rather than competing against, existing membrane analysis software such as MemSurfer and FatSlim.

Interactive tutorials

We recommend new users take a look out our interactive tutorials. These will show you how to get the most out of lipyphilic

Basic Usage

Alternatively, check out the Basic Usage example to see how to use lipyphilic, and see the Analysis tools section for detailed information and examples on each tool.


The easiest way to install lipyphilic along with its dependencies is through Conda:

conda config --add channels conda-forge
conda install lipyphilic

See the installation guide for futher information.


If you use lipyphilic in your project, please cite MDAnalysis and if you use the Area Per Lipid tool please also cite Freud.

There is currently no paper describing lipyphilic, but we’re working on it. In the meantime, if you like what we do, please tell everyone you know to check out lipyphilic! And if there are things you think we could improve, features you would like to see added, or pesky bugs that need to be fixed, please raise an issue on github.

Full documentation

Head to, where you will find the full documentation of lipyphilic’s API as well as examples of how to use the analysis tools.


The respository structure of lipyphilic is based on the PyLibrary Cookeicutter template.


0.9.0 (2021-09-02)

  • PR#78 Min MDAnalysis version increased to 2.0

0.8.0 (2021-07-31)

  • PR#74 Add the triclinic_to_orthorhombic transformation in order to support analysis of triclinic systems

0.7.0 (2021-07-03)

  • PR#70 Remove support for Python 3.6
  • PR#69 Change MSD lagtimes to be in ns rather than ps. Fix nojump unwrapping for the first frame.

0.6.3 (2021-05-09)

  • PR#60 AssignLeaflets and AssignCurvedLeaflets inherit from shared leaflet analysis base class
  • PR#59 Ensure SCC.weighted_average can handle different sized sn1 and sn2 residue groups.
  • PR#56 Update docs

0.6.2 (2021-04-18)

  • PR#54 Fixed typos in docs
  • PR#53 Improved performance of lipyphilic.lib.flip_flop.FlipFlop
  • PR#52 Improved performance of lipyphilic.lib.neighbours.Neighbours (Fixes #51)

0.6.1 (2021-04-16)

  • PR#49 Add min_diff argument to transformations.center_membrane
  • PR#48 Add MDAnalysis badge to README and fix typos in the docs
  • PR#47 Fixed typos in docs

0.6.0 (2021-03-26)

  • PR#44 Refactor the Registration analysis to have a more useful API
  • PR#43 Add a method for calculating the lipid enrichment/depletion index
  • PR#42 Add a MSD and lateral diffusion analysis, as well as a transformation to perform “nojump” unwrapping.
  • PR#39 Add support for assigning lipids to leaflets of highly curved membranes

0.5.0 (2021-03-16)

  • PR#38 Add a trajectory transformation for unwrapping broken membranes (Fixes #37)
  • PR#36 Add method for projecting areas onto the membrane plane (Fixes #33)
  • PR#35 Added a tool for calculating membrane thickness (Fixes #34)
  • PR#32 ZThickness.average() now returns a new ZThickness object rather than a NumPy array
  • PR#31 SCC.weighted_average() now returns a new SCC object rather than a NumPy array
  • PR#30 Add class for plotting projections of membrane properties onto the xy plane.
  • PR#29 Added plotting of joint probability distributions or PMFs (Fixed #28).

0.4.0 (2021-03-05)

  • PR#26 Added a tool to calculate the thickness of lipids or their tails (Fixes #25)
  • PR#24 Added a tool to calculate the coarse-grained order parameter (Fixes #23)
  • PR#22 Added a tool to calculate orientation of lipids in a bilayer (Fixes #20)
  • PR#21 Added a tool to calculate lipid height in a bilayer (Fixes #19)
  • Better description of analysis tools in the docs
  • Updated installation instructions, including installing via conda-forge

0.3.2 (2021-02-27)

  • Fix typo in requirements

0.3.1 (2021-02-27)

  • Add support for numpy 1.20

0.3.0 (2021-02-26)

  • Fix neighbour calculation for non-sequential residue indices Fixes #11
  • Added a tool to calculate interleaflet registration

0.2.0 (2021-02-23)

  • Improved documentation
  • Add method to count number of each neighbour type
  • Add functionality to find neighbouring lipids

0.1.0 (2021-02-17)

  • Add functionality to find flip-flop events in bilayers
  • Add functionality to calculate area per lipid
  • Add functionality to find assign lipids to leaflets in a bilayer

0.0.0 (2021-02-08)

  • First release on PyPI.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lipyphilic, version 0.9.0
Filename, size File type Python version Upload date Hashes
Filename, size lipyphilic-0.9.0-py3-none-any.whl (112.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size lipyphilic-0.9.0.tar.gz (909.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page