GSoC 2026 - Week 5
Here is week 5 update for my project:
This week, I added support for batching and parallelization in analysis widgets as part of PR #15. The implementation follows the same approach as discussed in MDAnalysis/mdadash#2. The existing ROG widget has been updated to support both per-frame and batch run frequencies along with serial and parallel run modes (as shown in the cover image above). Both the run frequency and run mode can be changed dynamically at runtime as well from the GUI. The maximum number of parallel jobs to run is also configurable under the ‘Dashboard Configuration’ settings.
Here are some of the changes made as part of this PR:
- Add batching support for analysis widgets
BufferedTrajectorywrapper for existing trajectory reader- Negative indexing to access last n timesteps in deque buffer
- Added
run_per_frameandrun_batchhandlers- Add parallelization support for analysis widgets
- Run parallel jobs using joblib.Parallel in separate thread
- Dynamically patch
IMDReaderto support serialization- Added
get_parallel_jobandapply_parallel_resultshandlers- Update ROG to support both
per-frameandbatchrun frequencies- Update ROG to support both
serialandparallelrun modes- Use
calc_bondsandcenter_of_masswith unwrap for COM distance- Move execute code support to use
run_celldirectly in core- Fix future resolve only for
comm_msgmessage types- Test for all new backend and frontend functionality
- Added docs for all new methods and classes
Support for a few other missing parts were also added: Duplicate widgets support was added as part of PR #13. Energy trends support was added as part of PR #16. A few other usablity enhancements were made as part of this PR:
- Add support for Energy value trends
- Add disconnected overlay when dashboard server unavailable
- Add option to save column preset layouts as default
In addition to this, I refactored the backend tests to be cleaner and independent for each analysis widget as part of PR #17 and PR #18. This should make it easier to add tests as we add new analysis widgets in the future.
v0.0.4 has been released and it has all the functionality till the end of week 5.
Next week, I will get started on the alerts and persistence support for the dashboard.
