From 05408494fcc07d0a2f28860eace24c838dea14db Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 14 Feb 2026 12:23:42 +0000 Subject: [PATCH 1/2] fix: use dynamic base URL for doc images and add featurecounts benchmark plots Use import.meta.env.BASE_URL instead of hardcoded /RustQC/ prefix for image paths in outputs/dupradar.mdx and outputs/rseqc.mdx, matching the pattern already used in index.mdx. This fixes broken images when the site is deployed with a different base path (e.g., on Netlify). Also add side-by-side dupRadar plot comparisons to the featureCounts benchmark page, demonstrating that identical gene-level counts produce identical downstream visualizations. https://claude.ai/code/session_01QMMExQTjDXR5jHHYQvr8NR --- .../content/docs/benchmarks/featurecounts.md | 43 +++++++++++++++++++ docs/src/content/docs/outputs/dupradar.mdx | 8 ++-- docs/src/content/docs/outputs/rseqc.mdx | 12 +++--- 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/docs/src/content/docs/benchmarks/featurecounts.md b/docs/src/content/docs/benchmarks/featurecounts.md index fcc1181..1dad2f6 100644 --- a/docs/src/content/docs/benchmarks/featurecounts.md +++ b/docs/src/content/docs/benchmarks/featurecounts.md @@ -48,6 +48,49 @@ exactly. The output format is directly compatible with downstream tools such as DESeq2 and MultiQC. +### Side-by-side plots + +Since dupRadar visualizations are derived from the same gene-level counts, identical plots confirm that the underlying feature counting is correct. The plots below compare R dupRadar output (left) with RustQC output (right) for the large benchmark. + +#### Density scatter plot + +
+
+ dupRadar (R) density scatter plot +
dupRadar (R)
+
+
+ RustQC density scatter plot +
RustQC
+
+
+ +#### Duplication rate boxplot + +
+
+ dupRadar (R) duplication rate boxplot +
dupRadar (R)
+
+
+ RustQC duplication rate boxplot +
RustQC
+
+
+ +#### Expression histogram + +
+
+ dupRadar (R) expression histogram +
dupRadar (R)
+
+
+ RustQC expression histogram +
RustQC
+
+
+ ## Additional outputs Beyond the standard featureCounts counts file and summary, RustQC also diff --git a/docs/src/content/docs/outputs/dupradar.mdx b/docs/src/content/docs/outputs/dupradar.mdx index a5057e5..dde1499 100644 --- a/docs/src/content/docs/outputs/dupradar.mdx +++ b/docs/src/content/docs/outputs/dupradar.mdx @@ -5,6 +5,8 @@ description: Comprehensive guide to RustQC's dupRadar output files, including th import { Card, CardGrid, FileTree } from '@astrojs/starlight/components'; +export const base = import.meta.env.BASE_URL; + ## What is dupRadar? In DNA sequencing, PCR duplicates are straightforward to identify and remove: reads with identical alignment coordinates are likely amplification artifacts. In **RNA-seq**, the situation is more nuanced. @@ -118,15 +120,15 @@ See the [Interpreting plots](#interpreting-plots) section below for how to read `_duprateExpDens.{png,svg}` - ![Density scatter plot](/RustQC/examples/dupradar/duprateExpDens.png) + Density scatter plot `_duprateExpBoxplot.{png,svg}` - ![Duplication rate boxplot](/RustQC/examples/dupradar/duprateExpBoxplot.png) + Duplication rate boxplot `_expressionHist.{png,svg}` - ![Expression histogram](/RustQC/examples/dupradar/expressionHist.png) + Expression histogram diff --git a/docs/src/content/docs/outputs/rseqc.mdx b/docs/src/content/docs/outputs/rseqc.mdx index f4bd3a2..19a6776 100644 --- a/docs/src/content/docs/outputs/rseqc.mdx +++ b/docs/src/content/docs/outputs/rseqc.mdx @@ -5,6 +5,8 @@ description: Output files produced by RustQC's RSeQC-compatible quality control import { Card, CardGrid, FileTree } from '@astrojs/starlight/components'; +export const base = import.meta.env.BASE_URL; + RustQC reimplements seven tools from the [RSeQC](https://rseqc.sourceforge.net/) package. Each tool produces output files that match the format and content of the original Python implementation, plus **native PNG and SVG plots** generated @@ -87,7 +89,7 @@ high duplication. - Read duplication rate plot + Read duplication rate plot @@ -136,10 +138,10 @@ known (blue), partial novel (red), and complete novel (green) splicing. - Splice events pie chart + Splice events pie chart - Splice junctions pie chart + Splice junctions pie chart @@ -169,7 +171,7 @@ detected (in thousands). A plateau in the curves indicates saturation. - Junction saturation plot + Junction saturation plot @@ -210,7 +212,7 @@ approximately normal for a well-prepared library. - Inner distance histogram + Inner distance histogram From 590c840225da903b90b2c8bcc8b672ebb37a69f3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 14 Feb 2026 12:57:16 +0000 Subject: [PATCH 2/2] fix: use dynamic base URL for benchmark page images Convert dupradar.md and featurecounts.md to .mdx so image src attributes can use import.meta.env.BASE_URL, ensuring images resolve correctly on the deployed site regardless of the base path. Also convert inline style strings to JSX objects as required by MDX. https://claude.ai/code/session_01QMMExQTjDXR5jHHYQvr8NR --- .../benchmarks/{dupradar.md => dupradar.mdx} | 32 ++++++++++--------- .../{featurecounts.md => featurecounts.mdx} | 32 ++++++++++--------- 2 files changed, 34 insertions(+), 30 deletions(-) rename docs/src/content/docs/benchmarks/{dupradar.md => dupradar.mdx} (69%) rename docs/src/content/docs/benchmarks/{featurecounts.md => featurecounts.mdx} (66%) diff --git a/docs/src/content/docs/benchmarks/dupradar.md b/docs/src/content/docs/benchmarks/dupradar.mdx similarity index 69% rename from docs/src/content/docs/benchmarks/dupradar.md rename to docs/src/content/docs/benchmarks/dupradar.mdx index 570c445..dc5b900 100644 --- a/docs/src/content/docs/benchmarks/dupradar.md +++ b/docs/src/content/docs/benchmarks/dupradar.mdx @@ -3,6 +3,8 @@ title: dupRadar Benchmark description: Performance comparison between RustQC and R dupRadar, with zero output mismatches across all values. --- +export const base = import.meta.env.BASE_URL; + RustQC produces output **identical** to the R dupRadar package. Every value in the duplication matrix, every count, and the fitted model parameters match exactly. The benchmarks below quantify the performance difference on real RNA-seq data. ## Small benchmark @@ -69,39 +71,39 @@ The plots below compare the R dupRadar output (left) with RustQC output (right) #### Density scatter plot -
-
- dupRadar (R) density scatter plot +
+
+ dupRadar (R) density scatter plot
dupRadar (R)
-
- RustQC density scatter plot +
+ RustQC density scatter plot
RustQC
#### Duplication rate boxplot -
-
- dupRadar (R) duplication rate boxplot +
+
+ dupRadar (R) duplication rate boxplot
dupRadar (R)
-
- RustQC duplication rate boxplot +
+ RustQC duplication rate boxplot
RustQC
#### Expression histogram -
-
- dupRadar (R) expression histogram +
+
+ dupRadar (R) expression histogram
dupRadar (R)
-
- RustQC expression histogram +
+ RustQC expression histogram
RustQC
diff --git a/docs/src/content/docs/benchmarks/featurecounts.md b/docs/src/content/docs/benchmarks/featurecounts.mdx similarity index 66% rename from docs/src/content/docs/benchmarks/featurecounts.md rename to docs/src/content/docs/benchmarks/featurecounts.mdx index 1dad2f6..b36c84a 100644 --- a/docs/src/content/docs/benchmarks/featurecounts.md +++ b/docs/src/content/docs/benchmarks/featurecounts.mdx @@ -3,6 +3,8 @@ title: featureCounts Benchmark description: Performance and accuracy comparison between RustQC's built-in read counting and Rsubread featureCounts. --- +export const base = import.meta.env.BASE_URL; + RustQC includes built-in gene-level read counting that produces output compatible with the Subread featureCounts format. This page compares the counting performance and output accuracy against standalone Rsubread @@ -54,39 +56,39 @@ Since dupRadar visualizations are derived from the same gene-level counts, ident #### Density scatter plot -
-
- dupRadar (R) density scatter plot +
+
+ dupRadar (R) density scatter plot
dupRadar (R)
-
- RustQC density scatter plot +
+ RustQC density scatter plot
RustQC
#### Duplication rate boxplot -
-
- dupRadar (R) duplication rate boxplot +
+
+ dupRadar (R) duplication rate boxplot
dupRadar (R)
-
- RustQC duplication rate boxplot +
+ RustQC duplication rate boxplot
RustQC
#### Expression histogram -
-
- dupRadar (R) expression histogram +
+
+ dupRadar (R) expression histogram
dupRadar (R)
-
- RustQC expression histogram +
+ RustQC expression histogram
RustQC