Skip to content

Add DeltaSignal pathway perturbation UI - #155

Draft
Chryseisliu wants to merge 3 commits into
mainfrom
feat/deltasignal-ui
Draft

Add DeltaSignal pathway perturbation UI#155
Chryseisliu wants to merge 3 commits into
mainfrom
feat/deltasignal-ui

Conversation

@Chryseisliu

Copy link
Copy Markdown
Collaborator

What changed

  • adds a Perturb workflow to the Pathway Browser
  • matches a selected Reactome entity to all corresponding DeltaSignal logic-network nodes
  • supports knockout, baseline, and activation inputs plus multiple perturbations
  • calls the DeltaSignal /api/pathways, /api/parse, and /api/solve endpoints
  • overlays predicted changes on the existing Cytoscape diagram with a diverging palette
  • reports convergence, predicted activity, change from baseline, and influence
  • aggregates the result table to one Reactome entity per row while preserving member-level values as diagram gradients
  • adds local proxy configuration and developer documentation

Why

This is a bounded, demonstrable vertical slice for pathway perturbation prediction in the Reactome UI. It keeps the DeltaSignal engine in its own repository and uses the documented HTTP API as the integration boundary.

The first supported demo is Cell Cycle Checkpoints: selecting activated ATM (R-HSA-5693527) maps to 29 logic-network nodes and can be run as a knockout to visualize the predicted downstream response.

User impact

Users can go from a molecule selected in a Reactome pathway to a solver-backed predicted pathway response without leaving the Pathway Browser. Loading, unsupported-network, convergence, and API-error states are shown explicitly.

Validation

  • npm test: 69 tests passed
  • npm run build: production build passed
  • focused ESLint and formatting checks passed
  • live local test against the real DeltaSignal server:
    • Cell Cycle Checkpoints network: 17,858 nodes
    • activated ATM matched to 29 logic nodes
    • ATM knockout solve converged
    • results table and pathway overlay rendered successfully

Deliberate follow-up scope

This draft does not yet include multi-pathway joining, ReacFoam-wide overlays, temporal ordering, backend deployment configuration, or the benchmark report. The largest local network currently has noticeable parse/solve request latency, so backend caching/deployment should be reviewed before production rollout.

Keep LNG UUIDs separate in an interactive top-response graph, leave the Reactome diagram accessible beside the controls, and document the complete demo workflow.
@Chryseisliu

Copy link
Copy Markdown
Collaborator Author

I added the follow-up visualization from our discussion. Results now have a raw LNG logic-nodes-and-edges view alongside the Reactome overlay. It keeps UUIDs separate, shows the 40 largest changes plus the perturbed inputs, retains edges only when both endpoints are visible, and exposes mapping and solver details when a node is selected. I also changed the panel to a side drawer so the pathway stays visible on desktop, with a full-screen layout on narrow displays.

I documented the complete demo and local setup in documentation/PathwayBrowser/deltasignal.md. The full test suite (70 tests), lint, dead-code guard, development build, desktop run, and 800 px responsive check pass. I left ReacFoam out for now because it still needs a defined cross-pathway aggregation rule; this view exposes the graph DeltaSignal already solves without inventing a new pathway score.

Commit: d20ccc2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant