Giter Site home page Giter Site logo

cbouy / dashmd Goto Github PK

View Code? Open in Web Editor NEW
15.0 4.0 5.0 1.4 MB

Real time monitoring and visualization of Amber MD simulations

License: MIT License

Python 95.30% HTML 1.95% JavaScript 2.75%
molecular-dynamics molecular-modeling ambermd bokeh ngl computational-chemistry compchem

dashmd's Introduction

DashMD

Real time monitoring and visualization of Amber MD simulations

DashMD let's you track the status, temperature, pressure, volume, density, and energy of your currently running simulation in an interactive way. You can also plot the RMSD of your trajectories and visualize them directly with NGL.

Screenshots

Main tab

Visualization

RMSD tab

Density tab

Installation

DashMD runs on python and a bit of JavaScript, and depends on the following python packages: pandas, bokeh, pytraj which are all automatically installed as requirements. To install, simply run the following command :

  pip install git+https://github.com/cbouy/DashMD.git

Usage

Simply type dashmd in a terminal and it should open a new tab in your web browser.

โš ๏ธ Currently, DashMD expects all of your files (mdinfo, prmtop, mdout, mdcrd/netcdf) to be in the same directory.

Start by navigating to the folder containing the mdinfo file then press on the Load button (which should turn green if the folder contains a mdinfo file). The Temperature, Pressure...etc will automatically be read from the mdinfo file and plotted on the corresponding tabs, and the structure from the latest Amber Restart file will be plotted on the View tab.

In order to plot the Temperature, Pressure...etc. for a specific simulation file, select the MDOUT file (bottom of the Dashboard tab, only files ending in .mdout or .out will be listed), then press Plot. This might take a while depending on the size of the file.

To visualize a structure or plot the RMSD, click on the corresponding tab and select both Topology file and Trajectory file and click on the corresponding button. Only files ending with .top, .prmtop, .parm7 or .parm will be listed for the topology. The RMSD calculation is performed by slicing your trajectory in around 200 frames if possible, for faster calculations.

For the View tab, only files with the .rst or .rst7 extension are listed.

For the RMSD tab, only files ending with .nc, .netcdf, or .ncdf will be listed. You can select multiple trajectory files to plot by pressing on the Ctrl key on your keyboard while selecting the trajectories. You can restrict the atoms selected for RMSD calculation by specifying a mask as specified in the pytraj documentation here. A protein keyword has been added for easier selection of all protein residues (it's a substitute for :ALA,ARG... and all of their protonated forms)

If necessary, more detailed options are available in the command line:

usage: dashmd [-h] [-v] [--port INT] [--update INT] [--default-dir STR]
              [--log level]

Monitor and visualize MD simulations from Amber in real time

optional arguments:
  -h, --help         show this help message and exit
  -v, --version      Show version and exit
  --port INT         Port number used by the bokeh server (default: 5100)
  --update INT       Update rate to check and load new data, in seconds (default: 20)
  --default-dir STR  Default directory (default: .)
  --log level        Set level of the logger (default: INFO)

dashmd's People

Contributors

cbouy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dashmd's Issues

ERROR:bokeh.server.protocol_handler:error handling message Message 'PATCH-DOC' (revision 1)

Installed ok. When first trying to launch dashmd, had to change in template.py of bokeh line 43

from jinja2 import Environment, Markup, FileSystemLoader >
from jinja2 import Environment, FileSystemLoader
from markupsafe import Markup

After that, dashmd launched in browser. Put abs path in "Path to MD directory containing mdin and mdout files" box but got this error in terminal

ERROR:bokeh.server.protocol_handler:error handling message Message 'PATCH-DOC' (revision 1) content: {'events': [{'kind': 'ModelChanged', 'model': {'type': 'Toggle', 'id': '1003'}, 'attr': 'active', 'new': True}], 'references': []}: FileNotFoundError(2, 'No such file or directory')

I think there was a keyerror somewhere?
https://discourse.bokeh.org/t/problem-error-bokeh-server-protocol-handler-error-handling-message-message-patch-doc-revision-1/4058

Thank you for yoru work

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.