GSoC 2026 - Week 6
Here is week 6 update for my project:
This week, I started with adding support for server side dashboard persistence as part of PR #19.
Here are some of the changes made as part of this PR:
- Added persistence support for dashboard
- All widget instances state (inputs) saved in state manager
- State saved (and read) as a JSON file
- All widget instanes re-created on server startup
- Added a new arg to
mdadashto specify custom state file if needed- Refactored sio handlers and core managers in main.py to separate Class
- Prefixed widget lifecycle handler methods with
on_for consistency- Tests for all new functionality
I then updated BufferedTrajectory to use normal indexing (instead of previous negative indexing) (PR #20) and fixed a timestep buffer overwrite issue in preparation for MDAnalysis AnalysisBase-based classes support. I merged the dependabot updates and fixed issues that newly showed up under ‘Code scanning’ section of the repo.
I added support for using AnalysisBase-based classes within the dashboard widget classes as part of PR #21.
Here are some of the changes made as part of this PR:
- Made
BufferedTrajectorycompatible forAnalysisBaserun- Added
BufferFrameIteratorIndicesto iterate timestep buffer- Added DSSP analysis widget that uses
MDAnalysis.analysis.dssp.DSSP
- Supports per-frame / batch and can run in serial / parallel
- Fix bug in setting input values that are None by default
- Tests for new functionality
I made some cleanups and minor refactoring as part of PR #24 and optimized the plot generation for widgets by using a single fig to improve performance and reduce memory usage as part of part of PR #25.
Here are some of the changes made as part of these PRs:
- Add support for logger in kernel core
- Make time as default x-axis value for current widgets
- Minor refactor to reset the plots during init and post_create for widgets
- Update README and getting started doc with new
--state-fileoption- Use a single fig to update and generate plots
- Improves performance and reduces memory usage
I finally added two new widgets to show Ramachandran and Janin plots for Dihedral angles analysis as part of PR #26.
Here is a screenshot showing these two new widgets:
Release v0.0.5 has all the functionality till the end of week 6.
I wasn’t able to get to adding alerts support as per the original plan due to the work on adding AnalysisBase-based classes support. This has now been pushed to the following weeks.
The next couple of weeks as per the Project Timeline are to add user-defined custom analysis widget support (through a Notebook like interface) and have the tutorial and documentation ready for the mini workshop.
Next week, I will get started on the support for user-defined custom analysis widgets and add the alerts support.

