Git Product home page Git Product logo

mm-workflows's Introduction

Molecular Modeling Workflows

This repository contains workflows for various molecular modeling tasks. The workflows can be compiled & executed using the Workflow Inference Compiler.

BPS Poster

Quick Start

First, follow the installation instructions for WIC.

Then, clone this repository and run the following commands:

cd install
./install_biobb_adapters.sh
cd ..
mm-workflows --generate_schemas
wic --generate_schemas

Some of the workflows require an Nvidia CUDA GPU. Please see the Nvidia installation guides for more information. (Moreover, you'll also need to configure it to work with docker. Good luck!)

If all goes well, then you can try running the tutorial, which is based on the following gromacs tutorial.

wic --yaml ../mm-workflows/examples/gromacs/tutorial.wic --graphviz --run_local --quiet

That last command will infer edges, compile to CWL, generate a GraphViz diagram of the root workflow, and run it locally.

label: Conjugate Gradient
steps:
  - grompp:
      in:
        config: !ii
          mdp:
            integrator: cg
            nsteps: 1000
  - mdrun:
      in:
        # Use GPU by default
        bonded_terms: !ii cpu
        pme_terms: !ii cpu
  - gmx_energy:
      in:
        config: !ii
          terms: [Potential]
        output_xvg_path: !ii energy_min_cg.xvg

The subworkflow examples/gromacs/cg.wic in mm-workflows is shown above, and the GraphViz diagram of the root workflow examples/gromacs/tutorial.wic in mm-workflows is shown below.

Workflow

If you add the --parallel flag to the above command then, in another terminal, you can view the plots in real-time:

conda activate wic
cd install && ./install_timeseriesplots.sh && cd ..
timeseriesplots

Plots

Jupyter notebook visualization

You can view 3D molecular structures in the Jupyter notebook src/vis/viewer.ipynb. The visualization currently needs to be in its own conda environment.

install/install_conda.sh
conda create --name vis
conda activate vis
install/install_nglview.sh
pip install -e ".[all]"

Plots

Visualizing the results

This particular workflow creates files which represent 3D coordinates, so we can view them in the Jupyter notebook src/vis/viewer.ipynb. Make sure you are using the vis conda environment as mentioned in the installation guide.

Multistep

mm-workflows's People

Contributors

jfennick avatar cyangnyu avatar ndonyapour avatar sameeul avatar ywang271828 avatar nicholas-schaub avatar misterbrandonwalker avatar vjaganat90 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.