Skip to content

Commit e740823

Browse files
committed
prepare release v1.1.0
1 parent 970667a commit e740823

21 files changed

+629
-148
lines changed

README.md

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,35 @@
1111

1212
## Installation
1313

14+
1. From PyPI (recommended):
15+
- **Python version:** 3.9 or later
16+
17+
Create a conda environment (optional but recommended):
18+
19+
Download and install Anaconda or Miniconda, then create a new conda environment for `ionerdss`:
20+
21+
```bash
22+
conda create -n ionerdss python=3.9
23+
conda activate ionerdss
24+
```
25+
1426
Install the latest release directly from PyPI:
1527

1628
```bash
1729
pip install ioNERDSS
1830
```
1931

32+
2. From GitHub (for the latest development version):
33+
- If you want to use the latest features or contribute to the development, you can install directly from the GitHub repository:
34+
2035
To install from source (e.g., if you’ve cloned this repo and want the most recent changes):
2136

2237
```bash
2338
git clone https://github.com/JohnsonBiophysicsLab/ionerdss.git
2439
cd ionerdss
25-
python setup.py install
40+
pip install -r requirements.txt
41+
pip install -e . # Install in editable mode
42+
# Changes made to source code take effect immediately, without needing to reinstall
2643
```
2744

2845
---
@@ -31,19 +48,27 @@ python setup.py install
3148

3249
```python
3350
import ionerdss as ion
34-
35-
# Example usage
36-
ion.nerdss()
51+
ion.some_function() # Replace with actual function calls to set up model and analyze results
3752
```
3853

3954
For extended examples, see the [tutorials](https://ionerdss.readthedocs.io/en/latest/ionerdss_tutorials.html).
4055

56+
### Run a quick trial with Google Colab
57+
58+
Click the following link to make a copy of the iPython notebook in your Google Colab and following the instructions on the Notebook to run a quick trial of the NERDSS simulator with the usage of ionerdss to prepare the inputs from a PDB structure.
59+
60+
[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnsonBiophysicsLab/ionerdss/blob/main/docs/Run_NERDSS_colab.ipynb?copy=true)
61+
62+
### Run a quick trial with our server
63+
64+
Go to the [NERDSS server](http://18.188.233.206:5000/).
65+
4166
---
4267

4368
## Documentation
44-
- **User Guide:** [ionerdss user guide](https://ionerdss.readthedocs.io/en/latest/ionerdss_documentation.html).
69+
- **User Guide:** [ionerdss user guide](https://ionerdss.readthedocs.io/en/latest/ionerdss_documentation_v1_1.html).
4570

46-
- **API Reference:** [API](https://ionerdss.readthedocs.io/en/latest/ionerdss.html) .Docstrings are integrated throughout the code (Google-style). You can also build the docs locally using Sphinx:
71+
- **API Reference:** [API](https://ionerdss.readthedocs.io/en/latest/ionerdss.html). You can also build the docs locally using Sphinx:
4772
```bash
4873
sphinx-apidoc -o docs/source ionerdss
4974
cd docs
@@ -57,15 +82,18 @@ Then open docs/build/html/index.html in your browser.
5782
```
5883
ionerdss/
5984
├── .github/workflows/ # Continuous Integration workflows
60-
├── docs/ # Documentation (Sphinx configs, user guides)
85+
├── docs/ # Documentation
6186
│ ├── source/ # Sphinx source files
6287
│ ├── make.bat # Windows build script
6388
│ └── Makefile # Unix build script
6489
├── ionerdss/ # Main Python package
65-
│ ├── model_setup/ # Model building tools
66-
│ ├── analysis/ # Data analysis tools
90+
│ ├── nerdss_model/ # Model building tools (v1.1)
91+
│ ├── nerdss_simulation/ # Simulation tools (v1.1)
92+
│ ├── nerdss_analysis/ # Data analysis tools (v1.1)
93+
│ ├── model_setup/ # Old model building tools (v1.0)
94+
│ ├── analysis/ # Old data analysis tools (v1.0)
6795
│ └── __init__.py
68-
├── tests/ # Unit tests, to be added
96+
├── tests/ # Unit tests
6997
├── data/ # Test and tutorial data
7098
└── setup.py # Installation & packaging
7199
```
@@ -85,8 +113,6 @@ docker run -it --rm -v $(pwd):/app -p 8888:8888 ionerdss_dev
85113
1. **Docstrings & Sphinx**
86114
- Write clear docstrings in Google‐style to help auto‐generate documentation.
87115

88-
Prompt used for chatGPT to refactor one function: `improve this python code, provide the detail google-style docstring for sphinx, standardize naming conventions:`
89-
90116
2. **Code Organization**
91117
- Keep related functionality grouped in submodules.
92118

@@ -110,9 +136,3 @@ docker run -it --rm -v $(pwd):/app -p 8888:8888 ionerdss_dev
110136

111137
## License
112138
This project is licensed under the GPL‐3.0 License.
113-
114-
## Run a quick trial with Google Colab
115-
116-
Click the following link to make a copy of the iPython notebook in your Google Colab and following the instructions on the Notebook to run a quick trial of the NERDSS simulator with the usage of ionerdss to prepare the inputs from a PDB structure.
117-
118-
[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnsonBiophysicsLab/ionerdss/blob/main/docs/Run_NERDSS_colab.ipynb?copy=true)

docs/requirements.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ scikit-learn
1414
requests
1515
nglview
1616
ipympl
17-
pytest
17+
pytest
18+
imageio
19+
ovito

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
project = 'ionerdss'
1717
copyright = '2025, Margaret Johnson Lab, Johns Hopkins University'
1818
author = 'Margaret Johnson Lab, Johns Hopkins University'
19-
release = '1.0.37'
19+
release = '1.1.0'
2020

2121
# -- General configuration ---------------------------------------------------
2222
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

docs/source/downloads.rst

Lines changed: 0 additions & 20 deletions
This file was deleted.

docs/source/index.rst

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@ Welcome to ionerdss Documentation!
77
==================================
88

99
**NERDSS** (NonEquilibrium Reaction-Diffusion Self-assembly Simulator) is a simulator for reaction-diffusion processes.
10-
**ionerdss** is a Python package that streamlines setting up models and analyzing output from NERDSS. Input files can be generated from structures of macromolecular complexes, such as those defined in Protein Data Bank (PDB) files or based on the idealized geometries of Platonic solids. The package is designed to improve the usability and quantitative interpretation of NERDSS simulations.
10+
**ionerdss** is a Python package that streamlines setting up models, run NERDSS simulations, and analyzing output from NERDSS. Input files can be generated from structures of macromolecular complexes, such as those defined in Protein Data Bank (PDB) files. ionerdss is designed to improve the usability and quantitative interpretation of NERDSS simulations.
1111

1212
Features of ionerdss:
1313

1414
- **Creating NERDSS Inputs:** Automatically generates executable NERDSS input files.
1515
- **Protein Data Bank (PDB) files:** Converts PDB files into NERDSS input files. See the `PDB to NERDSS tutorial <pdb_to_nerdss_tutorial.html>`_ for more details.
1616
- **Platonic solids:** Creates NERDSS input files from idealized geometries of Platonic solids, offering two options for each of the five Platonic solids. See the `Platonic solids tutorial <model_setup_for_platonic_solid.html>`_ for more details.
17-
- **User designed molecules and reactions**: `JAVA GUI <java_gui_tutorial.html>`_ Allows users to define their own molecules and reactions.
17+
- **User designed molecules and reactions**: `JAVA GUI <java_gui_tutorial.html>`_ or `Python GUI <ionerdss_gui.html>`_ allow users to define their own molecules and reactions.
1818

19-
- **Analyzing NERDSS Outputs:** Produces graphs, spreadsheets, and analyzed datasets from NERDSS outputs.
19+
- **Running NERDSS Simulations:** Install NERDSS, modify simulation parameters, and run simulations.
20+
- See the `PDB to NERDSS tutorial <pdb_to_nerdss_tutorial.html>`_ for more details.
21+
22+
- **Analyzing NERDSS Outputs:** Produces graphs, and visulaizes trajectories from NERDSS outputs.
2023
- **Histogram Analysis:** Processes and outputs data from histogram.dat files.
2124
- **Complex Location Analysis:** Determines the location of specific complex sizes using PDB, restart, or input files.
2225
- **Transition Matrix Analysis:** Reads transition matrix files and generates various outputs.
@@ -25,11 +28,10 @@ Features of ionerdss:
2528

2629
This documentation includes:
2730

28-
- How to install and compile NERDSS
29-
- NERDSS and ionerdss documentation
30-
- How to install ionerdss
31-
- ionerdss Tutorials (via Jupyter notebooks)
31+
- How to install NERDSS and ionerdss
3232
- Release notes for both NERDSS and ioNERDSS
33+
- NERDSS and ionerdss documentation (user guides and developer guides)
34+
- ionerdss Tutorials (via Jupyter notebooks)
3335
- An auto-generated API reference for `ionerdss`
3436

3537
Contents
@@ -39,10 +41,10 @@ Contents
3941
:maxdepth: 2
4042

4143
installation
42-
downloads
4344
release_notes
4445
nerdss_documentation
45-
ionerdss_documentation
46+
ionerdss_documentation_v1_1
47+
ionerdss_documentation_v1_0
4648
ionerdss_tutorials
4749
api_reference
4850

docs/source/installation.rst

Lines changed: 99 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,80 +6,133 @@ NERDSS
66

77
NERDSS (NonEquilibrium Reaction-Diffusion Self-assembly Simulator) requires a C++ compiler and the GNU Scientific Library (GSL). Once these prerequisites are installed, you can compile NERDSS from source.
88

9+
**0. Download the NERDSS source code from the official repository**
10+
11+
.. code-block:: console
12+
13+
git clone https://github.com/mjohn218/NERDSS.git
14+
cd NERDSS
15+
916
**1. Install a C++ Compiler**
17+
1018
- macOS: Install XCode or Command Line Tools
19+
1120
- Ubuntu: Install via apt, for example:
12-
``sudo apt-get install g++``
21+
22+
.. code-block:: console
23+
24+
sudo apt-get install g++
1325
1426
**2. Install GNU Scientific Library (GSL) (v2.5+)**
27+
1528
- macOS: Use Homebrew:
16-
``brew install gsl``
29+
30+
.. code-block:: console
31+
32+
brew install gsl
33+
1734
- Ubuntu: Use apt:
18-
``sudo apt-get install libgsl-dev``
35+
36+
.. code-block:: console
37+
38+
sudo apt-get install libgsl-dev
1939
2040
**3. Compile NERDSS**
21-
- Navigate to the main NERDSS directory
22-
- Run ``make serial``
23-
- The executable will appear in the ``./bin`` directory
2441

25-
For more details on using NERDSS, see its official documentation or README.
42+
- Run
43+
44+
.. code-block:: console
45+
46+
make clean
47+
make serial
48+
49+
- The executable `nerdss` will appear in the `./bin` directory
50+
51+
For more details on using NERDSS, see its `documentation <nerdss_documentation.html>`_.
2652

2753
Parallel NERDSS
2854
---------------
2955

3056
To build NERDSS with MPI support, follow these steps:
3157

32-
1. **Install a C++ Compiler with MPI support:**
33-
- **macOS:** Install OpenMPI with Homebrew:
34-
```
35-
brew install open-mpi
36-
```
37-
- **Ubuntu:** Install OpenMPI through apt:
38-
```
39-
sudo apt install openmpi-bin libopenmpi-dev
40-
```
41-
42-
2. **Install GNU Scientific Library (GSL) (v2.5+):**
43-
- **macOS:** Use Homebrew:
44-
```
45-
brew install gsl
46-
```
47-
- **Ubuntu:** Use apt:
48-
```
49-
sudo apt install libgsl-dev
50-
```
51-
52-
3. **Compile NERDSS with MPI support:**
53-
- Navigate to the main NERDSS directory
54-
- Run:
55-
```
56-
make mpi
57-
```
58-
(For profiling support, run: `make mpi ENABLE_PROFILING=1`)
59-
- The executable will appear in the `./bin` directory
60-
61-
### Running Simulations
62-
63-
To start a simulation, use the command:
64-
65-
```bash
66-
mpirun -np 4 ./nerdss_mpi -f parms.inp -s 123
67-
```
58+
**1. Install a C++ Compiler with MPI support:**
59+
60+
- **macOS:** Install OpenMPI with Homebrew:
61+
62+
.. code-block:: console
63+
64+
brew install open-mpi
65+
66+
- **Ubuntu:** Install OpenMPI through apt:
67+
68+
.. code-block:: console
69+
70+
sudo apt install openmpi-bin libopenmpi-dev
71+
72+
**2. Install GNU Scientific Library (GSL) (v2.5+):**
73+
74+
- **macOS:** Use Homebrew:
75+
76+
.. code-block:: console
77+
78+
brew install gsl
79+
80+
- **Ubuntu:** Use apt:
81+
82+
.. code-block:: console
83+
84+
sudo apt install libgsl-dev
85+
86+
**3. Compile NERDSS with MPI support:**
87+
88+
- Checkout to the `mpi` branch:
89+
90+
.. code-block:: console
91+
92+
git checkout mpi
93+
94+
- Run:
95+
96+
.. code-block:: console
97+
98+
make clean
99+
make mpi
100+
101+
- The executable `nerdss_mpi` will appear in the `./bin` directory
102+
103+
**4. Running Simulations**
104+
105+
To start a parallel simulation, use the command:
106+
107+
.. code-block:: console
108+
109+
mpirun -np 4 ./nerdss_mpi -f parms.inp
68110
69111
ionerdss
70112
--------
71113

72-
``ionerdss`` can be installed directly from PyPI:
114+
`ionerdss` can be installed directly from PyPI (recommend to conda environment):
115+
116+
**0. Create a conda environment (optional but recommended)**
117+
118+
Download and install Anaconda or Miniconda, then create a new conda environment for `ionerdss`:
119+
120+
.. code-block:: console
121+
122+
conda create -n ionerdss python=3.9
123+
conda activate ionerdss
124+
125+
**1. Install ioNERDSS**
73126

74127
.. code-block:: console
75128
76129
pip install ioNERDSS
77130
78-
After installation, you can import ``ionerdss`` in Python:
131+
After installation, you can import `ionerdss` in Python or Jupyter Notebook:
79132

80133
.. code-block:: python
81134
82135
import ionerdss as ion
83136
ion.some_function()
84137
85-
For tutorials on setting up models and analyzing simulator output, see the :doc:`tutorials`.
138+
For documentation on setting up models and analyzing simulator output, see the `ionerdss tutorial <pdb_to_nerdss_tutorial.html>`_.

docs/source/ionerdss.analysis.histogram.multi_species.rst

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,6 @@ ionerdss.analysis.histogram.multi\_species.frac\_of\_assemble module
1212
:undoc-members:
1313
:show-inheritance:
1414

15-
ionerdss.analysis.histogram.multi\_species.list\_index\_exists module
16-
---------------------------------------------------------------------
17-
18-
.. automodule:: ionerdss.analysis.histogram.multi_species.list_index_exists
19-
:members:
20-
:undoc-members:
21-
:show-inheritance:
22-
2315
ionerdss.analysis.histogram.multi\_species.multi\_heatmap\_complex\_dist module
2416
-------------------------------------------------------------------------------
2517

0 commit comments

Comments
 (0)