Skip to content

Molecular modeling workflows and extensions for workflow inference compiler

License

Notifications You must be signed in to change notification settings

ndonyapour/mm-workflows

 
 

Repository files navigation

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

About

Molecular modeling workflows and extensions for workflow inference compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Common Workflow Language 51.0%
  • Python 46.7%
  • Shell 1.6%
  • Other 0.7%