---
name: interactive-application-accessibility-testing
description: Use when after instantiating a specXplore dashboard session layer with a loaded session data object from disk, before conducting visual exploration of LC-MS/MS spectral data.
license: CC-BY-4.0
metadata:
  edam_operation: http://edamontology.org/operation_3435
  edam_topics:
  - http://edamontology.org/topic_3520
  - http://edamontology.org/topic_0121
  tools:
  - specXplore
  - Jupyter notebooks
derived_from:
- doi: 10.1021/acs.analchem.3c04444
  title: specxplore
evidence_spans: []
claims: []
provenance:
  collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1
  assembled_by: scripts/collect_metabolomics_collection.py
  sources:
  - build: coll_specxplore
    doi: 10.1021/acs.analchem.3c04444
    title: specxplore
  dedup_kept_from: coll_specxplore
schema_version: 0.2.0
---

# interactive-application-accessibility-testing

## Summary

Verify that a loaded specXplore dashboard session instance initializes without errors and becomes responsive to user input after ingesting a saved session data object. This skill ensures the multi-layer dashboard architecture (session instantiation → visualization rendering → interactive UI responsiveness) functions end-to-end before exploratory analysis begins.

## When to use

After instantiating a specXplore dashboard session layer with a loaded session data object from disk, before conducting visual exploration of LC-MS/MS spectral data. Use this skill when you need to confirm that the dashboard-session architecture layer has initialized correctly and that the interactive interface is ready for user interaction (clicking nodes, selecting overlays, adjusting settings).

## When NOT to use

- The session data object has not yet been created—run the specXplore importing pipeline in Jupyter notebooks to generate it first.
- You are testing the spectral data processing pipeline itself rather than the dashboard visualization layer—use unit tests on the importing pipeline code instead.
- Your operating system is Windows; the README states 'the current version of specXplore works on Macos and Linux but fails in windows.'

## Inputs

- Saved specXplore session data object file (Python pickle or equivalent format, generated by the specXplore importing pipeline in Jupyter notebooks)
- Python environment with specXplore and all dependencies installed (Python 3.8+, conda environment recommended)

## Outputs

- Confirmed dashboard-session instance initialization without errors
- Accessible and responsive interactive dashboard application ready for visual exploration
- Verified user interaction capabilities (node selection, hover information, overlay/add-on visualization triggers)

## How to apply

First, load the specXplore session data object file from disk using Python and pass it directly into a specxplore dashboard session instance constructor. Second, monitor for initialization errors during instantiation—check for exceptions or warnings in the console output and verify that no dependency resolution or environment issues arise. Third, launch the interactive dashboard application and confirm that it renders without hanging or crashing. Fourth, perform basic user interaction tests: click on a node in the t-SNE overview, hover to display node information, use ctrl+mouse drag to select multiple nodes, and trigger at least one overlay or add-on visualization button. Verify that selections persist, hover text appears correctly, and visualization updates occur when buttons are pressed. This workflow ensures the dashboard-session integration and UI responsiveness before detailed spectral analysis.

## Related tools

- **specXplore** (Dashboard visualization and interactive exploration platform into which the session data object is instantiated for accessibility testing) — https://github.com/kevinmildau/specXplore
- **Jupyter notebooks** (Environment in which the demo.ipynb notebook is run to open and test the specXplore dashboard interactively) — https://github.com/kevinmildau/specXplore/blob/master/notebooks/demo.ipynb

## Examples

```
conda activate specxplore_environment; jupyter-notebook; # In browser, open demo.ipynb, run all cells to process data and instantiate dashboard, then verify node selection and overlay button responsiveness in the dashboard UI
```

## Evaluation signals

- Dashboard session instance initializes without exceptions, errors, or timeout during instantiation from the saved session data object.
- Interactive dashboard application window opens and renders the t-SNE overview, hover textbox, settings panel, and visualization buttons without hanging.
- Clicking on nodes in the t-SNE overview successfully selects them and updates the selection state; hovering displays node information in the textbox.
- Ctrl+mouse drag/click multi-selection works as documented; button presses trigger overlay and add-on visualization requests without console errors.
- Node selections persist across multiple visualization requests and setting changes do not alter prior selections, as documented in the README.

## Limitations

- specXplore requires a .mgf formatted file with MS/MS spectral data and expects the feature identifier key to be 'feature_id'—if renamed or missing, the session data object may not instantiate correctly.
- macOS arm64 users should be aware that ms2deepscore (a specXplore dependency) has a known issue (ms2deepscore issue #199) that produces unreliable similarity predictions without error warnings; this affects the importing pipeline and may propagate to the session data object.
- The current version fails on Windows; accessibility testing is only reliable on macOS and Linux systems.
- Installation requires C++ compilers (Cython backend) and pre-trained model files from ms2query in separate positive/negative mode folders—missing or misconfigured models will cause the importing pipeline to fail and prevent session data object creation.

## Evidence

- [other] Dashboard-session initialization verification: "Instantiate the specXplore dashboard session layer with the loaded session object. 3. Verify that the dashboard-session architecture layer initializes without errors."
- [readme] Session data object instantiation workflow: "a specxplore session data object that is saved to the hard drive and can be fed directly into a specxplore dashboard session instance for visual exploration."
- [other] Interactive responsiveness testing: "Confirm that the interactive dashboard application becomes accessible and responsive to user input."
- [readme] Dashboard UI interaction methods: "Clicking on a node in the t-SNE overview selects it. Hovering over a node will display node information in a textbox below the main t-SNE panel. Using ctrl+mouse drag/click one can select more than"
- [readme] Overlay and add-on visualization triggering: "With appropriate node selections made, the various buttons can be used to trigger different overlay or add-on views."
- [readme] Feature identifier requirement for session data object: "Feature lists should always contain some form of feature identifier, and specXplore expects the feature identifier key to be 'feature_id'."
- [readme] Windows platform limitation: "Please note that the current version of specXplore works on Macos and Linux but fails in windows."
- [readme] macOS arm64 ms2deepscore reliability issue: "users making use of macos arm64 computers should be aware of issue 199 for ms2deepscore. The current ms2deepscore package version may lead to ms2deepscore similarity predictions that are not in"
