Skip to content

Commit 54214a3

Browse files
jiajunagentclaude
andcommitted
fix: report-worker Dockerfile 加 ragg 系统依赖 + 修复 significant 类型转换
- Dockerfile 加 libfreetype/libpng/libtiff/libjpeg/harfbuzz/fribidi - render_word.R 用 as.logical() 处理 HDF5 读出的字符型 significant 列 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 59ff3fb commit 54214a3

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

packages/engines/report-worker/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ FROM rocker/r-ver:4.4.2
22

33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
libcairo2-dev libxml2-dev libcurl4-openssl-dev libssl-dev \
5-
libsodium-dev libfontconfig1-dev wget pandoc && \
5+
libsodium-dev libfontconfig1-dev libfreetype6-dev libpng-dev \
6+
libtiff5-dev libjpeg-dev libharfbuzz-dev libfribidi-dev wget pandoc && \
67
ARCH=$(dpkg --print-architecture) && \
78
wget -qO /tmp/quarto.deb "https://github.com/quarto-dev/quarto-cli/releases/download/v1.6.40/quarto-1.6.40-linux-${ARCH}.deb" && \
89
dpkg -i /tmp/quarto.deb && rm /tmp/quarto.deb && \

packages/engines/report-worker/R/render_word.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ render_word_report <- function(metabodata_path, chart_dir, output_dir,
2020
summary_df <- data.frame(
2121
Metric = c("Samples", "Features Detected", "Significant Features", "Groups"),
2222
Value = c(nrow(md$obs), ncol(md$X),
23-
sum(md$var$significant, na.rm = TRUE),
23+
sum(as.logical(md$var$significant), na.rm = TRUE),
2424
paste(unique(md$obs$group), collapse = " vs "))
2525
)
2626
ft <- flextable(summary_df)
@@ -45,7 +45,7 @@ render_word_report <- function(metabodata_path, chart_dir, output_dir,
4545
# Section 3: Top Features Table
4646
doc <- body_add_par(doc, "3. Top Significant Features", style = "heading 2")
4747
if (!is.null(md$var$pvalue) && !is.null(md$var$logFC)) {
48-
sig <- md$var[md$var$significant == TRUE, , drop = FALSE]
48+
sig <- md$var[as.logical(md$var$significant) == TRUE, , drop = FALSE]
4949
if (nrow(sig) > 0) {
5050
top <- head(sig[order(sig$pvalue), ], 20)
5151
cols <- intersect(c("feature_id", "mz", "rt", "logFC", "pvalue"), names(top))

0 commit comments

Comments
 (0)