breaking(gmx): remove in-tree GROMACS patch integration#5377
breaking(gmx): remove in-tree GROMACS patch integration#5377njzjz-bot wants to merge 4 commits intodeepmodeling:masterfrom
Conversation
Remove the obsolete source/gmx tree, drop the related CMake wiring, and replace the old GROMACS documentation with deprecation notices that point users to LAMMPS or the third-party implementation linked from issue deepmodeling#5360. Also remove the bundled GROMACS-only examples and clean up residual references in README, troubleshooting docs, labels, and API comments. Authored by OpenClaw (model: gpt-5.4)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (4)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughRemoves the in-tree GROMACS integration: deletes GROMACS plugin sources, build rules, patches, patching utility, and GROMACS examples; updates docs and configs to deprecate/remove GROMACS references and point users to third‑party or LAMMPS/i-PI alternatives. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@doc/install/install-gromacs.md`:
- Around line 9-10: Replace the deprecated directive token "next release" in the
deprecation block (:::{deprecated} next release) with the explicit target
release version used elsewhere (for example "3.0.0") so the notice matches other
deprecation notices; update the line that begins with :::{deprecated} to use the
chosen semantic version string.
In `@doc/third-party/gromacs.md`:
- Around line 9-10: Replace the ambiguous deprecation directive "{deprecated}
next release" in the GROMACS docs with a concrete version to match other files;
update the directive in the locations referencing GROMACS (the "{deprecated}
next release" occurrences in gromacs.md and install-gromacs.md) to a specific
version string such as "{deprecated} 3.0.0" (or the actual first version where
removal applies) so the deprecation marker is consistent with "{deprecated}
3.0.0" used elsewhere.
In `@source/CMakeLists.txt`:
- Around line 490-492: The status message claiming "use gcc/g++ >= 4.8" is
inconsistent with the actual guard that uses VERSION_GREATER 4.8 for the ipi/
subdirectory (and md/ is commented out), so update the build logic to match the
message: change the ipi/ gate from VERSION_GREATER 4.8 to VERSION_GREATER_EQUAL
4.8 (or alternatively change the message to state "> 4.8"); locate the
VERSION_GREATER check that controls the ipi/ add_subdirectory and make it use
VERSION_GREATER_EQUAL 4.8 so gcc/g++ 4.8 exactly will enable the i-PI driver as
the message promises.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: e093532d-03b6-4a73-9a70-b9122b4e59ec
⛔ Files ignored due to path filters (1)
examples/water/gmx/rdf.pngis excluded by!**/*.png
📒 Files selected for processing (37)
.github/labeler.ymlAGENTS.mdREADME.mddoc/getting-started/quick_start.ipynbdoc/install/index.rstdoc/install/install-from-c-library.mddoc/install/install-gromacs.mddoc/third-party/gromacs.mddoc/third-party/index.rstdoc/troubleshooting/installation.mdexamples/methane/index.rawexamples/methane/input.jsonexamples/methane/lig_solv.groexamples/methane/md.mdpexamples/methane/methane.itpexamples/methane/run.shexamples/methane/topol.topexamples/methane/type.rawexamples/water/gmx/index.rawexamples/water/gmx/input.jsonexamples/water/gmx/md.mdpexamples/water/gmx/md.shexamples/water/gmx/type.rawexamples/water/gmx/water.groexamples/water/gmx/water.topsource/CMakeLists.txtsource/api_cc/include/DeepPot.hsource/api_cc/include/DeepSpin.hsource/gmx/.gitignoresource/gmx/CMakeLists.txtsource/gmx/dp_gmx_patchsource/gmx/include/gmx_plugin.hsource/gmx/patches/2020.2/CMakeLists.txt.patch.insource/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.cpp.patchsource/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.h.patchsource/gmx/patches/2020.2/src/gromacs/mdlib/sim_util.cpp.patchsource/gmx/src/gmx_plugin.cpp
💤 Files with no reviewable changes (27)
- doc/install/index.rst
- source/gmx/.gitignore
- doc/third-party/index.rst
- examples/methane/index.raw
- examples/methane/input.json
- examples/water/gmx/index.raw
- .github/labeler.yml
- examples/methane/type.raw
- examples/water/gmx/input.json
- examples/water/gmx/type.raw
- examples/methane/lig_solv.gro
- source/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.h.patch
- examples/methane/md.mdp
- examples/methane/run.sh
- examples/methane/methane.itp
- source/gmx/patches/2020.2/CMakeLists.txt.patch.in
- examples/water/gmx/md.mdp
- examples/methane/topol.top
- examples/water/gmx/md.sh
- examples/water/gmx/water.gro
- source/gmx/src/gmx_plugin.cpp
- source/gmx/CMakeLists.txt
- examples/water/gmx/water.top
- source/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.cpp.patch
- source/gmx/patches/2020.2/src/gromacs/mdlib/sim_util.cpp.patch
- source/gmx/include/gmx_plugin.h
- source/gmx/dp_gmx_patch
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Removes the repository’s in-tree GROMACS patch/plugin integration and updates documentation/examples to reflect deprecation and point users to supported alternatives.
Changes:
- Deletes the
source/gmxbuild/patch implementation and related patch assets. - Removes GROMACS example inputs and updates build system / labeler configuration accordingly.
- Replaces GROMACS install/usage docs with deprecation notices and cleans up remaining references across docs/README/notebooks.
Reviewed changes
Copilot reviewed 37 out of 38 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| source/gmx/src/gmx_plugin.cpp | Removes the GROMACS plugin implementation source file. |
| source/gmx/patches/2020.2/src/gromacs/mdlib/sim_util.cpp.patch | Deletes the bundled GROMACS patch hunk for force/energy integration. |
| source/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.h.patch | Removes patch for Deepmd globals/hooks in GROMACS headers. |
| source/gmx/patches/2020.2/src/gromacs/mdlib/forcerec.cpp.patch | Removes patch for initializing DeePMD integration in GROMACS. |
| source/gmx/patches/2020.2/CMakeLists.txt.patch.in | Removes patch template that injected DeePMD linking into GROMACS CMake. |
| source/gmx/include/gmx_plugin.h | Deletes in-tree public header for the GROMACS plugin. |
| source/gmx/dp_gmx_patch | Removes the helper script used to patch/revert GROMACS sources. |
| source/gmx/CMakeLists.txt | Removes the CMake subproject that built/installed the GROMACS plugin. |
| source/gmx/.gitignore | Removes ignore rule used for generated patch files (no longer needed). |
| source/api_cc/include/DeepSpin.h | Updates API comment to drop GROMACS as a stated consumer. |
| source/api_cc/include/DeepPot.h | Updates API comment to drop GROMACS as a stated consumer. |
| source/CMakeLists.txt | Removes GROMACS plugin build hooks/vars from the main build. |
| examples/water/gmx/water.top | Deletes GROMACS example topology. |
| examples/water/gmx/water.gro | Deletes GROMACS example coordinates. |
| examples/water/gmx/type.raw | Deletes GROMACS example type mapping. |
| examples/water/gmx/md.sh | Deletes GROMACS example run script. |
| examples/water/gmx/md.mdp | Deletes GROMACS example mdp parameters. |
| examples/water/gmx/input.json | Deletes GROMACS example DeePMD input config. |
| examples/water/gmx/index.raw | Deletes GROMACS example atom indices file. |
| examples/methane/type.raw | Deletes methane example type mapping (GROMACS-related). |
| examples/methane/topol.top | Deletes methane GROMACS topology wrapper. |
| examples/methane/run.sh | Deletes methane GROMACS run script. |
| examples/methane/methane.itp | Deletes methane GROMACS itp. |
| examples/methane/md.mdp | Deletes methane GROMACS mdp. |
| examples/methane/lig_solv.gro | Deletes methane GROMACS coordinate file. |
| examples/methane/input.json | Deletes methane DeePMD input config used by GROMACS workflow. |
| examples/methane/index.raw | Deletes methane GROMACS atom indices file. |
| doc/troubleshooting/installation.md | Updates troubleshooting text to remove GROMACS mention. |
| doc/third-party/index.rst | Removes GROMACS page from third-party docs toctree. |
| doc/third-party/gromacs.md | Replaces the GROMACS guide with a deprecation notice page. |
| doc/install/install-gromacs.md | Replaces GROMACS install guide with a deprecation notice page. |
| doc/install/install-from-c-library.md | Removes “GROMACS patch” references; links to deprecation notice for context. |
| doc/install/index.rst | Removes GROMACS install page from install docs toctree. |
| doc/getting-started/quick_start.ipynb | Removes GROMACS mention from the quick start notebook narrative. |
| README.md | Removes GROMACS from the list of integrated MD packages and repo structure. |
| AGENTS.md | Updates project description to remove GROMACS integration mention. |
| .github/labeler.yml | Removes the “Gromacs” label rule tied to source/gmx/**. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Adjust the GROMACS deprecation messaging to keep the external support story visible while making it clear that the in-tree patch was removed in v3.2.0. Also restore the third-party GROMACS page in the docs navigation and add a concise overview of the externally maintained GROMACS NNPot-based integration reported in arXiv:2602.02234, including its demonstrated capabilities and current scope limits. Authored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.4)
Do not single out GROMACS as a third-party integration in the README feature list, since several listed interfaces are also maintained outside the DeePMD-kit repository. Authored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.4)
Refine the GROMACS-related documentation to read like software manual content rather than a paper summary, while keeping the third-party pointer and scope notes useful for users. Also fix the gcc 4.8 boundary inconsistency by aligning the CMake i-PI guard with the documented threshold in troubleshooting. Authored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.4)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5377 +/- ##
==========================================
- Coverage 82.37% 82.37% -0.01%
==========================================
Files 812 812
Lines 83560 83560
Branches 4091 4090 -1
==========================================
- Hits 68832 68829 -3
Misses 13507 13507
- Partials 1221 1224 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Problem
source/gmxintegration, install guides, and examples that make the removed workflow look officially supported.Change
Notes
git diff --check, and JSON validation ofdoc/getting-started/quick_start.ipynb.Authored by OpenClaw (model: gpt-5.4)
Summary by CodeRabbit