Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@

### Validated

- Code Ocean release-producing run `1244387` validated canonical `0.1.2`
blank-contrast inference for one unambiguous replicated two-group model and
produced Standard Capsule release `2.0`.
- Upstream OMIX GSVA run `1254366` and Limma handoff run `1254876` validated
the complete enrichment-score workflow with ordered contrasts `B-A,C-A,C-B`,
50 pathway features, nine samples, and `variance_model = ebayes`.
- Code Ocean run `1216757` exercised the Harmony mean-expression handoff with
numeric contrast `1-0`, resolved `variance_model = auto` to `ebayes`, and
recorded the corrected canonical `0.1.1` provenance.
Expand Down
43 changes: 39 additions & 4 deletions OMIX_MODULE_SOURCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,55 @@

| Field | Recorded value |
| --- | --- |
| Adapter version | `0.1.0` |
| Adapter release tag | `v0.1.0`; finalized from the merged post-release evidence commit. |
| Platform release | Code Ocean Standard Capsule release `1.0`: [`ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v1`](https://poc-nci.codeocean.io/capsule/ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v1), created 2026-10-04 from source capsule `8635652`. |
| Adapter version | `0.1.2` |
| Adapter release tag | Proposed annotated tag `v0.1.2` targeting validated adapter commit `ed6d3cb058c9618dd18f14d9eaad4192e178bac7`; pending owner approval and creation. Existing tag `v0.1.0` remains unchanged as a historical provenance record. |
| Platform release | Code Ocean Standard Capsule release `2.0`: [`ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v2`](https://poc-nci.codeocean.io/capsule/ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v2), created 2026-10-05 from source capsule `8635652` at adapter commit `ed6d3cb058c9618dd18f14d9eaad4192e178bac7`. |
| Canonical runtime profile | `r-statistics` |
| Published OMIX runtime | `ghcr.io/nidap-community/omix-r-statistics@sha256:1325722877fec5167d171aa766ddf7bbfd056e4999bf40fd8c1eabee495da667` |
| Runtime lockfile | `starter-environments/r-statistics/renv.lock`, SHA-256 `e86f6e0c2175bff1b4c1d73be67928fa9d808e78f325f407b3b7d278c1c71156` |
| Adapter-selected base image | `codeocean/omix-r-statistics:r4.4.3-bioconductor3.20-v1` |
| Code Ocean environment identity | Starter Environment `OMIX Statistics (1)`, selected and validated in capsule `8635652`; this platform identity is recorded separately from the public GHCR digest. |
| Capsule run | Release-producing run `1134919` in capsule `8635652`, completed successfully on 2026-10-04 using an attached OMIX Seurat Pseudobulk SCT mean-expression result. |
| Capsule run | Release-producing run `1244387` and GSVA workflow-handoff run `1254876` in capsule `8635652`, completed successfully on 2026-10-05. |
| Syncweaver mapping | `.syncweaver-lock.json` **Pending** generation by Syncweaver; the initial interim export and hash are recorded below. |

The canonical source commit, adapter tag, public OCI digest, Code Ocean
environment, capsule run, and platform release are separate facts.

### Version 0.1.2 release validation

Release-producing Code Ocean run `1244387` in source capsule
[`8635652`](https://poc-nci.codeocean.io/capsule/8635652/tree) validated the
safe blank-contrast behavior introduced by canonical OMIX Limma Analysis
`0.1.2`. With exactly one unambiguous replicated two-group comparison, the
adapter left the requested contrast blank and canonical OMIX resolved `1-0`
with `contrast_source = inferred` and group replicate counts `0=2,1=3`. The
run modeled 12,584 genes across five samples, treated the input as
`log2_expression`, and resolved `variance_model = auto` to `ebayes_trend`.
Its run summary records canonical source
`a25d57bcb75b0461648a60833f1957444a47ba28`, module version `0.1.2`, and
interface version `2`. This run produced Standard Capsule release
[`2.0`](https://poc-nci.codeocean.io/capsule/ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v2).

### GSVA enrichment-score workflow handoff

Upstream OMIX GSVA run `1254366` in capsule
[`3631910`](https://poc-nci.codeocean.io/capsule/3631910/tree) produced 50
mouse Hallmark enrichment-score features across nine samples. The result was
captured as data asset `OMIX GSVA Mouse Hallmark Scores for Limma` and attached
to the Limma capsule together with the metadata-only asset
`deg-training-metadata`.

Code Ocean Limma run `1254876` then consumed
`/data/omix-gsva-mouse-hallmark-limma/gsva_results.csv` and
`/data/deg-training-metadata/metadata_ccbr_bulk_training.csv`. It modeled
`Group`, explicitly and in order evaluated `B-A,C-A,C-B`, recorded replicate
counts `A=3,B=3,C=3`, classified the input as `enrichment_score`, and used the
requested `ebayes` variance model. The successful run modeled 50 features
across nine samples and wrote `Limma_Analysis.csv`, `Sample_Metadata.csv`, and
`run_summary.txt`. This validates the GSVA-to-Limma deployment handoff without
introducing adapter-specific scientific behavior. Complete evidence is in
[`validation/limma-0.1.2-platform-evidence.md`](validation/limma-0.1.2-platform-evidence.md).

## Representative platform validation

Code Ocean capsule [`8635652`](https://poc-nci.codeocean.io/capsule/8635652/tree)
Expand Down
77 changes: 77 additions & 0 deletions validation/limma-0.1.2-platform-evidence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# OMIX Limma Analysis 0.1.2 platform evidence

## Scope

This record documents the Code Ocean Standard Capsule 2.0 release and the
GSVA-to-Limma workflow handoff for the deployment adapter. It changes no
scientific code, interface, App Panel parameter, runtime, or test behavior.

## Immutable source and runtime identity

| Item | Value |
| --- | --- |
| Canonical module | `OMIX-Limma-Analysis 0.1.2` (interface `2`) |
| Canonical source commit | `a25d57bcb75b0461648a60833f1957444a47ba28` |
| Validated adapter commit | `ed6d3cb058c9618dd18f14d9eaad4192e178bac7` |
| Proposed adapter tag | Annotated `v0.1.2` targeting `ed6d3cb058c9618dd18f14d9eaad4192e178bac7`; pending owner approval and creation |
| Source capsule | [`8635652`](https://poc-nci.codeocean.io/capsule/8635652/tree) |
| Standard Capsule release | [`2.0`](https://poc-nci.codeocean.io/capsule/ffab7e89-72c4-4271-b888-b02a1e06db7c/tree/v2) |
| Code Ocean environment | `OMIX Statistics (1)` |
| Adapter runtime label | `r-statistics r4.4.3-bioconductor3.20-v1` |
| Published runtime digest | `ghcr.io/nidap-community/omix-r-statistics@sha256:1325722877fec5167d171aa766ddf7bbfd056e4999bf40fd8c1eabee495da667` |

The platform environment name and public OCI digest are recorded as separate
facts; this evidence does not claim that Code Ocean exposes an immutable digest
for its imported Starter Environment.

## Validation runs

| Run | Purpose | Outcome |
| --- | --- | --- |
| `1216757` | Harmony mean-expression handoff and local-container equivalence | Passed; 200 genes, five samples, `1-0`, `ebayes`, maximum cross-host numeric difference `1.07e-14` |
| `1244387` | Release-producing safe blank-contrast inference | Passed; inferred `1-0`, replicate counts `0=2,1=3`, 12,584 genes, five samples, `ebayes_trend` |
| `1254366` | Upstream OMIX GSVA result generation | Passed; mouse Hallmark collection, 50 enrichment-score features, nine samples |
| `1254876` | GSVA enrichment-score input into OMIX Limma Analysis | Passed; ordered contrasts `B-A,C-A,C-B`, replicate counts `A=3,B=3,C=3`, 50 features, nine samples, `ebayes` |

Runs `1254681` and `1254820` were setup diagnostics rather than acceptance
evidence. They exposed, respectively, ambiguous metadata attachments and an
incorrect metadata-column selection. The final test detached unrelated assets,
attached a metadata-only asset, selected `Group`, and passed as run `1254876`.

## GSVA-to-Limma handoff details

Upstream GSVA run `1254366` completed in capsule
[`3631910`](https://poc-nci.codeocean.io/capsule/3631910/tree) and produced:

- `gsva_results.csv`
- `gsva_heatmap.png`
- `gsva_run_summary.txt`

The result was captured as data asset `OMIX GSVA Mouse Hallmark Scores for
Limma` in folder `omix-gsva-mouse-hallmark-limma`. Limma run `1254876` used:

- matrix: `/data/omix-gsva-mouse-hallmark-limma/gsva_results.csv`
- metadata: `/data/deg-training-metadata/metadata_ccbr_bulk_training.csv`
- input kind: `enrichment_score`
- model: `linear`
- design: `~0 + contmerge`
- requested and resolved contrasts: `B-A,C-A,C-B`
- contrast source: `explicit`
- requested and resolved variance model: `ebayes`

The run wrote:

- `Limma_Analysis.csv` (28.91 KB)
- `Sample_Metadata.csv` (207 B)
- `run_summary.txt` (786 B)

The terminal completed with `Wrote OMIX Limma Analysis results to /results`.

## Acceptance conclusion

The adapter at `ed6d3cb058c9618dd18f14d9eaad4192e178bac7` preserves canonical
scientific code and successfully supports SCT, Harmony, and GSVA continuous
matrix handoffs under the published `r-statistics` runtime. Standard Capsule
2.0 is therefore supported by the recorded release evidence. Tag creation
remains a separate owner-authorized action and must target the validated adapter
commit, not this later metadata-only evidence commit.
Loading