Skip to content

feat: emit merged DEG table for OMIX compatibility - #9

Merged
kelly-sovacool merged 3 commits into
mainfrom
issue/262-omix-merged-deg-table
Aug 20, 2026
Merged

feat: emit merged DEG table for OMIX compatibility#9
kelly-sovacool merged 3 commits into
mainfrom
issue/262-omix-merged-deg-table

Conversation

@TJoshMeyer

@TJoshMeyer TJoshMeyer commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Changes

Adds a merged, contrast-prefixed DEG table output to the MOSuite-diff-counts capsule so that downstream tools expecting a flat table (e.g. OMIX-GSEA-Preranked-Legacy) can consume DEG results without needing to parse a multiOmicDataSet.

Changes include:

  • code/main.R: after diff_counts() runs, derive a merged table from moo@analyses$diff using MOSuite's existing join_dfs_wide() helper, and write it to results/deg/DEG_Analysis.csv alongside the existing results/moo/moo-diff.rds output.
  • .codeocean/app-panel.json: declare deg/DEG_Analysis.csv as an additional result file.
  • tests/testthat/helper-cli.R: extend setup_cli_workspace() and expect_outputs_created() to create the deg results directory and assert that the merged CSV exists, is non-empty, and contains contrast-prefixed columns (e.g. B-A_logFC, B-A_pval, B-A_adjpval).
  • CHANGELOG.md: add an entry for this user-facing output change.

Design notes:

  • The canonical per-contrast moo@analyses$diff structure in the MOSuite package is unchanged. MOSuite-aware downstream nodes (Volcano Summary, Volcano Enhanced, Venn Diagram, Filter Diff) continue to consume the MOO exactly as before.
  • The merged table is derived at the capsule level rather than by adding a Combined_diff entry to the package MOO, consistent with the discussion on the linked issue.
  • Column naming (<contrast>_FC, <contrast>_logFC, <contrast>_tstat, <contrast>_pval, <contrast>_adjpval) matches what OMIX-GSEA-Preranked-Legacy expects for its DEG file discovery and ranking-column detection.

Issues

Resolves CCBR/MOSuite#262

PR Checklist

(Strikethrough any points that are not applicable.)

  • This comment contains a description of changes with justifications, with any relevant issues linked.
  • Run the capsule in Code Ocean and ensure it completes successfully with no errors.
  • Update CHANGELOG.md with a short description of any user-facing changes and reference the PR number. Follow the style described in https://style.tidyverse.org/news.html
  • The tests workflow succeeds on the latest commit.

@TJoshMeyer

Copy link
Copy Markdown
Contributor Author

Code Ocean validation update:

  • The MOSuite-diff-counts capsule runs successfully on the default data.
  • Both expected DEG outputs are produced:
    • the MOO RDS
    • the merged flat DEG table
  • The downstream MOSuite capsules successfully locate and consume the MOO:
    • Volcano Summary
    • Volcano Enhanced
    • Venn Diagram
    • Filter Diff

The three downstream OMIX capsules currently fail:

  • OMIX-L2P-Single
  • OMIX-L2P-Multi
  • OMIX-GSEA-Preranked-Legacy

These failures appear to be downstream adapter issues. The OMIX capsules likely still need to be updated to discover and consume the new merged DEG table emitted by MOSuite-diff-counts.

I have left the Code Ocean checklist item unchecked because the complete connected workflow does not yet run successfully.

I suggest keeping this PR focused on adding the merged DEG output to MOSuite-diff-counts. I will confirm with Phil and Kelly whether the three OMIX capsule updates should be tracked as separate Issues and PRs before beginning that downstream work.

@kelly-sovacool
kelly-sovacool self-requested a review August 20, 2026 18:17
@kelly-sovacool

Copy link
Copy Markdown
Member

@TJoshMeyer

I have left the Code Ocean checklist item unchecked because the complete connected workflow does not yet run successfully.

that item refers to this capsule rather than the workflow, so if the capsule rr succeeds then that should be checked.
this does make me wonder how we might automate tests for CO workflows as well as capsules!

@kelly-sovacool kelly-sovacool left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

looks good!

@kelly-sovacool
kelly-sovacool marked this pull request as ready for review August 20, 2026 20:21
@kelly-sovacool
kelly-sovacool merged commit efb59ff into main Aug 20, 2026
5 checks passed
@kelly-sovacool
kelly-sovacool deleted the issue/262-omix-merged-deg-table branch August 20, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Store combined diff_counts() DEG table in moo@analyses$diff

2 participants