Coder Social home page Coder Social logo

byun-jinyoung / sml_cv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from msultan/sml_cv

0.0 0.0 0.0 143.55 MB

Using supervised machine learning to build collective variables for accelerated sampling

License: MIT License

Python 0.01% Jupyter Notebook 99.99%

sml_cv's Introduction

Supervised Machine Learning + Enhanced sampling

Using supervised machine learning to build starting collective variables for accelerated sampling

SVM boundary

This project is designed to answer the following question: Given sampling in state A and state B, how does one go about picking some collective variable capable of going between them via an ennhanced sampling framework. We argue that the decision function from any differentiable supervised machine learning algorithm represents a good starting CV. This repo contains the necessary details for reproducing the results from our manuscript showing that :

Sultan et al: Decision functions from supervised machine learning algorithms as collective variables for accelerating molecular simulations, arXiv preprint

The general idea can be summarized using the picture below: SVM boundary

Given some sampling in the start and end states, a SML algorithm such as a Support Vector Machine can find a hyper plane that maximally divides those states. Then the distance to this plane can be used as a collective variable in molecular dynamics and enhanced sampling calculations.

We can compute this decision function, which basically measures this distance, in a variety of different ways. For example, in logistic regression methods, this is done via a sigmoid of the linear weights. SML based CVs can use non-linearity via kernels or neural network based classifiers. Multiple states can be incorporated via bias-exchange. For more details, please see the manuscript. At its core, if any classification algorithm can distinguish between start and end states, then its decision function is a good starting point for acclerating sampling between those states.

The full algorithm is rather simple as shown below:
SVM boundary

The repo requires several other python and non-python packages including MSMBuilder, MSMExplorer, tica_metadynamics, scikit-learn, Plumed, and OpenMM .

1). The folders contains the ipython notebooks + setup scripts needed to reproduce the main results of the paper. It also contains a step-by-step guide on how to generate input files needed for Plumed to able to run Metadynamics using the SML's decision function as the collective variable.

sml_cv's People

Contributors

msultan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.