


The `CombinationMove`'s `move()` method perfroms the moves in either listed or reverse order. `CombinationMove` takes in a list of instantiated `Move` objects. If you're interested in combining moves together sequentially–say you'd like to perform a rotation and translation move together–instead of coding up a new `Move` class that performs that, you can instead leverage the functionality of existing `Move`s using the `CombinationMove` class. **Note: This feature has not been tested, use at your own risk.** NewPositions = RandomTranslation(positions) #use some function that translates atom_indices Positions = (getPositions=True).getPositions(asNumpy=True)
#Mysimbl mojave code
For example if you would like to add a move that randomly translates a set of coordinates the code would look similar to this pseudocode:
#Mysimbl mojave update
The `move()` method will then access the positions of that context, change those positions, then update the positions of that context. Users can implement their own MC moves into NCMC by inheriting from an appropriate `` class and constructing a custom `move()` method that only takes in an Openmm context object as a parameter. The `Simulation` class in `blues/simulation.py` serves as a wrapper for running NCMC simulations.

Currently the `openmmtools.alchemy` package is used to generate the lambda parameters for the ligand, allowing alchemical modification of the sterics and electrostatics of the system. The integrator that BLUES uses inherits from `` to keep track of the work done outside integration steps, allowing Monte Carlo (MC) moves to be incorporated together with the NCMC thermodynamic perturbation protocol. It also controls the lambda scaling of parameters. Specifically, the integrator class calculates the work done during a NCMC move. The integrator of `BLUES` contains the framework necessary for NCMC.
#Mysimbl mojave how to
One goal for this package is to allow for easy additions of other moves of interest, which will be covered below.Īn example of how to set up a simulation sampling the binding modes of toluene bound to T4 lysozyme using NCMC and a rotational move can be found in `examples/example_rotmove.py` This package takes advantage of non-equilibrium candidate Monte Carlo moves (NCMC) to help sample between different ligand binding modes using the OpenMM simulation package. # To validate your BLUES installation run the tests (need pytest)įor documentation on the BLUES modules see ()įor a tutorial on how to use BLUES see ()
#Mysimbl mojave install
# Install BLUES package from the top directory # To use SideChainMove class, OpenEye toolkits and related tools are requried (requires OpenEye License) Install from source (if conda installation fails) # Install OpenEye toolkits and related tools firstĬonda install -c openeye/label/Orion -c omnia oeommtoolsĬonda install -c openeye openeye-toolkitsĬonda install -c omnia -c conda-forge openmmtools=0.15.0 openmm=7.4.2 numpy cython # Create a clean environment (python 3.6 is required) * `notebooks` - Jupyter notebooks for testing/developmentīLUES is compatible with MacOSX/Linux with Python=3.6. * `devtools/` - Developer tools and documentation for conda, travis, and issuing a release * `devdocs/` - Class diagrams for developers * `blues/` - Source code and example scripts for BLUES toolkit

This package takes advantage of non-equilibrium candidate Monte Carlo moves (NCMC) to help sample between different ligand binding modes. # `BLUES`: Binding modes of Ligands Using Enhanced Sampling
