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
Repository
3D computational model for lipid membranes
Basic Info
- Host: GitHub
- Owner: RangamaniLabUCSD
- License: mpl-2.0
- Language: C++
- Default Branch: main
- Homepage: https://rangamanilabucsd.github.io/Mem3DG/
- Size: 59.3 MB
Statistics
- Stars: 22
- Watchers: 3
- Forks: 11
- Open Issues: 5
- Releases: 2
Topics
Metadata Files
README.md
Membrane Dynamics in 3D using Discrete Differential Geometry (Mem3DG)
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:
- Geometry-Central, the core mesh data structure
- libigl, some geometry input generation
- pybind11, for Python-C++ interoperability
- Polyscope, trajectory visualization GUI
- PCG, random number generation
- NetCDF-cxx4, binary trajectory I/O
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
- Website: https://sites.google.com/eng.ucsd.edu/prangamani
- Twitter: RangamaniUCSD
- Repositories: 8
- Profile: https://github.com/RangamaniLabUCSD
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
Top Committers
| Name | 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
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.
- Homepage: https://github.com/RangamaniLabUCSD/Mem3DG
- License: MPL-2.0
-
Latest release: 0.0.5a1
published about 4 years ago
Rankings
Dependencies
- cmake >=3.12
- numpy *
- pybind11 *
- pytest *
- scikit-build *
- 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 *
- 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
- actions/checkout v2 composite