diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4df7cf8..ceabb35 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ Users of wf-transcriptomes v2.0.0 who have encountered issues during discovery a
### Fixed
- "Error in full_join" encountered during `runPerSampleBambuQuant` when all read classes have no compatible transcript assignment. An empty quant table is correctly emitted instead.
- "unable to find an inherited method for function 'rowData'" encountered during `runJointBambuDiscover` when providing many samples. The workflow now correctly handles data spilled to disk by bambu discover.
+- Adjusted p-values below 0.001 in the volcano selection table are now shown in scientific notation instead of being rounded to 0.000.
## [v2.0.0]
@@ -323,4 +324,3 @@ This patch release of wf-transcriptomes updates internal workflow naming, and do
### Added
- First release
- Initial port of Snakemake WF from https://github.com/nanoporetech/pipeline-nanopore-ref-isoforms
-
diff --git a/bin/workflow_glue/volcano.py b/bin/workflow_glue/volcano.py
index e2e0a6d..9597b94 100644
--- a/bin/workflow_glue/volcano.py
+++ b/bin/workflow_glue/volcano.py
@@ -581,7 +581,15 @@ def volcano(data, fold_threshold=1, p_threshold=0.05):
TableColumn(
field="padj",
title="padj",
- formatter=NumberFormatter(format="0.000e"),
+ formatter=HTMLTemplateFormatter(
+ template="""
+ <% if (value < 0.001 && value !== 0) { %>
+ <%= value.toExponential(2) %>
+ <% } else { %>
+ <%= value.toFixed(4) %>
+ <% } %>
+ """
+ ),
),
])
selected_table = DataTable(