Ensemble simulations with experimental restraints: Running at Scale - - PowerPoint PPT Presentation

ensemble simulations with experimental restraints running
SMART_READER_LITE
LIVE PREVIEW

Ensemble simulations with experimental restraints: Running at Scale - - PowerPoint PPT Presentation

Ensemble simulations with experimental restraints: Running at Scale -or- a designed interface for MD simulations Peter Kasson, University of Virginia Restart Simulation Experimental Simulations distribution distribution Update pull


slide-1
SLIDE 1

Ensemble simulations with experimental restraints: Running at Scale

  • or-

a designed interface for MD simulations

Peter Kasson, University of Virginia

  • Simulation

distribution Update pull potential: Experimental distribution Restart Simulations

slide-2
SLIDE 2

Motivation:

  • Most molecular dynamics simulation packages are

monolithic

  • Most applications are not
  • How can we enable flexible, performative use of large-

scale MD simulations?

slide-3
SLIDE 3

Motivation II

  • Custom modifications of MD code are common, e.g. to

implement additional potentials for experimental data

  • Having open code that can be modified is great
  • Having everyone modify it is a Bad Idea for barrier-to-

entry, performance, reproducibility, maintainability

  • Goal: custom modifications with no changes to core MD

code.

HACKS

slide-4
SLIDE 4

Motivation III

  • Not just another Python API
  • Design inspiration from TensorFlow (API compatible)
  • Procedural commands set up a computational graph
  • Enables user-transparent performance optimizations

Image: deepideas.net

slide-5
SLIDE 5

Motivation IV

  • Ensembles as first-class entities, computational context

abstracted

  • Description of what to execute should be distinct from

specification of where to execute.

...

input structures run parameters simulation setup MD simulations trajectory analysis (colvars, clustering) sampling & setup for new simulations MD simulations trajectory analysis (colvars, clustering) ensemble results run inputs simulation trajectories clusters, collective variables run inputs

slide-6
SLIDE 6

gmxapi: Python (and more) API for Gromacs

  • Running molecular dynamics simulations
  • Clean interface that permits scalable, optimized

execution with standard or custom code

  • Build and execute a computational graph
slide-7
SLIDE 7

What does this mean in practice?

import gmx import myplugin md = gmx.workflow.from_tpr(tpr_list) potential = gmx.workflow.WorkElement( namespace="myplugin",

  • peration="ensemble_restraint",

depends=[], params=params) potential.name = "ensemble_restraint_1" md.add_dependency(potential) context = gmx.context.ParallelArrayContext(md) with context as session: session.run()

Simple, clean code. This runs an ensemble of simulations using a custom potential.

slide-8
SLIDE 8

A peek under the hood

Execution manager

gmxapi.load_file params: [filename1, filename2, ...]

Data Input

gmxapi.md

MD Engine

a

>>> md = gmx.from_file([filename1, filename2, filename3, ...])

c

>>> gmx.run()

b

>>> md.add_dependancy(potential) >>> potential = myplugin.EnsembleRestraint(sites, *args, **kwargs) myplugin.mdmodule params: [...]

Plug-in module

gmxapi.ensemble_reduce params: [SUM]

Calculation on ensemble MD Engine Data Input MD Engine Data Input Calculation on ensemble Plug-in module

slide-9
SLIDE 9

Custom potentials are easy(ish)

  • Boilerplate C++ code, en route to templated classes
  • essentially implement a calculate() method and then an

update callback to update potentials for adaptive approaches.

slide-10
SLIDE 10

What this enables

  • Implementation of restrained-ensemble simulation (Roux,

2013)

  • Simple, scalable execution within 5% of native code

performance.

  • Can either execute multiple iterations with independent

ensemble members or update potentials with a (blocking) reduce

slide-11
SLIDE 11

Example of restrained-ensemble simulation

Hays et al., 2018

Ensemble of 20 simulations ensemble reduce & potential update every 100 ps

  • Simulation

distribution Update pull potential: Experimental distribution Restart Simulations

Continue 
 simulations

slide-12
SLIDE 12

Example of restrained-ensemble simulation and convergence

Hays et al., 2018

b) a)

Distance (nm) Probability Time (ns) J-S Divergence

MD Initial DEER

50 100 0.4 0.2 0.0

31-166 88-162 77-107 117-107

31 - 166 88 - 162 77 - 107 117 - 107

Convergence to experimental distributions (Assessed via histograms,
 Jensen-Shannon divergence)

slide-13
SLIDE 13

Current status

  • Functionality: Can run ensembles, enable custom force

plugins, perform ensemble reduce as needed.

  • Implementations: Two different ensemble-biasing

algorithms implemented, working on automated umbrella sampling next.

  • Alpha/beta code release github.com/kassonlab/gmxapi
  • (almost) running on Blue Waters
  • Next round of functionality in progress. Taking requests.
slide-14
SLIDE 14

We want to hear from you!

  • gmxapi manuscript: Irrgang et al., 2018


doi:10.1101/306043

  • Restrained ensembles: Hays et al., 2018 doi:

10.1101/319335

  • Github: https://github.com/kassonlab/gmxapi
  • Want to join as a scientist or developer? We’re looking for

students and postdocs!

  • kasson@virginia.edu
slide-15
SLIDE 15

Acknowledgements

Eric Irrgang Jennifer Hays Cara Broshkevitch Ricardo Ferreira Isabel Goronzy Ania Pabis Kenta Okamoto Ana Villamil Giraldo Funding:

(for this work) NIGMS R01GM115790 BW GLCPC and Graduate Fellowships (Kasson, Hays) MolSSI Fellowships

Collaborators: Mark Abraham Linda Columbus Shantenu Jha Erik Lindahl Michael Shirts