Skip to content

Commit

Permalink
Merge pull request PolusAI#209 from jfennick/move_mm_viewer
Browse files Browse the repository at this point in the history
move molecular modeling viewer
  • Loading branch information
jfennick authored Apr 11, 2024
2 parents e6f59d6 + c6502e4 commit 3f3912a
Show file tree
Hide file tree
Showing 13 changed files with 0 additions and 406 deletions.
12 changes: 0 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,6 @@ timeseriesplots

![Plots](examples/gromacs/plots.png)

You can also view the 3D 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](docs/tree_viewer.png)
The Workflow Inference Compiler is a [Domain Specific Language](https://en.wikipedia.org/wiki/Domain-specific_language) (DSL) based on the [Common Workflow Language](https://www.commonwl.org). CWL is fantastic, but explicitly constructing the Directed Acyclic Graph (DAG) associated with a non-trivial workflow is not so simple. For example, the workflow shown above is based on the following [gromacs tutorial](https://mmb.irbbarcelona.org/biobb/availability/tutorials/cwl). Instead of writing raw CWL, you can write your workflows in a much simpler yml DSL. For technical reasons edge inference is far from unique, so ***`users should always check that edge inference actually produces the intended DAG`***.

## Edge Inference
Expand Down
8 changes: 0 additions & 8 deletions docs/dev/api.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
Developer API
====================================

vis.filewatcher
------------------------------------
.. automodule:: vis.filewatcher

vis.viewer
------------------------------------
.. automodule:: vis.viewer

wic.ast
------------------------------------
.. automodule:: wic.ast
Expand Down
12 changes: 0 additions & 12 deletions docs/installguide.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,6 @@ pre-commit install

You should now have the `wic` executable available in your terminal.

## Jupyter notebook visualization

The visualization currently needs to be in its own conda environment.

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

## CUDA

Some of the workflows require an Nvidia CUDA GPU. Please see the Nvidia [installation guides](https://docs.nvidia.com/cuda/#installation-guides) for more information.
Expand Down
1 change: 0 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
ipytree
myst-parser
# https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
# "We strongly recommend to pin the Sphinx version used for your project to build the docs to avoid potential future incompatibilities."
Expand Down
Binary file removed docs/tree_viewer.png
Binary file not shown.
6 changes: 0 additions & 6 deletions docs/tutorials/multistep.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,6 @@ docs/tutorials/multistep1.yml.gv.png
The first thing you might notice is the `!&` and `!*` notation. This is the syntax for explicitly creating an edge between an output and a later input. Note that `!&` must come first and can only be defined once, but then you can use `!*` multiple times in any later step.

## 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](protein.png)

## Edge Inference

Creating explicit edges can be a bit tedious and verbose, but in many cases the correct edges can be determined automatically. In this case, all of the steps take the previous pdb file as input and produce an output pdb file, so this is rather trivial. However, for more complex workflows edge inference can drastically simplify the yml files. Note that explicit edges are drawn in blue, and inferred edges are drawn in black/white.
Expand Down
Binary file removed docs/tutorials/protein.png
Binary file not shown.
24 changes: 0 additions & 24 deletions install/install_nglview.sh

This file was deleted.

6 changes: 0 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Based on https://packaging.python.org/en/latest/tutorials/packaging-projects/
[build-system]
requires = ["setuptools>=42,<68", "wheel", "versioneer[toml]==0.29"]
# NOTE: The above list mostly comes from https://github.com/nglviewer/nglview/pull/969/files
# NOTE: Use upper bound of <68 for setuptools due to 2to3 error.
# See https://stackoverflow.com/questions/72414481/error-in-anyjson-setup-command-use-2to3-is-invalid

Expand Down Expand Up @@ -30,7 +29,6 @@ dependencies = [
"requests",
"mergedeep",
"networkx",
"beautifulsoup4", # Solely for parsing gromacs mdp options html
"cwl-utils>=0.32",
# CommandInputParameter attr changed from `type_` to `type` and back to `type_`
# between versions 0.30, 0.31, 0.32
Expand Down Expand Up @@ -109,7 +107,6 @@ doc = [
"sphinx",
"myst-parser",
"sphinx-autodoc-typehints",
"ipytree",
]
plots = ["matplotlib"]
cyto = ["ipycytoscape"] # only for DAG visualization
Expand Down Expand Up @@ -211,10 +208,7 @@ module = [
"graphviz.*",
"mergedeep.*",
"networkx.*",
"mdtraj.*",
"nglview.*",
"matplotlib.*",
"ipytree.*",
"ipywidgets.*",
"scipy.*",
"ruamel.*",
Expand Down
Empty file removed src/vis/__init__.py
Empty file.
42 changes: 0 additions & 42 deletions src/vis/filewatcher.py

This file was deleted.

55 changes: 0 additions & 55 deletions src/vis/viewer.ipynb

This file was deleted.

Loading

0 comments on commit 3f3912a

Please sign in to comment.