-
Notifications
You must be signed in to change notification settings - Fork 731
feature: IMDReader Integration #4923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello there first time contributor! Welcome to the MDAnalysis community! We ask that all contributors abide by our Code of Conduct and that first time contributors introduce themselves on GitHub Discussions so we can get to know you. You can learn more about participating here. Please also add yourself to package/AUTHORS
as part of this PR.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #4923 +/- ##
===========================================
+ Coverage 93.86% 93.88% +0.02%
===========================================
Files 179 180 +1
Lines 22249 22422 +173
Branches 3161 3186 +25
===========================================
+ Hits 20885 21052 +167
Misses 902 902
- Partials 462 468 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Your thoughts on this are appreciated - @orbeckst |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the initial PR.
- The first big step is to get the tests running properly so that the CI uses an imdclient without IMDReader. Otherwise we are not sure we're testing the code here.
- Minor initial comments while I skimmed.
- Simple thing: run
black
over all files to get the formatting and ordering of imports right
I set the PR to Work in progress for the time being, just to indicate that we're not yet at the stage where the CI is working. Once the tests run properly, we can update the status. Obviously, this shouldn't discourage anyone from contributing and commenting. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A first quick look
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read through and nothing jumped out at me that wasn't already mentioned, except that I didn't see these changes in the documentation that was linked. The following needs to be added:
Add doc/sphinx/source/documentation_pages/coordinates/IMD.rst
.. automodule:: MDAnalysis.coordinates.IMD
doc/sphinx/source/documentation_pages/coordinate_modules.rst
coordinates/IMD
doc/sphinx/source/documentation_pages/references.rst
If you use IMD capability...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay, had a lookover, I will try and push some changes addressing some of these myself also, but would be good to pick up the momentum here again if possible.
@amruthesht do we have a plan for pushing ahead with suggested changes? |
Working on the imdclient repository right now. I had a few small issues there with using the |
1. Moved `parse_host_port` to `IMD.py` and deleted `util.py` 2. Cleaned up `test_imd.py` - changes to `assert_*` functions and simplified non-applicable test to pass automatically
@amruthesht kicking CI here. |
@yuxuanzhuang would you be able to have a run through? |
I will have another look at the PR this week. One immediate thing is to add documentation. Please refer to the comments below.
|
Need to figure out tests also @amruthesht |
1. API doc on multiple connections 2. Jupyter usage of `close()` for secure closure of connections
Replace `IMDModuleStateManager` with standard pytest patterns
@amruthesht I think |
This reverts commit cd21d6b.
@hmacdope @yuxuanzhuang what needs to be done to get the PR merged from your end? (I had a cursory look at @IAlibay 's #4923 (review) and it seems to have been addressed but it's ultimately up to @IAlibay .) |
- move details on which engines support multiple connections to imdclient docs (only update one place) and link - rearranged warning/seealso boxes
- state for each engine if they support concurrent connections - minor markup/link reformatting - moved information from MDAnalysis/mdanalysis#4923 to here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay, pings didn't show up in my github feed.
Couple of cosmetic things and then this is good from me.
coordinates/GSD | ||
coordinates/GRO | ||
coordinates/H5MD | ||
coordinates/IMD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remember to open up a PR in the userguide to update the tables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated current Issue #427 with a note about it. I'll work on a PR to make necessary updates to the UserGuide based on it.
Once this is merged, we (= @amruthesht @HeydenLab @orbeckst ) would like to have a rc on pypi so that we can have at least one installable package for the workshop. We also need to update the codespace/docker images so the sooner we can have it, the better. |
Co-authored-by: Irfan Alibay <[email protected]>
@orbeckst RC of MDAnalysis? |
Yes – a 2.10.0-rc1 pypi package so that we can have a "normal" pip install everywhere and when we get 2.10.0 out just before the UGM we have a simple update to the installation instructions (EDIT: and all the scripts inside the containers for the workshop that is supposed to run in codespace). |
How about just cutting a new release? At that point it would be the same amount of work I think. -- edit: I misread what you meant, sorry! I'm not super sure about doing a pypi rc, it's doable for a tarball but we won't be able to do wheels. Maybe TBD in a call at some point? |
1. Alphabetical order for `imclcient` as optional dependency 2. Changed order in `CHANGELOG`
@orbeckst - All remaining requested changes are done. Please let me know if there is anything else |
Congratulations @MDAnalysis/streaming! |
@IAlibay ,
A proper 2.10.0 would also work, of course. I assume a tarball would also work but perhaps we'll move the initial discussion to discord. |
And: hooray 🎉 ! Thank you everyone for all your hard work. |
Yes, let's do that (move to discord), we're overdue a new release I think, python 3.14 is out in two-ish weeks. |
Fixes #4827
This draft PR addresses the feature request discussed in #4827.
Note:
The
IMDReader
feature which was previously a part of theimdclient
package has been moved intoMDAnalysis
below. Any other modules have been in retained inimdclient
, which has been added as an optional dependency here. We are currently in the process of splitting theimdclient
package as mentioned above. (Issue, PR)Major changes made in this Pull Request:
IMDReader
, other associated base classes and a utility function were added to coordinates in the main package.test-imd.py
*.yaml
filesimdclient
was added as an optional dependencyPR Checklist
package/CHANGELOG
file updated?package/AUTHORS
? (If it is not, add it!)Developers Certificate of Origin
I certify that I can submit this code contribution as described in the Developer Certificate of Origin, under the MDAnalysis LICENSE.
📚 Documentation preview 📚: https://mdanalysis--4923.org.readthedocs.build/en/4923/