Metadata-Version: 2.1
Name: lipyphilic
Version: 0.10.0
Summary: Analyse MD simulations of lipids with python
Home-page: https://github.com/p-j-smith/lipyphilic
Author: Paul Smith
Author-email: paul.smith@kcl.ac.uk
License: GPL-2.1-or-later
Project-URL: Documentation, https://lipyphilic.readthedocs.io/
Project-URL: Changelog, https://lipyphilic.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/p-j-smith/lipyphilic/issues
Keywords: lipids,molecular dynamics
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS.rst

==========
LiPyphilic
==========

.. start-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 <https://www.mdanalysis.org/>`__, and makes use of
`NumPy <https://numpy.org/>`__ and `SciPy <https://www.scipy.org/>`__  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
<https://userguide.mdanalysis.org/stable/examples/quickstart.html#Analysis>`__ 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 <https://github.com/LLNL/MemSurfer>`__ and `FatSlim <http://fatslim.github.io/>`__.

Interactive tutorials
=====================

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/p-j-smith/lipyphilic-tutorials/main?filepath=notebooks%2F1-Introduction.ipynb

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 <https://lipyphilic.readthedocs.io/en/stable/usage.html>`__ example to see how to use
**lipyphilic**, and see the `Analysis tools <https://lipyphilic.readthedocs.io/en/stable/reference/analyses.html>`__ 
section for detailed information and examples on each tool.

Installation
============

The easiest way to install **lipyphilic** along with its dependencies is through `Conda
<https://docs.conda.io/en/latest/index.html>`__::

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

See the `installation guide <https://lipyphilic.readthedocs.io/en/stable/installation.html>`__ 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 <https://www.mdanalysis.org/pages/citations/>`__, on which **lipyphilic** is built.
If you use the Area Per Lipid tool please also cite `Freud <https://freud.readthedocs.io/en/stable/reference/citing.html>`__.

.. end-description

Full documentation
==================

Head to `lipyphilic.readthedocs.io <https://lipyphilic.readthedocs.io/en/stable/>`__, 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 <https://github.com/ionelmc/cookiecutter-pylibrary>`__.

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.


