-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.3.0 API changes for OpenMMTools compatibility #163
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a big PR, but everything looks good to me!
blues/storage.py
Outdated
@@ -93,7 +125,7 @@ def init_logger(logger, level=logging.INFO, stream=True, outfname=time.strftime( | |||
logger : logging.getLogger() | |||
The root logger object if it has been created already. | |||
level : logging.<LEVEL> | |||
Valid options for <LEVEL> would be DEBUG, INFO, WARNING, ERROR, CRITICAL. | |||
Valid options for <LEVEL> would be DEBUG, INFO, warningING, ERROR, CRITICAL. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason for the warningING? :)
Codecov Report
@@ Coverage Diff @@
## master #163 +/- ##
===========================================
+ Coverage 61.5% 75.22% +13.71%
===========================================
Files 7 6 -1
Lines 1478 795 -683
Branches 266 141 -125
===========================================
- Hits 909 598 -311
+ Misses 460 120 -340
+ Partials 109 77 -32
|
A couple notes from discussing with Nathan:
|
Description
Significant changes to the overall BLUES API, where much of the refactoring is to follow similar structure to the
openmmtools
toolkit."Move" classes are now what carry out the actual simulation and modification of the
openmm.Integrator
/openmm.Context
objects.LangevinDynamicsMove
class which I've modified toReportLangevinDynamicsMove
to allow storing coordinates over the MD simulation phase.NCMCMove
provides the base class for perturbing atom coordinates. Every subsequent move we develop should inherit from this class and override the_propose_positions()
function which simply takes a positions array and outputs the proposed positions (as opposed to modifying the context itself).RandomLigandRotationMove
has been refactored to utilize this framework.BLUESSampler
replaces what was theBLUESSimulation
class, drawing inspiration from theopenmmtools.mcmc.MCMCSampler
class.openmm.Simulation
objects, we now make use of theopenmmtools.ThermodynamicState/SamplerState
objects.BLUESSampler
class ties together the States and Moves in order to execute the NCMC+MD simulation.Reporters
have been changed toStorage
to avoid confusion with reporters designed to work withopenmm.Simulations
. Our reporters have been modified toNetCDF4Storage
andBLUESStateDateStorage
. These now takeopenmm.States
andopenmm.Integrators
as their input, instead of theopenmm.Simualtion
andopenmm.Context
.Todos
Notable points that this PR has either accomplished or will accomplish.
Status