Skip to content

Heatmap GFC export & PNG companions, notebook rendering, LLM model listing, Docker 1.98#4

Open
Ulas-lab wants to merge 10 commits into
develfrom
codex/heatmap-column-gaps-docker-1.97
Open

Heatmap GFC export & PNG companions, notebook rendering, LLM model listing, Docker 1.98#4
Ulas-lab wants to merge 10 commits into
develfrom
codex/heatmap-column-gaps-docker-1.97

Conversation

@Ulas-lab

@Ulas-lab Ulas-lab commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Brings the latest heatmap, notebook-rendering, LLM, and Docker work from codex/heatmap-column-gaps-docker-1.97 into devel (7 commits, 24 files).

Note: the request said "main", but this remote has no main branch — devel is the integration branch, so this PR targets devel.

Heatmap

  • GFC-means export: Module_GFC_Means.xlsx with the mean GFC per module and group (the values behind the heatmap cells); also stored in satellite_outputs.
  • Draw fix: AnnotationFunction var_import so the module-label sizing helper resolves at draw time instead of erroring ("function not found").
  • Module-label auto-fit to box size across heatmap variants; refined split-label ordering.

Plot exports

  • PNG companions: longitudinal / PCA / UMAP / hub-gene-network plots now write a PNG next to each PDF via .hc_ggsave_pdf_png() (heatmap + enrichment already did).

Notebook rendering

  • Render interactive htmlwidgets inline in RStudio notebooks; dispatch htmlwidgets through the print generic.

LLM

  • Add and export hc_list_llm_models(); Claude/Anthropic provider listing; add ggrepel to Suggests.

Docker

  • Published therealtomek/hcocena:1.98 + latest; moved 1.97 to the older reproducible tags.

Tests

  • Opt-in real-data regression runner; expanded regression tests.

Verification

  • Package installs and loads cleanly (native R 4.5.2).
  • Built Docker image verified in-container: loads (v0.99.6), GFC export + PNG helper + hc_list_llm_models present.

🤖 Generated with Claude Code

Ulas-lab and others added 7 commits June 1, 2026 12:20
Route widget display through the htmlwidget print/viewer path so RStudio's notebook viewer renders widgets inline below the chunk. The previous repr::repr_html + cat path emitted raw HTML text in RStudio notebooks; it is now strictly opt-in (hcocena.htmlwidget_display = "inline" or options(hcocena.htmlwidget_emit_html = TRUE)) for Jupyter/IRkernel front-ends. Knitting to HTML still uses knit_print.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Add shared helpers (.hc_module_label_fit_pt, .hc_module_label_box_annotation, .hc_module_label_text_width_cm, .hc_module_label_effective_fontsize, .hc_cluster_heatmap_cell_size_mm) that pick a single safe font size fitting every module label into its box (width and height bounded). Apply the guard consistently in the main cluster heatmap, functional enrichment (incl. combined all-DB headers), the Gemini/LLM module-function plot, and upstream inference.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
scripts/run_realdata_regression.R drives integration, clustering, module heatmaps, module splitting, enrichment, and a module-label font probe on real STAR-protocol data, exporting golden-master CSV/JSON artifacts plus a visual_check_report PDF. A testthat wrapper runs it only when HCOCENA_RUN_REALDATA=true; README documents usage and .gitignore excludes the generated output/reference dirs.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…ndering

Commit 4bc5122 called print.htmlwidget() directly via getFromNamespace, which bypasses the print-generic hook RStudio uses to render widgets inline in notebook chunks. As a result hc_plot_cutoffs(interactive=TRUE) opened the cutoff plots in the Viewer pane instead of below the chunk. Dispatch through the generic (print(x)) like a bare print(widget); this renders inline even when called from inside a function. The regression test now guards the dispatch at the source level.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Heatmap:
- Export Module_GFC_Means.xlsx with the mean GFC per module and group
  (the values behind the heatmap cells); also stored in satellite_outputs.
- Fix AnnotationFunction var_import so the module-label sizing helper
  resolves at draw time instead of erroring ("function not found").

Plot exports:
- Add .hc_ggsave_pdf_png() and route longitudinal / PCA / UMAP / hub-gene
  network plots through it so each PDF gets a matching 300-dpi PNG.
- Enable inline notebook display for multi-page and TF module exports.

Other (branch WIP folded in):
- hc_utils: ggplot2/ggrepel hub-gene network visualization.
- LLM: add and export hc_list_llm_models(); Claude provider listing.
- Add ggrepel to Suggests; update docker satellite workflow notebook.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Published therealtomek/hcocena:1.98 and :latest with the heatmap GFC-means
export, PNG companions, var_import draw fix, and LLM model-listing.

Co-Authored-By: Claude Opus 4.8 <[email protected]>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e339877e7c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread R/hc_list_llm_models.R
#' hc_list_llm_models("vllm", base_url = "http://my-server:8000/v1")
#' }
#' @export
hc_list_llm_models <- function(provider = "all",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Regenerate Rd files for the exported LLM API

When this package is checked or installed from the committed source, this newly exported function has no corresponding man/hc_list_llm_models.Rd, and the existing man/hc_module_function_llm.Rd also does not include the new provider/base_url arguments. That makes R CMD check report documentation/code mismatches and leaves users without help pages for the public API, so the roxygen-generated Rd files need to be committed with this change.

Useful? React with 👍 / 👎.

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