pymem3dg

3D computational model for lipid membranes

https://github.com/rangamanilabucsd/mem3dg

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 6 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary

Keywords

discrete-differential-geometry membrane simulation
Last synced: 9 months ago · JSON representation ·

Repository

3D computational model for lipid membranes

Basic Info
Statistics
  • Stars: 22
  • Watchers: 3
  • Forks: 11
  • Open Issues: 5
  • Releases: 2
Topics
discrete-differential-geometry membrane simulation
Created over 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Citation

README.md

Membrane Dynamics in 3D using Discrete Differential Geometry (Mem3DG)

Testing and release Zenodo PyPI Conda-forge

Mem3DG is a flexible software package to model the membrane and its dynamics using unstructured meshes. This work is currently under heavy development, please star this repository to follow along!

Installation

The core of Mem3DG is written in C++ with functions exposed to a Python interface using pybind11. The python interface and helper utilities for visualization and analysis are bundled together into a python package called pymem3dg. pymem3dg can be obtained using pip (pip install pymem3dg) or conda (conda install pymem3dg) from their respective repositories. For the majority of users who wish to develop models, this is the recommended installation procedure.

Dependencies

We acknowledge the use of helpful external libraries including:

While the majority of these libraries are either included in this repository

Building for development

For advanced users who seek to modify the code, develop simulations in C++ directly, or produce/link to Mem3DG shared libraries, Mem3DG can be configured and built using CMake. After cloning the repository, initialize submodules and their dependencies, and follow the standard CMake out-of-source configuration and build procedures.

bash git submodule update --init --recursive mkdir build cd build cmake -DWITH_NETCDF=ON -DCMAKE_BUILD_TYPE=Release .. cmake --build . --config Release

There are several CMake options which you can configure. Further options can be discovered by inspecting the CMakeLists.txt or using a utility like ccmake or cmake -LAH. These options can be passed during the configuration step (e.g., -DWITH_NETCDF=ON). cmake option(BUILD_PYMEM3DG "Build the python extensions?" ON) option(WITH_NETCDF "Build with NetCDF (binary trajectory output)?" ON) option(BUILD_MEM3DG_DOCS "Configure documentation" OFF) option(M3DG_GET_OWN_EIGEN "Download own Eigen" ON) option(M3DG_GET_OWN_PYBIND11 "Download own pybind11" ON) option(WITH_LIBUNWIND "Link libunwind for stack traces" OFF) option(WITH_OPENMP "Build with OpenMP support" OFF) option(LINK_PROFILER "Link profiler gperftools" OFF) option(MEM3DG_PEDANTIC "Be extremely pedantic while compiling" OFF)

Building pymem3dg

While the pymem3dg extension module can be built directly with CMake, packaging and installing in a matter which conforms with guidelines from the Python packaging authority is best done using python tooling. We use scikit-build-core to bridge between CMake and the Python build system. Typical Python metadata and details are specified in pyproject.toml.

pymem3dg can be built and installed by using pip from the root of this repository. bash git submodule update --init --recursive pip install -v . Extra dependencies for building the documentation and tests can be installed as well pip install -v .[docs,tests]. Other options can be passed to CMake by modifying config-settings in pip. pip install . --config-settings=cmake.build-type="Debug"

Acknowledging your use of Mem3DG

Mem3DG is developed by Cuncheng Zhu, Christopher T. Lee, with contributions from others. Development of Mem3DG is funded in part by AFOSR MURI FA9550-18-1-0051, and a Hartwell Foundation Postdoctoral Fellowship.

Owner

  • Name: RangamaniLabUCSD
  • Login: RangamaniLabUCSD
  • Kind: organization
  • Location: San Diego, CA

Laboratory for Computational Cellular Mechanobiology

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite it as below.
title: Membrane Dynamics in 3D using Discrete Differential Geometry (Mem3DG)
abstract: This library performs 3D membrane simulations
authors:
- family-names: "Zhu"
  given-names: "Cuncheng"
  orcid: https://orcid.org/0000-0003-1373-3492
- family-names: "Lee"
  given-names: "Christopher T."
  orcid: https://orcid.org/0000-0002-0670-2308
- family-names: "Rangamani"
  given-names: "Padmini"
  orcid: https://orcid.org/0000-0001-5953-4347
version: 0.0.6-rc3
doi: 10.5281/zenodo.10359392
date-released: 2023-12-11
url: https://github.com/RangamaniLabUCSD/Mem3DG/
preferred-citation:
  type: article
  authors:
  - family-names: "Zhu"
    given-names: "Cuncheng"
    orcid: "https://orcid.org/0000-0003-1373-3492"
  - family-names: "Lee"
    given-names: "Christopher T."
    orcid: "https://orcid.org/0000-0002-0670-2308"
  - family-names: "Rangamani"
    given-names: "Padmini"
    orcid: "https://orcid.org/0000-0001-5953-4347"
  doi: "10.1016/j.bpr.2022.100062"
  journal: "Biophysical Reports"
  month: 09
  start: 1 # First page number
  end: 32 # Last page number
  title: "Mem3DG: Modeling Membrane Mechanochemical Dynamics in 3D using Discrete Differential Geometry"
  issue: 3
  volume: 2
  year: 2022

GitHub Events

Total
  • Issues event: 1
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 1
  • Member event: 1
  • Push event: 36
  • Pull request review event: 3
  • Pull request event: 11
  • Create event: 10
Last Year
  • Issues event: 1
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 1
  • Member event: 1
  • Push event: 36
  • Pull request review event: 3
  • Pull request event: 11
  • Create event: 10

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 624
  • Total Committers: 6
  • Avg Commits per committer: 104.0
  • Development Distribution Score (DDS): 0.619
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
cuzhucuncheng c****u@u****u 238
cuncheng zhu z****g@g****m 222
Chris Lee c****e@u****u 138
zhucuncheng@gmail.com c****u@c****e@c****u 23
Christopher Lee c****e@U****U 2
SergeDmi s****f@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 44
  • Total pull requests: 32
  • Average time to close issues: 8 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 5
  • Total pull request authors: 3
  • Average comments per issue: 0.34
  • Average comments per pull request: 0.03
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 20 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • CunchengZhu (24)
  • ctlee (17)
  • jameslawkc (1)
  • spratuangtham (1)
  • SergeDmi (1)
Pull Request Authors
  • ctlee (37)
  • CunchengZhu (3)
  • suikarum1 (1)
  • SergeDmi (1)
Top Labels
Issue Labels
enhancement (2) bug (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
conda-forge.org: pymem3dg

PyMem3DG performs membrane simulations.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Average: 45.5%
Forks count: 46.0%
Stargazers count: 50.9%
Dependent packages count: 51.2%
Last synced: 10 months ago

Dependencies

requirements.txt pypi
  • cmake >=3.12
  • numpy *
  • pybind11 *
  • pytest *
  • scikit-build *
docs/rtd-requirements.txt pypi
  • docutils ==0.16
  • jupyter_sphinx ==0.3.1
  • markupsafe ==2.0.1
  • nbsphinx ==0.8.5
  • numpy *
  • pytest ==6.2.3
  • scikit-build *
  • sphinx ==4.0.2
  • sphinx-issues ==1.2.0
  • sphinx_rtd_theme *
.github/workflows/ci.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • lukka/run-vcpkg v6 composite
  • peaceiris/actions-gh-pages v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/doc_versioning.yaml actions
  • actions/checkout v2 composite
pyproject.toml pypi
setup.py pypi
libraries/pcg/LICENSE.spdx swiftpm