Skip to content

fix(pathway): resolve remaining PR611 review findings - #1624

Open
parulsarma-a wants to merge 16 commits into
openenv:mainfrom
parulsarma-a:pr611-followup-fixes
Open

parulsarma-a wants to merge 16 commits into
openenv:mainfrom
parulsarma-a:pr611-followup-fixes

Conversation

@parulsarma-a

@parulsarma-a parulsarma-a commented Nov 13, 2026 •

Copy link
Copy Markdown

Follow-up to closed PR #611, addressing remaining unresolved review findings.

What changed

  • Removed ground-truth leakage from serialized env state:
    • PathwayState no longer includes true_pathway
    • submit-answer correctness is now evaluated internally from case data
  • Fixed STAR/featureCounts output for enrichment workflows:
    • added GTF-driven gene_id -> gene_name mapping in run_true_counts_pipeline.py
    • exported counts now use gene symbols (with duplicate-symbol aggregation)
  • Added regressions for:
    • no true_pathway in state payload
    • featureCounts ID-to-symbol conversion

Validation

  • PYTHONPATH=src:envs uv run pytest tests/envs/test_pathway_counts_pipeline.py -q (19 passed)
  • PYTHONPATH=src:envs uv run pytest tests/envs/test_pathway_analysis_env.py -k "state_does_not_expose_true_pathway or legacy_fixture" -q (2 passed)

Branch

parulsarma-a:pr611-followup-fixes


Note

Low Risk
Changes are scoped to a new environment package and benchmark scripts; main risks are optional external GEO/SRA downloads and heavy Docker bench runs, not core platform auth or data paths.

Overview
Adds a new pathway_analysis_env OpenEnv for RNA-seq-style workflows: agents inspect design, run PyDESeq2 DE and Fisher ORA / Enrichr enrichment, then submit a pathway hypothesis, with synthetic and GEO-linked case JSON, an HTTP client/server (openenv.yaml), default Gradio UI, and published docs/site entries.

Ships a bench/ toolchain (optional Docker image with STAR/Salmon/SRA tools, hg38/GENCODE downloaders, true-counts pipeline, per-study GEO runners, and a keyword-based agent eval harness) plus benchmark write-ups and failure-code docs.

Evaluation hardening (PR #611 follow-up): serialized PathwayState no longer includes true_pathway (grading stays server-side on submit), STAR/featureCounts exports map Ensembl gene_id → gene symbols with duplicate aggregation for ORA-friendly matrices, and new regressions lock in those behaviors alongside FASTQ/layout pipeline edge cases.

Also adds a root pointer to canonical GEO_BENCHMARK_STUDIES documentation under the env package.

Reviewed by Cursor Bugbot for commit 8e6af36. Bugbot is set up for automated code reviews on this repo. Configure here.

karthik19967829 and others added 16 commits March 21, 2026 16:57
A lightweight environment for pathway inference on synthetic omics data.
An agent inspects a dataset, runs differential expression and pathway
enrichment analyses, then submits a hypothesis about which signaling
pathway is activated.

Designed as a starter biology-shaped environment that validates OpenEnv
mechanics (reset/step/state, client/server, Docker packaging) without
requiring heavy genomics dependencies. Future versions will swap
deterministic toy outputs for real DE/enrichment tools (PyDESeq2, GSEApy).

Actions: inspect_dataset, run_differential_expression,
         run_pathway_enrichment, submit_answer
Made-with: Cursor
…s and tests

- PyDESeq2 + Fisher ORA, compare pathways, expert budget, HTML traces
- Gradio Visualization tab with episode state, tabbed results, default /web UI
- Case JSON fixtures (toy, strict no-default, legacy, detailed stress)
- Scripts for curriculum, benchmark, fake RNA-seq case builder
- Tests for pathway env; app enables ENABLE_WEB_INTERFACE when unset

Made-with: Cursor
…gent workflow docs

- New action: summarize groups/samples, validate DGE contrast without DESeq2
- State: validated_reference/alternate, design_understood; DE uses same resolution order
- Gradio Pathway lab button; README agent workflow (groups → DGE → pathways)
- Tests for design summary and DE parity with validated contrast

Made-with: Cursor
Adds reproducible GEO study runners/cases and benchmark documentation, plus advisor-ready HTML/PPTX decks and supporting scripts.

Made-with: Cursor
Separate author-table loading errors from counts errors without fallback. Validate gzip downloads before atomic publication and request curl failure handling and retries. Accept plain GTF annotations for Salmon using the same extension convention as STAR.

Regression tests reproduce all three Bugbot findings on 31d296c (18 failed, 51 passed). Focused Pathway suite: 102 passed, 5 skipped. Scientific mapping and State/oracle merge holds remain unchanged. Refs openenv#611.
Co-authored-by: Cursor <cursoragent@cursor.com>
@parulsarma-a parulsarma-a mentioned this pull request Nov 13, 2026
12 tasks
@parulsarma-a

Copy link
Copy Markdown
Author

@burtenshaw thanks again for the guidance on #611.

This follow-up PR is now ready for review and includes the remaining fixes you called out:

  • no true_pathway in serialized PathwayState,
  • STAR/featureCounts gene_id -> gene_name mapping,
  • regression tests for both paths.

If useful, I can split this further, but I kept it scoped to the unresolved findings.

1 similar comment
@parulsarma-a

Copy link
Copy Markdown
Author

@burtenshaw thanks again for the guidance on #611.

This follow-up PR is now ready for review and includes the remaining fixes you called out:

  • no true_pathway in serialized PathwayState,
  • STAR/featureCounts gene_id -> gene_name mapping,
  • regression tests for both paths.

If useful, I can split this further, but I kept it scoped to the unresolved findings.

This branch has not been deployed

No deployments
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.

3 participants