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+)

Overview

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 two on-the-fly trajectory transformations to i) fix membranes split across periodic boundaries and ii) perform nojump coordinate unwrapping. These tools position lipyphilic as complementary to, rather than competing against, existing membrane analysis software such as MemSurfer and FatSlim.

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

Installation

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.

Citing

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 lipyphilic.readthedocs.io, where you will find the full documentation of lipyphilic’s API as well as examples of how to use the analysis tools.

Acknowlegment

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

LiPyphilic CHANGELOG

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.

Source Distribution

lipyphilic-0.7.0.tar.gz (905.4 kB view hashes)

Uploaded Source

Built Distribution

lipyphilic-0.7.0-py3-none-any.whl (110.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page