Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
233bd7d
Merge pull request #146 from talagayev/image_separation
talagayev Apr 30, 2025
bbccbb7
Rename barcode_generation.py to barcodes.py
talagayev Apr 30, 2025
24af3ba
Rename find_stable_waters.py to stable_waters.py
talagayev Apr 30, 2025
8423b75
Rename trajectory_saving.py to trajectories.py
talagayev Apr 30, 2025
ae006fe
Rename stable_waters.py to wateranalysis.py
talagayev Apr 30, 2025
fa94df8
Rename markov_state_figure_generation.py to markovchains.py
talagayev Apr 30, 2025
9ec91fb
Rename rmsd_calculation.py to rmsd.py
talagayev Apr 30, 2025
2d679c5
Rename binding_mode_processing.py to bindingmodes.py
talagayev Apr 30, 2025
280420a
Rename image_handler.py to imagehandler.py
talagayev Apr 30, 2025
d56011a
Rename interaction_gathering.py to interactions.py
talagayev Apr 30, 2025
990d2bd
Update and rename rdkit_figure_generation.py to highlighter.py
talagayev Apr 30, 2025
3fee743
Rename highlighter.py to highlight.py
talagayev Apr 30, 2025
79c5147
Update and rename visualization_functions.py to visualization.py
talagayev Apr 30, 2025
01f8f41
Rename imagehandler.py to imagehandling.py
talagayev Apr 30, 2025
833aa77
Update and rename test_barcode_generation.py to test_barcodes.py
talagayev Apr 30, 2025
16ef413
Update and rename imagehandling.py to figures.py
talagayev Apr 30, 2025
f8ca796
Update and rename test_image_handler.py to test_figures.py
talagayev Apr 30, 2025
7dbf711
Update and rename test_markov_state_figure_generation.py to test_mark…
talagayev Apr 30, 2025
cef5a06
Update and rename test_rdkit_figure_generation.py to test_highlight.py
talagayev Apr 30, 2025
6e62ff4
Update and rename test_rmsd_calculation.py to test_rmsd.py
talagayev Apr 30, 2025
1b943a1
Update and rename test_trajectory_saving.py to test_trajectories.py
talagayev Apr 30, 2025
c3fe1e1
Update openmmdlanalysis.py
talagayev Apr 30, 2025
6e9b229
Update highlight.py
talagayev Apr 30, 2025
c466fde
Update openmmdlanalysis.py
talagayev Apr 30, 2025
e0c99f3
Create utils.py
talagayev Apr 30, 2025
79a5fa4
Update utils.py
talagayev Apr 30, 2025
22079fc
Update bindingmodes.py
talagayev Apr 30, 2025
47111aa
Update bindingmodes.py
talagayev Apr 30, 2025
61451df
Update openmmdlanalysis.py
talagayev Apr 30, 2025
22e19e4
Update openmmdlanalysis.py
talagayev Apr 30, 2025
b5175a6
Update utils.py
talagayev Apr 30, 2025
e8b960d
Update openmmdlanalysis.py
talagayev Apr 30, 2025
86cf692
Update bindingmodes.py
talagayev Apr 30, 2025
dcfa346
Create test_utils.py
talagayev Apr 30, 2025
6d9da29
Update test_highlight.py
talagayev Apr 30, 2025
9be9e0d
Update utils.py
talagayev Apr 30, 2025
23bc319
Update bindingmodes.py
talagayev Apr 30, 2025
5d6b39d
Update openmmdlanalysis.py
talagayev Apr 30, 2025
4388302
Update openmmdlanalysis.py
talagayev Apr 30, 2025
3841c0f
Update bindingmodes.py
talagayev Apr 30, 2025
3197855
Update utils.py
talagayev Apr 30, 2025
9554967
Create __init__.py
talagayev Apr 30, 2025
df5bad2
Create __init__.py
talagayev Apr 30, 2025
366ce53
Rename openmmdl/openmmdl_analysis/barcodes.py to openmmdl/openmmdl_an…
talagayev Apr 30, 2025
01aa7f2
Rename openmmdl/openmmdl_analysis/pharmacophore.py to openmmdl/openmm…
talagayev Apr 30, 2025
e2be99a
Rename openmmdl/openmmdl_analysis/figures.py to openmmdl/openmmdl_ana…
talagayev Apr 30, 2025
caf0bb6
Rename openmmdl/openmmdl_analysis/highlight.py to openmmdl/openmmdl_a…
talagayev Apr 30, 2025
20bae90
Rename openmmdl/openmmdl_analysis/wateranalysis.py to openmmdl/openmm…
talagayev Apr 30, 2025
14d61c5
Rename openmmdl/openmmdl_analysis/rmsd.py to openmmdl/openmmdl_analys…
talagayev Apr 30, 2025
8cc2617
Create __init__.py
talagayev Apr 30, 2025
16c6de2
Rename openmmdl/openmmdl_analysis/utils.py to openmmdl/openmmdl_analy…
talagayev Apr 30, 2025
17700d0
Rename openmmdl/openmmdl_analysis/trajectories.py to openmmdl/openmmd…
talagayev Apr 30, 2025
f94b785
Rename openmmdl/openmmdl_analysis/preprocessing.py to openmmdl/openmm…
talagayev Apr 30, 2025
f0db60e
Rename openmmdl/openmmdl_analysis/markovchains.py to openmmdl/openmmd…
talagayev Apr 30, 2025
d55ef40
Rename openmmdl/openmmdl_analysis/bindingmodes.py to openmmdl/openmmd…
talagayev Apr 30, 2025
aa5f4f5
Rename openmmdl/openmmdl_analysis/interactions.py to openmmdl/openmmd…
talagayev Apr 30, 2025
1085499
Delete openmmdl/openmmdl_analysis/_version.py
talagayev Apr 30, 2025
a0318b2
Update openmmdlanalysis.py
talagayev Apr 30, 2025
5875013
Update and rename openmmdl/tests/openmmdl_analysis/test_barcodes.py t…
talagayev Apr 30, 2025
ad403e2
Update and rename openmmdl/tests/openmmdl_analysis/test_figures.py to…
talagayev Apr 30, 2025
0ac3b0a
Update and rename openmmdl/tests/openmmdl_analysis/test_highlight.py …
talagayev Apr 30, 2025
05e0ded
Update and rename openmmdl/tests/openmmdl_analysis/test_markovchains.…
talagayev Apr 30, 2025
9d68012
Rename test_highlight.py to test_highlighting.py
talagayev Apr 30, 2025
e3489fe
Update and rename openmmdl/tests/openmmdl_analysis/test_pharmacophore…
talagayev Apr 30, 2025
f823b4f
Update and rename openmmdl/tests/openmmdl_analysis/test_rmsd.py to op…
talagayev Apr 30, 2025
324602b
Update and rename openmmdl/tests/openmmdl_analysis/test_preprocessing…
talagayev Apr 30, 2025
294ed95
Rename openmmdl/tests/openmmdl_analysis/test_trajectories.py to openm…
talagayev Apr 30, 2025
9e40e05
Rename openmmdl/tests/openmmdl_analysis/test_utils.py to openmmdl/tes…
talagayev Apr 30, 2025
a900ab7
Update test_highlighting.py
talagayev May 3, 2025
170a503
Update test_utils.py
talagayev May 3, 2025
cbbbc41
Update test_trajectories.py
talagayev May 3, 2025
8076241
Update test_trajectories.py
talagayev May 3, 2025
78b1b6c
Update readthedocs_templates.txt
talagayev May 3, 2025
a0af165
Update readthedocs_templates.txt
talagayev May 3, 2025
55583f3
Update trajectories.py
talagayev May 4, 2025
8bb9b5d
Update bindingmodes.py
talagayev May 4, 2025
20b1cb6
Update interactions.py
talagayev May 4, 2025
3f38936
Update preprocessing.py
talagayev May 4, 2025
0095e36
Update utils.py
talagayev May 4, 2025
92e4f6b
Update figures.py
talagayev May 4, 2025
61e7288
Update highlighting.py
talagayev May 4, 2025
2b9920a
Update openmmdlanalysis.py
talagayev May 4, 2025
7220917
Update highlighting.py
talagayev May 4, 2025
03da78c
Update figures.py
talagayev May 4, 2025
7914123
Update highlighting.py
talagayev May 4, 2025
9e9c387
Update preprocessing.py
talagayev May 4, 2025
cb0a9f5
Update bindingmodes.py
talagayev May 5, 2025
f41270e
Update interactions.py
talagayev May 5, 2025
70a7662
Update markovchains.py
talagayev May 5, 2025
1e08d17
Update rmsd.py
talagayev May 5, 2025
7d445b5
Update wateranalysis.py
talagayev May 5, 2025
64c1c15
Update pharmacophore.py
talagayev May 5, 2025
aebb342
Update interactions.py
talagayev May 5, 2025
326bace
Update bindingmodes.py
talagayev May 5, 2025
848403a
Merge pull request #147 from talagayev/files_renaming
talagayev May 6, 2025
4aea64f
Create bindingmodes.rst
talagayev May 6, 2025
e4ea4fd
Create interactions.rst
talagayev May 6, 2025
57497e4
Create markovchains.rst
talagayev May 6, 2025
f4c3437
Create stablewaters.rst
talagayev May 6, 2025
b754495
Create rmsd.rst
talagayev May 6, 2025
31f56f7
Rename docs/modules/openmmdl_analysis/bindingmodes.rst to docs/module…
talagayev May 6, 2025
9c8127e
Rename docs/modules/openmmdl_analysis/interactions.rst to docs/module…
talagayev May 6, 2025
dfb19ca
Create trajectories.rst
talagayev May 6, 2025
f3a402b
Create preprocessing.rst
talagayev May 6, 2025
25ace87
Create figures.rst
talagayev May 6, 2025
7adbea7
Create highlighting.rst
talagayev May 6, 2025
2017fcf
Create pharmacophore.rst
talagayev May 6, 2025
685941d
Update index.rst
talagayev May 6, 2025
cdb249e
Update api.rst
talagayev May 6, 2025
f687e9b
Update index.rst
talagayev May 6, 2025
666c121
Update api.rst
talagayev May 6, 2025
d7bb8ab
Update api.rst
talagayev May 6, 2025
272bbdc
Update api.rst
talagayev May 6, 2025
aff139e
Update bindingmodes.rst
talagayev May 6, 2025
7453346
Update interactions.rst
talagayev May 6, 2025
fd1533f
Update interactions.rst
talagayev May 6, 2025
28eeff7
Update markovchains.rst
talagayev May 6, 2025
77dffba
Update rmsd.rst
talagayev May 6, 2025
620c8fa
Update stablewaters.rst
talagayev May 6, 2025
8c745f5
Update rmsd.py
talagayev May 6, 2025
536f1ba
Update rmsd.py
talagayev May 6, 2025
9cfc5b4
Update rmsd.py
talagayev May 6, 2025
877399f
Update rmsd.rst
talagayev May 6, 2025
5d26e8e
Update markovchains.py
talagayev May 6, 2025
3d87a4e
Update markovchains.rst
talagayev May 6, 2025
e63a214
Update rmsd.rst
talagayev May 6, 2025
983c880
Update rmsd.py
talagayev May 6, 2025
dfecb29
Update rmsd.py
talagayev May 6, 2025
37e8c7f
Update markovchains.py
talagayev May 6, 2025
4840d01
Update wateranalysis.py
talagayev May 6, 2025
30c5bbb
Update interactions.py
talagayev May 6, 2025
b6cae6b
Update bindingmodes.py
talagayev May 6, 2025
4536bba
Update preprocessing.py
talagayev May 6, 2025
16f8ab0
Update trajectories.py
talagayev May 6, 2025
22ad526
Update barcodes.py
talagayev May 6, 2025
b32432f
Update figures.py
talagayev May 6, 2025
5079f2e
Update highlighting.py
talagayev May 7, 2025
4ec5a7f
Update figures.py
talagayev May 7, 2025
6b04158
Update barcodes.py
talagayev May 7, 2025
c1d0205
Update highlighting.py
talagayev May 7, 2025
d49eacb
Update preprocessing.py
talagayev May 7, 2025
89f87b2
Update trajectories.py
talagayev May 7, 2025
72ba7ae
Update utils.py
talagayev May 7, 2025
e0c995f
Update markovchains.py
talagayev May 7, 2025
3defa7d
Update bindingmodes.py
talagayev May 8, 2025
77fa849
Update interactions.py
talagayev May 8, 2025
4517a6a
Update markovchains.py
talagayev May 8, 2025
e094586
Update markovchains.py
talagayev May 8, 2025
68e82bb
Update bindingmodes.py
talagayev May 8, 2025
2f4e63c
Update barcodes.py
talagayev May 8, 2025
d817649
Update pharmacophore.py
talagayev May 8, 2025
fd2dc1c
Update preprocessing.py
talagayev May 8, 2025
0f4fa92
Update preprocessing.py
talagayev May 8, 2025
d19c2ca
Update trajectories.py
talagayev May 8, 2025
f663787
Update barcodes.py
talagayev May 8, 2025
35a4b6c
Update pharmacophore.py
talagayev May 8, 2025
8a64747
Update barcodes.py
talagayev May 8, 2025
7edba9a
Update pharmacophore.py
talagayev May 8, 2025
f255a18
Update barcodes.py
talagayev May 8, 2025
c3527d9
Update figures.py
talagayev May 8, 2025
b474b3f
Update highlighting.py
talagayev May 8, 2025
01883ea
Update preprocessing.py
talagayev May 8, 2025
f35b03b
Update utils.py
talagayev May 8, 2025
2cd7692
Update bindingmodes.py
talagayev May 8, 2025
7ae8a03
Update preprocessing.py
talagayev May 8, 2025
6db1bef
Update bindingmodes.py
talagayev May 8, 2025
6a6c8a3
Update interactions.py
talagayev May 8, 2025
5760792
Update interactions.py
talagayev May 8, 2025
f8dad25
Update interactions.py
talagayev May 8, 2025
e0b3d93
Update markovchains.py
talagayev May 8, 2025
81d83b2
Update rmsd.py
talagayev May 8, 2025
7e82ea2
Update wateranalysis.py
talagayev May 8, 2025
24d557c
Update wateranalysis.py
talagayev May 8, 2025
4735b0d
Update utils.py
talagayev May 8, 2025
d19315f
Update utils.py
talagayev May 8, 2025
7a2e91c
Update markovchains.py
talagayev May 9, 2025
84e8b3e
Update rmsd.py
talagayev May 9, 2025
ae26692
Update rmsd.py
talagayev May 9, 2025
52eaa97
Update rmsd.py
talagayev May 9, 2025
0400614
Update wateranalysis.py
talagayev May 9, 2025
b8fcce2
Update test_markovchains.py
talagayev May 9, 2025
bb08415
Update test_rmsd.py
talagayev May 9, 2025
599c54e
Update test_rmsd.py
talagayev May 9, 2025
1ec0bd1
Update test_barcodes.py
talagayev May 9, 2025
04073c4
Update test_barcodes.py
talagayev May 9, 2025
24ab49b
Update test_pharmacophore.py
talagayev May 9, 2025
e7fe399
Update interactions.py
talagayev May 9, 2025
8a19d72
Update openmmdlanalysis.py
talagayev May 9, 2025
cb19835
Update and rename openmmdl/openmmdl_analysis/visualization.py to open…
talagayev May 9, 2025
349d79a
Rename openmmdl/openmmdl_analysis/visualization.ipynb to openmmdl/ope…
talagayev May 9, 2025
f62e09c
Update pyproject.toml
talagayev May 9, 2025
690fe8f
Update visualization.py
talagayev May 9, 2025
c9e316a
Update markovchains.py
talagayev May 9, 2025
a918088
Update markovchains.rst
talagayev May 9, 2025
9ff4e0e
Update markovchains.rst
talagayev May 9, 2025
6407286
Update bindingmodes.rst
talagayev May 10, 2025
05ccd90
Update bindingmodes.py
talagayev May 10, 2025
11d25b2
Update bindingmodes.rst
talagayev May 10, 2025
1404653
Update bindingmodes.py
talagayev May 10, 2025
ef8296a
Update bindingmodes.rst
talagayev May 10, 2025
4fe7b75
Update bindingmodes.rst
talagayev May 10, 2025
c65e5d5
Update interactions.rst
talagayev May 10, 2025
eb5c279
Update interactions.py
talagayev May 10, 2025
c9866b2
Update rmsd.py
talagayev May 11, 2025
6473a49
Update rmsd.rst
talagayev May 11, 2025
2f02e18
Update rmsd.py
talagayev May 11, 2025
cd3e301
Update stablewaters.rst
talagayev May 11, 2025
80e94a6
Update stablewaters.rst
talagayev May 11, 2025
4d17c46
Update wateranalysis.py
talagayev May 11, 2025
723a21b
Update markovchains.rst
talagayev May 11, 2025
96711f0
Update interactions.rst
talagayev May 11, 2025
e25a6eb
Update bindingmodes.rst
talagayev May 11, 2025
488aebd
Update markovchains.py
talagayev May 16, 2025
ad70ca9
Update rmsd.py
talagayev May 16, 2025
e2ac173
Update rmsd.py
talagayev May 16, 2025
291adb6
Update markovchains.rst
talagayev May 16, 2025
8a2f920
Update rmsd.rst
talagayev May 16, 2025
1f33b42
Update wateranalysis.py
talagayev May 16, 2025
7726155
Update stablewaters.rst
talagayev May 16, 2025
1fb8363
Update rmsd.rst
talagayev May 16, 2025
25b0554
Update pharmacophore.py
talagayev May 16, 2025
d78b93c
Create utils.rst
talagayev May 16, 2025
d1615a6
Update api.rst
talagayev May 16, 2025
b3d7966
Update api.rst
talagayev May 16, 2025
0f2d662
Update figures.rst
talagayev May 16, 2025
b608080
Update api.rst
talagayev May 16, 2025
8aa9ddc
Update figures.rst
talagayev May 16, 2025
18b4dc2
Update trajectories.py
talagayev May 16, 2025
4ca5e6c
Update trajectories.rst
talagayev May 16, 2025
127233d
Update highlighting.rst
talagayev May 17, 2025
2997680
Update highlighting.rst
talagayev May 17, 2025
18468f2
Update highlighting.py
talagayev May 17, 2025
e66213a
Update pharmacophore.rst
talagayev May 17, 2025
a58299c
Update pharmacophore.py
talagayev May 17, 2025
5109d73
Update pharmacophore.py
talagayev May 17, 2025
d8c022c
Update pharmacophore.py
talagayev May 17, 2025
119e15c
Update pharmacophore.py
talagayev May 17, 2025
774043c
Update pharmacophore.py
talagayev May 17, 2025
e6b749e
Update pharmacophore.py
talagayev May 17, 2025
27b7ba8
Update pharmacophore.rst
talagayev May 17, 2025
ad66803
Update barcodes.py
talagayev May 17, 2025
e5a2ce2
Create barcodes.rst
talagayev May 17, 2025
020e7c3
Update api.rst
talagayev May 17, 2025
d719127
Create visualization.rst
talagayev May 17, 2025
54e78f5
Update api.rst
talagayev May 17, 2025
b7f0964
Update visualization.py
talagayev May 17, 2025
eb7db78
Update test_pharmacophore.py
talagayev May 17, 2025
1eb170e
Update CHANGELOG.md
talagayev May 22, 2025
c3773e2
Merge pull request #149 from talagayev/file_renaming_documentation
talagayev May 22, 2025
5380861
Update _version.py
talagayev May 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/CI-CD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
- name: Run black formatter
run: |
black -l 99 .
black -l 99 . --exclude '\.ipynb$'
- name: Install pytest and run tests
run: |
Expand Down
25 changes: 20 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,34 @@ The rules for this file:
* accompany each entry with github issue/PR number (Issue #xyz)
-->

## [Unreleased]
## Version 1.1.0

### Authors
<!-- GitHub usernames of contributors to this release -->
talagayev, NDoering99

### Added
<!-- New added features -->
- Addition of option to select final frame in OpenMMDL Analysis (2025-04-23, Issue #136, PR #140)
- Addition of `MDontallo` Visualization (2025-04-11)
- Addition of `SMIRNOFF` small molecule force field (2025-04-10, Issue #76)
- Addition of `PyMOL` support for visualization (2025-04-10)
- Added `Dockerfile` for image creation (2025-04-10)
- Addition of citation page in documentation (2025-04-10)

### Fixed
<!-- Bug fixes -->
- Fixed error cases, where `ligand name` was not specified (2025-04-22, Issue #138, PR #139)
- Fixed wrong color of the positive and negative ionizable interactions (2025-04-21, PR #137)
- Fixed the `XMLSerializer` error appearing during simulation (2025-04-10, Issue #122)
- Fixed the `sanitization` implementation in OpenMMDL Setup (2025-04-09)

### Changed
<!-- Changes in existing functionality -->
- Scripts moved into `analysis`, `core` and visualization` sections (PR #149)
- Functions `update_dict`, `combine_subdict_values`, `update_values`, `remove_duplicate_values`,
`read_pdb_as_dataframe` and `filter_and_parse_pdb`were moved to `utils.py` (PR #149)
- Classes `ImageMerger` and `FigureArranger` were moved to `image_handler.py`
(2025-04-30, Issue #141, PR #142)
- The class `TrajectorySaver` was moved to `trajectory_saving.py` (2025-04-24, Issue #141, PR #142)
- Changed to the use of `RDKitConverter` for Ligand recognition
without `-l` flag in `OpenMMDL Analysis` (2025-04-10)

### Deprecated
<!-- Soon-to-be removed features -->
Expand Down
37 changes: 37 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM ubuntu:22.04

# Install Miniconda
RUN apt-get update && apt-get install -y wget && \
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
rm miniconda.sh && \
apt-get clean && rm -rf /var/lib/apt/lists/*

# Set environment variables
ENV PATH="/opt/conda/bin:$PATH"

# Create and activate a conda environment
RUN conda create --name openmmdl_env python=3.12 -y && \
echo "conda activate openmmdl_env" >> ~/.bashrc

# Install OpenMM and other dependencies
RUN conda install -n openmmdl_env -c conda-forge openmmdl -y

# Set environment variables for OpenMM
ENV PATH /opt/conda/envs/openmmdl_env/bin:$PATH
ENV CONDA_DEFAULT_ENV openmmdl_env

# Set working directory
WORKDIR /app

# Copy the OpenMMDL repository that you already cloned locally
COPY . /app

# Install OpenMMDL
RUN pip install .

# Optional: install Jupyter if you want to run notebooks
# RUN pip install jupyterlab

# Default command to run bash
CMD ["/bin/bash"]
46 changes: 42 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ OpenMMDL @ Molecular Design Lab

| **Release** | [![Last release tag][badge_release]][url_latest_release] ![GitHub commits since latest release (by date) for a branch][badge_commits_since]|
| :----------------- | :------- |
| **Availability** | [![Condaforge][badge_conda_forge]][url_conda_forge]|
| **Availability** | [![Condaforge][badge_conda_forge]][url_conda_forge] ![Docker][badge_docker]|
| **Workflows** | ![CI_CD][badge_ci_cd] ![CodeQL][badge_codeql]|
| **Documentation** | [![docs][badge_docs]][url_docs] [![codecov][badge_codecov]][url_codecov]|
| **Dependencies** | [![rdkit][badge_rdkit]][url_rdkit] [![mdanalysis][badge_mda]][url_mda] [![Code style: black][badge_black]][url_black]|
Expand All @@ -25,6 +25,28 @@ http://openmmdl.readthedocs.io/

conda install -c conda-forge openmmdl

## Installation via docker

**OpenMMDL** is mainly supported for Linux distribution systems, thus for Windows and MacOS the installation with docker may be preferred,
due to docker creating an image with ubuntu:22.04

For this first clone this repository

cd ~
git clone https://github.com/wolberlab/OpenMMDL

change the path to the OpenMMDL folder and build the docker image from there

cd OpenMMDL
docker build -t openmmdl_env .

This will build the OpenMMDL image with docker. Now that it is build you can access it through an interactive terminal

docker run -it --name openmmdl_test openmmdl_env

From there you can access all the OpenMMDL entry points. Currently due to OpenMMDL Setup using flask it can be difficult
to access it through the docker image.

## Installation via repository

#### Clone this repository
Expand Down Expand Up @@ -157,16 +179,31 @@ Start the analysis with the following Inputs:
#### Visualization
Most of the analysis outputs are JEPG images and do not need any further preparation to be viewed.

For the visualization of your trajectory with interaction pointclouds you can use the jupyter notebook prepared in the **OpenMMDL** repository.
For the visualization of your complex with interaction pointclouds you can use NGLView with the jupyter notebook prepared in the **OpenMMDL** repository or visualize the pointclouds in PyMOL.

Or use this command:
### Usage
```
openmmdl_visualization
```
Then edit the notebook to include the output of your analysis.
#### Optional:
--type = Software you wish to visualize openmmdl interactions with. Options: nglview, pymol. Default: nglview
#### NGLView
After running the start comand a jupyter notebook will automatically open.
Edit the notebook to include the output files of your analysis.
Then run all cells.
#### PyMOL
After running the start comand a python skript will apear in your directory.
Open up PyMOL then run these two comands in the PyMOL console:
```
run visualization_pymol.py
openmdl_visualization PATH_TO_interacting_waters.pdb, modulePATH_TO_clouds.json
```
## Copyright
Copyright (c) 2022, Valerij Talagayev, Yu Chen, Niklas Piet Doering & Leon Obendorf (Wolber lab)

### Citation
If you use OpenMMDL in your research, please cite the following [paper](https://doi.org/10.1021/acs.jcim.4c02158).

#### Acknowledgments

The Script is based upon the OpenMM Toolkit [OpenMM](https://github.com/openmm)
Expand Down Expand Up @@ -194,6 +231,7 @@ This Project is based on the
[badge_mda]: https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA
[badge_black]: https://img.shields.io/badge/code%20style-black-000000.svg
[badge_license]: https://img.shields.io/badge/License-MIT-blue.svg
[badge_docker]: https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=fff

[url_latest_release]: https://github.com/wolberlab/openmmdl/releases
[url_ci_cd]: https://github.com/wolberlab/OpenMMDL/actions/workflows/CI-CD.yml
Expand Down
48 changes: 43 additions & 5 deletions docs/api.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
API Documentation
=================
==============================

.. autosummary::
:toctree: autosummary
Here is the API Documentation.

openmmdl
The following API represents the MoleculeVisualizer, which is responsible for the display of the
molecule in IPywidgets.


OpenMMDL Analysis API
------------------------------
**OpenMMDL Analysis** consists of **analysis**, **core** and **visualization** modules.

Here is the API of the **analysis** modules:

.. toctree::
:maxdepth: 3
:caption: API Analysis Modules:

modules/openmmdl_analysis/analysis/bindingmodes
modules/openmmdl_analysis/analysis/interactions
modules/openmmdl_analysis/analysis/markovchains
modules/openmmdl_analysis/analysis/rmsd
modules/openmmdl_analysis/analysis/stablewaters


Here is the API of the **core** modules:

.. toctree::
:maxdepth: 3
:caption: API Core Modules:

modules/openmmdl_analysis/core/preprocessing
modules/openmmdl_analysis/core/trajectories
modules/openmmdl_analysis/core/utils

Here is the API of the **visualization** modules:

.. toctree::
:maxdepth: 3
:caption: API Visualization Modules:

modules/openmmdl_analysis/visualization/barcodes
modules/openmmdl_analysis/visualization/figures
modules/openmmdl_analysis/visualization/highlighting
modules/openmmdl_analysis/visualization/pharmacophore
modules/openmmdl_analysis/visualization/visualization
21 changes: 21 additions & 0 deletions docs/citation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Citation
====================

If you use OpenMMDL in your research, please cite the following `paper <https://doi.org/10.1021/acs.jcim.4c02158>`_:

.. code-block:: text

@article{doi:10.1021/acs.jcim.4c02158,
author = {Talagayev, Valerij and Chen, Yu and Doering, Niklas Piet and Obendorf, Leon and Denzinger, Katrin and Puls, Kristina and Lam, Kevin and Liu, Sijie and Wolf, Clemens Alexander and Noonan, Theresa and Breznik, Marko and Knaus, Petra and Wolber, Gerhard},
title = {OpenMMDL - Simplifying the Complex: Building, Simulating, and Analyzing Protein–Ligand Systems in OpenMM},
journal = {Journal of Chemical Information and Modeling},
volume = {65},
number = {4},
pages = {1967-1978},
year = {2025},
doi = {10.1021/acs.jcim.4c02158},
note ={PMID: 39933881},
URL = {https://doi.org/10.1021/acs.jcim.4c02158},
eprint = {https://doi.org/10.1021/acs.jcim.4c02158}
}

10 changes: 10 additions & 0 deletions docs/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@ What OS does OpenMMDL support?

**OpenMMDL** is available for Linux and Mac systems. **OpenMMDL Setup** and **OpenMMDL Simulation** are currently incompatible with Windows systems, thus only **OpenMMDL Analysis** of the **OpenMMDL** package can be used on Windows systems.

How can I install OpenMMDL?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**OpenMMDL** is available as a conda package. To install it, you can use the following command:
.. code-block:: text
conda install -c conda-forge openmmdl
How do I cite OpenMMDL?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please refer to the :doc:`citation` page.

OpenMMDL Setup
------------------------------------
Expand Down
5 changes: 3 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
:caption: User guide:

installation
changelog
citation
faq

.. toctree::
Expand Down Expand Up @@ -57,8 +59,7 @@
:maxdepth: 1
:caption: API Docs

openmmdl_simulation_functions
openmmdl_analysis_functions
api


Introduction
Expand Down
55 changes: 48 additions & 7 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@

This page details how to install **OpenMMDL** on your local device.

Installation via conda-forge
------------------------------

**OpenMMDL** is implemented in conda-forge and can be installed for linux-based system with the following command line:

.. code-block:: text

conda install -c conda-forge openmmdl

Installation via repository
------------------------------
**OpenMMDL** can be installed through the cloning of the repository and the installation of the required packages listed in *environment.yml* or *requirements.txt*

The first step of the installation of **OpenMMDL** on your device consists in the cloning of **OpenMMDL** to your home directory.
This can be achieved by using the following command lines:
Expand All @@ -12,21 +24,50 @@ This can be achieved by using the following command lines:
cd ~
git clone https://github.com/wolberlab/OpenMMDL


The next step consists of installing all required dependencies in a new separate environment, which will be used to run the **OpenMMDL** package.
**OpenMMDL** is written in Python 3.10 and uses several packages, which can be easily installed on a separate environment using conda (we recommend using miniconda):

.. code-block:: text

cd OpenMMDL
conda create -n openmmdl c conda-forge --file requirements.txt

After installation, activate the conda environment and install the **OpenMMDL** package:
(Be sure, you are still within the OpenMMDL folder)
conda create -n openmmdl -c conda-forge --file requirements.txt

After installation, activate the conda environment:

.. code-block:: text

conda activate openmmdl

Install the **OpenMMDL** package with the required entry points via pip:

.. code-block:: text

pip install .

This should lead to the environment having now all the required packages and entry points for **OpenMMDL**.

Installation via Docker
------------------------------

**OpenMMDL** is mainly supported for Linux distribution systems, thus for Windows and MacOS the installation with docker may be preferred, due to docker creating an image with *ubuntu:22.04*.

For this first clone this repository:

.. code-block:: text

cd ~
git clone https://github.com/wolberlab/OpenMMDL

change the path to the **OpenMMDL** folder and build the docker image from there:

.. code-block:: text

cd OpenMMDL
docker build -t openmmdl_env .

This will build the **OpenMMDL** image with docker. Now that it is build you can access it through an interactive terminal:

.. code-block:: text

docker run -it --name openmmdl_test openmmdl_env

Now with **OpenMMDL** being installed on the local device, everything is set up to work with **OpenMMDL**.
From there you can access all the **OpenMMDL** entry points. Currently due to **OpenMMDL Setup** using flask it can be difficult to access it through the docker image.
Loading
Loading