Skip to content
Merged
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
8cd4455
imdreader et al removed
amruthesht Feb 19, 2025
95a70fa
Chnages to remove IMDReader
amruthesht Mar 12, 2025
fa25049
minimalReader for tests
amruthesht Mar 18, 2025
3c72675
Code Changes
amruthesht Apr 2, 2025
72fa772
Minor changes
amruthesht Apr 2, 2025
9e906f0
Minimal reader and corresponding test-suite clean up
amruthesht Apr 9, 2025
fb0d1b7
Chore: `n_atoms` extracted using `mdanalysis`
amruthesht Apr 9, 2025
5485680
Merge branch 'main' into imdreader-split
orbeckst Apr 9, 2025
bcf6f7c
Merge branch 'main' into imdreader-split
orbeckst Apr 9, 2025
b2bb3c9
Added: `copy` method to `IMDFrame`
amruthesht Apr 10, 2025
db10481
Minor changes
amruthesht Apr 15, 2025
f387059
Fix: dimensions in IMDFrame
amruthesht Apr 15, 2025
4769c4f
Changes: Removed tests for `dt`
amruthesht Apr 16, 2025
4554ad9
Fix: Change how box dimensions are stored
amruthesht Apr 16, 2025
859b0fe
Fix: `close()` method and fix `wait`-related tests
amruthesht Apr 16, 2025
a0cc914
Change: using deepcopy instead and dimensions created by assignment
amruthesht Apr 28, 2025
2afdb82
Fix: minimalReader process_stream behavior to change IMD_WAIT effect
amruthesht May 13, 2025
17fadae
Fix: update NAMD input frequency
amruthesht May 14, 2025
e8e4fc6
Modify/Fix: tests for GROMACS/LAMMPS
amruthesht May 27, 2025
b4ff92e
Fix: GROMACS/LAMMPS tests for step
amruthesht May 28, 2025
b8a7cad
Cleanup: Fix small issues in manual tests
amruthesht Jun 2, 2025
a108f42
Update docs and imports
jaclark5 May 5, 2025
abe3488
Update imports
jaclark5 May 5, 2025
3d4c6a1
Fix: update NAMD steps further
amruthesht May 14, 2025
4340015
Fix import
jaclark5 May 24, 2025
f310986
Fix: PR #64 merge conflicts
amruthesht Jun 2, 2025
dfeee77
Add: `minimalReader` usage
amruthesht Jun 2, 2025
f2e2e48
Chore: fix dependencies for examples
amruthesht Jun 3, 2025
5b6854b
Change: `minimalReader` chnaged to `MinimalReader`
amruthesht Jun 3, 2025
c29c57f
Doc: `MinimalReader` doc update for class
amruthesht Jun 3, 2025
1fa261b
Fix: `pop_full_imdframe` doc comments
amruthesht Jun 3, 2025
c12b91d
Chore: Remove example dependencies installation
amruthesht Jun 3, 2025
7bac503
Fix: indentation `index.rst`
amruthesht Jun 3, 2025
12ec780
Chore: Minor clean ups and changes
amruthesht Jun 19, 2025
f1a1a6f
Change: `minimalreader`-free examples in `usage.rst` and `examples` d…
amruthesht Jun 23, 2025
3c70b6e
Fix: Lammps topology settings for MDA under examples
amruthesht Jun 23, 2025
282c3ed
Fix: remove `process_stream` under `test_wait_after_disconnect`
amruthesht Jun 23, 2025
17e4f71
Doc: add doc_string for `parse_host_port()`
amruthesht Jun 23, 2025
382fc49
Add: Unit tests for `parse_host_port`
amruthesht Jun 23, 2025
4846157
Add: utils test to GH-CI
amruthesht Jun 23, 2025
f34eac6
parse mdp/inp for dt
ljwoods2 Jun 24, 2025
73556cc
Merge branch 'main' into test_dt
orbeckst Jun 24, 2025
7662f5b
Merge branch 'main' into imdreader-split
orbeckst Jun 24, 2025
ebef779
Merge branch 'main' into imdreader-split
orbeckst Jun 24, 2025
56d18ef
Update: `.toml` to fix dependencies
amruthesht Jun 25, 2025
59b4306
Update: CHANGELOG
amruthesht Jun 25, 2025
a329edf
Merge branch 'imdreader-split' into test_dt
ljwoods2 Jun 25, 2025
b5bd892
Merge pull request #71 from Becksteinlab/test_dt
ljwoods2 Jun 25, 2025
c6d52c2
change "minimalreader" to MinimalReader
ljwoods2 Jun 25, 2025
6750a39
fix erroneous merge changes from test_dt branch
ljwoods2 Jun 25, 2025
d8bbab9
undo black diffs for test_dt changes
ljwoods2 Jun 25, 2025
f1336b2
ReFormat: all files
amruthesht Jun 25, 2025
7c6cb4b
Add: NAMD tests for `dt`
amruthesht Jun 25, 2025
45c4a1d
Chore: Minor cleanup and add checks for tests
amruthesht Jun 25, 2025
158bb4c
remove all assertion guards
ljwoods2 Jun 27, 2025
8848d4d
Chore: Minor cleanups
amruthesht Jun 27, 2025
5d063e0
Merge branch 'main' into imdreader-split
orbeckst Jun 27, 2025
0f1f62b
Update: Examples to output simple info
amruthesht Jun 27, 2025
cdbbd1c
Add: Added Amruthesh as contributor/maintainer
amruthesht Jun 27, 2025
2eb3425
Apply suggestions from code review
orbeckst Jun 27, 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
34 changes: 8 additions & 26 deletions .github/workflows/gh-ci.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if coverage is correctly reported but this may be something to figure out once this is merged.

Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,10 @@ jobs:
needs: environment-config
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macOS-latest, ubuntu-latest]
python-version: ["3.10", "3.11", "3.12"]
mdanalysis-version: ["latest"]
fail-fast: false
matrix:
os: [macOS-latest, ubuntu-latest]
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -81,16 +80,7 @@ jobs:
show-channel-urls: true
miniconda-version: latest


- name: Install MDAnalysis version
uses: MDAnalysis/install-mdanalysis@main
with:
version: ${{ matrix.mdanalysis-version }}
install-tests: true
installer: conda
shell: bash -l {0}

- name: Install package
- name: Install imdclient
run: |
python --version
python -m pip install . --no-deps
Expand All @@ -106,10 +96,10 @@ jobs:
- name: Run IMDClient tests
run: |
pytest -n auto -v --cov=imdclient --cov-report=xml --color=yes imdclient/tests/test_imdclient.py
- name: Run IMDReader tests

- name: Run package utilities tests
run: |
pytest -n auto -v --cov=imdclient --cov-report=xml --color=yes imdclient/tests/test_imdreader.py
pytest -n auto -v --cov=imdclient --cov-report=xml --color=yes imdclient/tests/test_utils.py

- name: codecov
if: github.event_name != 'schedule'
Expand Down Expand Up @@ -174,14 +164,6 @@ jobs:
show-channel-urls: true
miniconda-version: latest

- name: Install MDAnalysis version
uses: MDAnalysis/install-mdanalysis@main
with:
version: latest
install-tests: true
installer: conda
shell: bash -l {0}

- name: Install package
run: |
python --version
Expand Down
2 changes: 1 addition & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ IMDClient was created by Lawson in 2024.


<!-- All contributing authors are listed in this file below.
The repository history at https://github.com/becksteinlab/imdreader
The repository history at https://github.com/becksteinlab/imdclient
and the CHANGELOG show individual code contributions. -->

## Chronological list of authors
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,20 @@ The rules for this file:

### Authors
<!-- GitHub usernames of contributors to this release -->
@amruthesht @ljwoods2

### Added
<!-- New added features -->
* Updated installation instructions by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/74
* MD engine links updated in IMDClient documnetation by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/73
* Parse input files for DT when not in traj by @ljwoods2 in https://github.com/Becksteinlab/imdclient/pull/71

### Fixed
<!-- Bug fixes -->

### Changed
<!-- Changes in existing functionality -->
* IMDReader removed from imdclient by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/54

### Deprecated
<!-- Soon-to-be removed features -->
Expand All @@ -38,6 +43,29 @@ The rules for this file:



## [v0.1.5-alpha] - 2025-06-24

### Authors
<!-- GitHub usernames of contributors to this release -->
@orbeckst @amruthesht @hcho38 @ljwoods2

### Added
<!-- New added features -->
* NAMD Testing with private image + Docs by @ljwoods2 in https://github.com/Becksteinlab/imdclient/pull/46
* Lammps usage docs by @ljwoods2 in https://github.com/Becksteinlab/imdclient/pull/49
* Instructions for various namd builds by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/51
* chore: added client.py files and cleaned uo output data from examples by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/52
* add codecov token to workflow by @orbeckst in https://github.com/Becksteinlab/imdclient/pull/60
* add sphinx.configuration for RTD by @orbeckst in https://github.com/Becksteinlab/imdclient/pull/62
* Updated CHANGELOG based on the release notes of IMDClient by @hcho38 in https://github.com/Becksteinlab/imdclient/pull/67
* `IMD_TIME` packet definitions modified by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/68

### Changed
<!-- Changes in existing functionality -->
* Run all simulation enegine tests regardless of failed tests by @amruthesht in https://github.com/Becksteinlab/imdclient/pull/69



## [v0.1.4] - 2024-12-13

### Authors
Expand Down
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,23 @@ IMDClient
| **Latest release** | [![Last release tag][badge_release]][url_latest_release] ![GitHub commits since latest release (by date) for a branch][badge_commits_since] [![Documentation Status][badge_docs]][url_docs]|
| :----------------- | :------- |
| **Status** | [![GH Actions Status][badge_actions]][url_actions] [![codecov][badge_codecov]][url_codecov] |
| **Community** | [![License: MIT][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda]|
| **Community** | [![License: MIT][badge_license]][url_license]

[badge_actions]: https://github.com/becksteinlab/imdclient/actions/workflows/gh-ci.yaml/badge.svg
[badge_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main/graph/badge.svg
[badge_commits_since]: https://img.shields.io/github/commits-since/becksteinlab/imdclient/latest
[badge_docs]: https://readthedocs.org/projects/imdclient/badge/?version=latest
[badge_license]: https://img.shields.io/badge/License-MIT-blue.svg
[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_release]: https://img.shields.io/github/release-pre/becksteinlab/imdclient.svg
[url_actions]: https://github.com/becksteinlab/imdclient/actions?query=branch%3Amain+workflow%3Agh-ci
[url_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main
[url_docs]: https://imdclient.readthedocs.io/en/latest/?badge=latest
[url_latest_release]: https://github.com/becksteinlab/imdclient/releases
[url_license]: https://opensource.org/license/mit
[url_mda]: https://www.mdanalysis.org

Receiver for [IMDv3 protocol](https://imdclient.readthedocs.io/en/latest/protocol_v3.html) from simulation engines like Gromacs, LAMMPS, and NAMD.

IMDClient is bound by a [Code of Conduct](https://github.com/becksteinlab/imdreader/blob/main/CODE_OF_CONDUCT.md).
IMDClient is bound by a [Code of Conduct](https://github.com/becksteinlab/imdclient/blob/main/CODE_OF_CONDUCT.md).

### Installation

Expand Down Expand Up @@ -53,8 +51,8 @@ conda activate imdclient
<!-- Install the development and documentation dependencies:

```
conda env update --name imdreader --file devtools/conda-envs/test_env.yaml
conda env update --name imdreader --file docs/requirements.yaml
conda env update --name imdclient --file devtools/conda-envs/test_env.yaml
conda env update --name imdclient --file docs/requirements.yaml
``` -->

Build this package from source:
Expand Down Expand Up @@ -102,4 +100,3 @@ Copyright (c) 2024, Lawson

Project based on the
[MDAnalysis Cookiecutter](https://github.com/MDAnalysis/cookiecutter-mda) version 0.1.
<!-- Please cite [MDAnalysis](https://github.com/MDAnalysis/mdanalysis#citation) when using IMDReader in published work. -->
6 changes: 3 additions & 3 deletions devtools/conda-envs/test_env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ dependencies:
- pip

# MDAnalysis
- MDAnalysis>=2.7.0
- MDAnalysis

# Testing
- pytest
- pytest-cov
- pytest-xdist
- codecov
- MDAnalysisTests>=2.7.0
- MDAnalysisTests
- docker-py

# Pip-only installs
#- pip:
# - pip:
# - codecov

7 changes: 2 additions & 5 deletions docs/requirements.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
name: imdreader-docs
name: imdclient-docs
channels:

- conda-forge

dependencies:
# Base depends
- python
- pip

- mdanalysis-sphinx-theme >=1.0.1
- sphinxcontrib-bibtex
# Pip-only installs
#- pip:
# - pip:
1 change: 0 additions & 1 deletion docs/source/api.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
API Documentation
=================

.. automodule:: imdclient.IMD
.. automodule:: imdclient.IMDClient
13 changes: 8 additions & 5 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
.. imdclient documentation master file, created by
sphinx-quickstart on Thu Mar 15 13:55:56 2018.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.

Welcome to IMDClient's documentation!
=========================================================

IMDClient is a Python-based client library designed to interact with simulation engines making interactive molecular dynamics
(IMD) possible. It provides tools for communicating with the IMDv2 and new IMDv3 protocols, enabling seamless integration
between its API with simulation engines such as NAMD, LAMMPS, and GROMACS. Users can leverage this library to build
applications that interact with the IMD system efficiently, e.g., MDAnalysis IMDReader. IMDv3 has been standardized across
supported simulation engines with regard to transmitted data and is processed in IMDClient to provide consistent
`units <protocol_v3.html#units>`_. See `IMDv3 Protocol <protocol_v3.html>`_ for more details. IMDClient is ideal for
developers looking to produce on-the-fly analysis, avoiding storage of large trajectories.

.. toctree::
:maxdepth: 2
:caption: Contents:
Expand Down
Loading
Loading