ionerdss is a Python library that provides user‐friendly tools for setting up and analyzing output from the NERDSS reaction‐diffusion simulator. Its goal is to streamline model building (from PDB files or from scratch), data analysis, and visualization for simulation workflows.
- From PyPI (recommended):
- Python version: 3.9 or later
Create a conda environment (optional but recommended):
Download and install Anaconda or Miniconda, then create a new conda environment for ionerdss:
conda create -n ionerdss python=3.9
conda activate ionerdssInstall the latest release directly from PyPI:
pip install ioNERDSS- From GitHub (for the latest development version):
- If you want to use the latest features or contribute to the development, you can install directly from the GitHub repository:
To install from source (e.g., if you’ve cloned this repo and want the most recent changes):
git clone https://github.com/JohnsonBiophysicsLab/ionerdss.git
cd ionerdss
pip install -r requirements.txt
pip install -e . # Editable mode: updates reflect immediately in the environmentimport ionerdss as ion
ion.some_function() # Replace with actual function calls to set up model and analyze resultsFor extended examples, see the tutorials.
Go to the NERDSS server.
-
User Guide: ionerdss user guide.
-
API Reference: API. You can also build the docs locally using Sphinx:
sphinx-apidoc -o docs/source ionerdss
cd docs
make htmlThen open docs/build/html/index.html in your browser.
ionerdss/
├── .github/workflows/ # Continuous Integration workflows
├── docs/ # Documentation
│ ├── source/ # Sphinx source files
│ ├── make.bat # Windows build script
│ └── Makefile # Unix build script
├── ionerdss/ # Main Python package
│ ├── nerdss_model/ # Model building tools (v1.2.0)
│ ├── nerdss_simulation/ # Simulation tools (v1.2.0)
│ ├── nerdss_analysis/ # Data analysis tools (v1.2.0)
│ └── __init__.py
├── tests/ # Unit tests
├── data/ # Test and tutorial data
└── setup.py # Installation & packaging
docker build --no-cache -t ionerdss_dev .
docker run -it --rm -v $(pwd):/app -p 8888:8888 ionerdss_dev-
Docstrings & Sphinx
- Write clear docstrings in Google‐style to help auto‐generate documentation.
-
Code Organization
- Keep related functionality grouped in submodules.
-
Tests
-
Add or update unit tests in
tests/for any new function. We use unittest. -
To run the tests locally, in the project root folder, use the following command:
pip install -r requirements.txt export PYTHONPATH=$(pwd) pytest
-
-
Versioning & Releases
- Update
setup.pywith a new version number. A GitHub release will auto‐update the PyPI package.
- Update
-
Contributions
- Fork the repo, create a feature branch, and open a pull request.
This project is licensed under the GPL‐3.0 License.