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 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.
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 research, please cite our paper:
@article{LiPyphilic2021, author = {Smith, Paul and Lorenz, Christian D.}, title = {LiPyphilic: A Python Toolkit for the Analysis of Lipid Membrane Simulations}, journal = {Journal of Chemical Theory and Computation}, year = {2021}, volume = {17}, number = {9}, pages = {5907-5919}, doi = {10.1021/acs.jctc.1c00447} }
Please also cite MDAnalysis, on which lipyphilic is built. If you use the Area Per Lipid tool please also cite Freud.
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.
Acknowledgement
The respository structure of lipyphilic is based on the PyLibrary Cookeicutter template.
LiPyphilic CHANGELOG
0.10.0 (2021-12-29)
PR89 Delete temporary files created by tests
PR88 Use GitHub Actions for running tests rather than Travis.
PR#86 Add option to SCC.project_SCC to not unwrap lipids before calculating their center of masses
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lipyphilic-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | baa549c64875e11e3810e95a75ef5418bb6a316d312c52cd31288c1a32b2ee92 |
|
MD5 | ff5da2716a23bfbc74d72a358588240d |
|
BLAKE2b-256 | d40567524c49b307c61f695901bdbcfa95527554dad28d907486437d26d0e6c9 |