You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A package to help you manage and run pair potential optimizations using
7
-
multistate iterative Boltzmann inversion.
9
+
A package to help you manage and run coarse-grain potential optimizations using multistate iterative Boltzmann inversion.
8
10
9
-
Install from source:
10
-
```python
11
+
## Installing MSIBI
12
+
13
+
### Install from conda-forge (Coming soon):
14
+
```
15
+
mamba install -c conda-forge msibi
16
+
```
17
+
18
+
### Install from source:
19
+
```bash
11
20
git clone https://github.com/mosdef-hub/msibi.git
12
21
cd msibi
22
+
mamba env create -f environment.yml
23
+
mamba activate msibi
13
24
pip install .
14
25
```
15
26
27
+
## Using MSIBI
28
+
The MSIBI package is designed to be very object oriented. Any force optimization runs requires at least one `msibi.state.State` instance, `msibi.force.Force` instance and `msibi.optimize.MSIBI` instance. More state and forces can be added as needed. Multiple forces can be added with some held fixed while others are being optimized after each iteation. MSIBI is designed to allow for optimization of both intra-molecular and inter-molecular potentials.
29
+
30
+
MSIBI uses [Hoomd-Blue](https://hoomd-blue.readthedocs.io/en/latest/) to run optimization simulations. It is not required that you be familiar with Hoomd to use MSIBI as the simulation script is automatically generated and ran. However, it is required that you pass in the choice of [Hoomd method](https://hoomd-blue.readthedocs.io/en/latest/module-md-methods.html), [Hoomd neighbor list](https://hoomd-blue.readthedocs.io/en/latest/module-md-nlist.html), and [Hoomd thermostat](https://hoomd-blue.readthedocs.io/en/latest/module-md-methods-thermostats.html) to the `msibi.optimize.MSIBI` class. Since MSIBI utilizes Hoomd-Blue, this means that MSIBI can run on GPUs, see [Hoomd's installation guide](https://hoomd-blue.readthedocs.io/en/latest/installation.html) for instructions on ensuring your environment includes a GPU build of hoomd.
31
+
32
+
### Quick Example:
33
+
Here is a simple example using MSIBI to learn a bond-stretching force from a single state point:
34
+
35
+
```python
36
+
# This is the context/management class for MSIBI
37
+
# Set simulation parameters, call `add_state` and `add_force` methods to store other MSIBI objects.
- Here is an example of learning a pair potential using multiple state points and forces.
76
+
- In this example, we set fixed bond and angle potentials that are included during iteration simulations.
77
+
- The bond potential will set a fixed harmonic force, while the angle potential will be set from a table potential file.
78
+
- This illustrates a use case of stringing together multiple MSIBI optimizations.
79
+
- For example, one MSIBI optimization can be used to learn and obtain a coarse-grained angle potential table file which can then be set and held fixed while learning pair potentials in a subsequent MSIBI optimization.
0 commit comments