Skip to main content

MDAnalysis tool to calculate membrane curvature from MD simulations.

Project description

Membrane Curvature

Powered by MDAnalysis GitHub Actions Status codecov docs PyPI

MembraneCurvature is an MDAnalysis tool to calculate membrane curvature from Molecular Dynamics simulations.

Interested in becoming a maintainer? We welcome your passion and expertise to help shape and grow this open-source project! Please contact estefania@ojeda-e.com for more details.

Features

With MembraneCurvature you can:

  • Calculate mean and Gaussian curvature from MD simulations.
  • Derive 2D curvature profiles.
  • Live a happier life.

Installation

The main dependency in MembraneCurvature is MDAnalysis. You can find instructions to install the latest stable version of MDAnalysis via conda in the UserGuide.

MembraneCurvature is available via pip:

pip install membrane-curvature

To install from source:

git clone https://github.com/MDAnalysis/membrane-curvature.git
cd membrane-curvature
conda env create -f devtools/conda-envs/environment.yaml
conda activate membrane-curvature
python setup.py install

Some of the examples included in the MembraneCurvature documentation use test cases from MDAnalysisTests. To install the unit tests via conda:

conda install -c conda-forge MDAnalysisTests

or via pip:

pip install --upgrade MDAnalysisTests

⚠️ In comparison to the previous version, membrane-curvature==0.0.3 shows a significant improvement in performance, particularly notable for membrane-protein systems. Installing the last available version is highly encouraged.

Usage

This is a quick example on how to run MembraneCurvature:

import MDAnalysis as mda
from membrane_curvature.base import MembraneCurvature
from MDAnalysis.tests.datafiles import Martini_membrane_gro

universe = mda.Universe(Martini_membrane_gro)

curvature_upper_leaflet = MembraneCurvature(universe,
                                            select='resid 1-225 and name PO4',
                                            n_x_bins=8,
                                            n_y_bins=8,
                                            wrap=True).run()

# extract mean curvature
mean_upper_leaflet = curvature_upper_leaflet.results.z_surface

# extract mean curvature
mean_upper_leaflet = curvature_upper_leaflet.results.mean

# extract Gaussian
gaussian_upper_leaflet = curvature_upper_leaflet.results.gaussian

In this example, we use the PO4 beads in the upper leaflet as reference to derive a surface and calculate its respective mean and Gaussian curvature.

You can find more examples on how to run MembraneCurvature in the Usage page. To plot results from MembraneCurvature please check the Visualization page.

Documentation

To help you get the most out MembraneCurvature, we have documentation available where you can find:

  • The standard API documentation.
  • Quick examples of how to run Membrane Curvature in the Usage page.
  • Detailed explanation of the Algorithm implemented in MembraneCurvature.
  • Examples on how to plot the results obtained from MembraneCurvature in the Visualization page.

License

Source code included in this project is available in the GitHub repository https://github.com/MDAnalysis/membrane-curvature under the GNU Public License v3 , version 3 (see LICENSE).

MembraneCurvature was developed as a Google Summer of Code 2021 project with MDAnalysis and it is linked to a Code of Conduct.

Copyright (c) 2021-2022, Estefania Barreto-Ojeda

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

membrane_curvature-1.1.0.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

membrane_curvature-1.1.0-py3-none-any.whl (5.5 MB view details)

Uploaded Python 3

File details

Details for the file membrane_curvature-1.1.0.tar.gz.

File metadata

  • Download URL: membrane_curvature-1.1.0.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for membrane_curvature-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7d72d15fa9616c335cf0b9f3463fb8cdbcb6578249116eb7783d7c0713a4b827
MD5 1501fbb052fe32fa381ee22ecd8e80d5
BLAKE2b-256 05ab6f184eac8f5e3c4e8a68d07b20f1a1f7015135efd54f0791e6324957d0f8

See more details on using hashes here.

Provenance

File details

Details for the file membrane_curvature-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for membrane_curvature-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70116b0e8b4ac6153c89f18834f4a3d57fc972b2e5a94c1293b98308ca4cf44e
MD5 960efb1e3f302a30070a7094505630c4
BLAKE2b-256 64af217c9a956094d0a649a724a7dfef3638d9449cecefbfc3fa8cd3e71c2c5e

See more details on using hashes here.

Provenance

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