Skip to content

Volcano Plot: optional significance / effect-size thresholds with cut-off lines and up / down / not-significant coloring #9039

Description

@eugenegujing

Feature Summary

The Volcano Plot operator (common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/volcanoPlot/VolcanoPlotOpDesc.scala) renders a plain px.scatter of effect vs -log10(p) with color=$effectColumn, color_continuous_scale="RdBu" (:113-121). Two things are missing that make it a volcano plot rather than a scatter plot:

  1. No threshold lines. Readers expect a horizontal line at the significance cut-off (e.g. padj = 0.05 → y = 1.30) and vertical lines at ±effect cut-off (e.g. |log2FC| = 1). Without them you cannot read from the figure whether anything is significant. In our DE run every padj was ≈ 0.999, so the whole plot sat between y = 0.00007 and y = 0.00028, and nothing on the figure showed that y = 1.3 was the bar to clear.
  2. Color carries no information. The point color is the effect-size value, which is already the x coordinate. The usual convention in volcano-plot tooling (EnhancedVolcano, ggvolc, bullkpy) is categorical: points that pass both cut-offs are colored by direction (up / down) and everything else is muted.

Proposed Solution or Design

Three optional properties, all off by default so saved workflows render as today: a significance threshold (dashed horizontal line at -log10 of it), an effect-size threshold (dashed vertical lines at ± it), and a "Color by significance" toggle that, when both thresholds are set, colors points Up (p below the cut-off and effect above +threshold), Down (p below the cut-off and effect below −threshold) or Not significant, with a legend, instead of the continuous scale. Both thresholds apply to whichever p-value column the user selected.

Affected Area

No response

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions