Post

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 mdadash to 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 BufferedTrajectory compatible for AnalysisBase run
  • Added BufferFrameIteratorIndices to 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-file option
  • 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:

Dihedral angles analysis Dihedral angles analysis

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.

This post is licensed under CC BY 4.0 by the author.