From 13b1f82002d33edfe55ea8b1eb3bf7f9736bd83d Mon Sep 17 00:00:00 2001 From: JK Date: Mon, 15 Jun 2026 20:59:10 -0400 Subject: [PATCH] Polish public SpaceBio-Bench release surfaces --- CITATION.cff | 4 +- Makefile | 53 ++ README.md | 553 ++++---------- ...THUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md | 356 +++++++++ ...README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md | 431 +++++++++++ docs/assets/hf_benchmark_summary.png | Bin 270367 -> 243547 bytes docs/hf_dataset_card.md | 362 ++++----- ...t_card_longform_v7_1_archive_2026_06_15.md | 325 +++++++++ release/release_manifest.json | 226 ++++++ release/release_manifest.schema.json | 237 ++++++ scripts/generate_hf_visual_assets.py | 101 ++- scripts/hpc_release_validate.sh | 78 +- scripts/upload_to_hf.py | 689 ++++++++++++++---- scripts/validate_public_docs_consistency.py | 132 ++++ scripts/validate_release_manifest.py | 256 +++++++ tests/test_hf_upload_workflow.py | 70 ++ tests/test_public_docs_consistency.py | 29 + tests/test_release_manifest.py | 56 ++ tests/test_review_fixes.py | 315 ++++---- 19 files changed, 3256 insertions(+), 1017 deletions(-) create mode 100644 Makefile create mode 100644 docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md create mode 100644 docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md create mode 100644 docs/hf_dataset_card_longform_v7_1_archive_2026_06_15.md create mode 100644 release/release_manifest.json create mode 100644 release/release_manifest.schema.json create mode 100644 scripts/validate_public_docs_consistency.py create mode 100644 scripts/validate_release_manifest.py create mode 100644 tests/test_hf_upload_workflow.py create mode 100644 tests/test_public_docs_consistency.py create mode 100644 tests/test_release_manifest.py diff --git a/CITATION.cff b/CITATION.cff index 0e427b1..a1c4453 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -18,8 +18,8 @@ abstract: > (RRRM-1, RRRM-2). The v7 release also includes unified scPRINT2 and graph neural network benchmarking, plus cross-method synthesis across classical, foundation-model, and graph-based approaches. The v7.1.2 release is a - documentation, public-card, metadata, and evidence-visibility patch; it does not - introduce new benchmark result generation. + documentation, public-card, metadata, and evidence-visibility patch; it does + not introduce new benchmark result generation. authors: - family-names: "Kim" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d617dd4 --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +PYTHON ?= python3 +HF_REPO ?= jang1563/genelab-benchmark +HF_UPLOAD_PLAN ?= output/hf_upload_plan.json +HF_TASK ?= all + +.PHONY: help +help: + @echo "SpaceBio-Bench release helpers" + @echo "" + @echo " make release-qa Run local public release validation" + @echo " make hpc-public-qa Run the public-surface slice of the HPC gate" + @echo " make public-docs-qa Validate README, HF card, citation, and manifest" + @echo " make hf-upload-plan Write a dry-run HF upload plan JSON" + @echo " make hf-card-plan Dry-run only the HF dataset card upload" + @echo " make hf-manifest-plan Dry-run only HF release metadata upload" + @echo " make validate-hf-remote Post-upload smoke-check remote HF files" + @echo "" + @echo "Variables:" + @echo " PYTHON=$(PYTHON)" + @echo " HF_REPO=$(HF_REPO)" + @echo " HF_TASK=$(HF_TASK)" + @echo " HF_UPLOAD_PLAN=$(HF_UPLOAD_PLAN)" + +.PHONY: public-docs-qa +public-docs-qa: + $(PYTHON) scripts/validate_release_manifest.py + $(PYTHON) scripts/validate_public_docs_consistency.py + $(PYTHON) -m unittest tests/test_release_manifest.py tests/test_public_docs_consistency.py + +.PHONY: release-qa +release-qa: public-docs-qa + $(PYTHON) -m unittest tests/test_hf_upload_workflow.py + $(PYTHON) -m py_compile scripts/upload_to_hf.py scripts/validate_release_manifest.py scripts/validate_public_docs_consistency.py + +.PHONY: hpc-public-qa +hpc-public-qa: + PYTHON_BIN=$(PYTHON) bash scripts/hpc_release_validate.sh --public-only + +.PHONY: hf-upload-plan +hf-upload-plan: + $(PYTHON) scripts/upload_to_hf.py --task $(HF_TASK) --repo $(HF_REPO) --dry-run --write-upload-plan $(HF_UPLOAD_PLAN) + +.PHONY: hf-card-plan +hf-card-plan: + $(PYTHON) scripts/upload_to_hf.py --repo $(HF_REPO) --card-only --dry-run + +.PHONY: hf-manifest-plan +hf-manifest-plan: + $(PYTHON) scripts/upload_to_hf.py --repo $(HF_REPO) --manifest-only --dry-run + +.PHONY: validate-hf-remote +validate-hf-remote: + $(PYTHON) scripts/upload_to_hf.py --task $(HF_TASK) --repo $(HF_REPO) --dry-run --remote-diff --validate-remote diff --git a/README.md b/README.md index 5617357..11e4352 100644 --- a/README.md +++ b/README.md @@ -1,296 +1,89 @@ -# GeneLab Benchmark +# SpaceBio-Bench -**A comprehensive benchmark for evaluating AI/ML and Foundation Models on NASA OSDR spaceflight transcriptomics data.** +**Mission-held-out transcriptomics benchmarks for evaluating whether AI/ML and +foundation models generalize spaceflight biological signatures across missions, +tissues, and model systems.** -Version: v7.1.2 public-card/metadata/evidence-visibility patch (2026-06-05) | Canonical results: v7.1 | Dataset freeze: 2026-03-01 -Status: **v1-v7 Complete; public-review card pack ready** +Former public name: **GeneLab Benchmark**. The v1-v7 historical benchmark +surface keeps that name; SpaceBio-Bench is the forward-looking platform name. -Canonical v7.1 documentation source: [`docs/CANONICAL_RESULTS_V7_1.md`](docs/CANONICAL_RESULTS_V7_1.md) records the locked scope accounting, headline result table, and v8 boundary notes for public release text. - -Live dataset card: [Hugging Face / `jang1563/genelab-benchmark`](https://huggingface.co/datasets/jang1563/genelab-benchmark) - -## Reviewer Fast Path - -For portfolio, job-application, or external-review contexts, start here: - -1. [`docs/SPACEBIOBENCH_PORTFOLIO_BRIEF.md`](docs/SPACEBIOBENCH_PORTFOLIO_BRIEF.md) - concise project contribution and role-relevant signal. -2. [`docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md`](docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md) - map of the system card, evaluation card, release readiness card, and claim register. -3. [`docs/SPACEBIOBENCH_SYSTEM_CARD.md`](docs/SPACEBIOBENCH_SYSTEM_CARD.md) - benchmark/system boundary, intended use, out-of-scope claims, and provenance controls. -4. [`docs/SPACEBIOBENCH_EVALUATION_CARD.md`](docs/SPACEBIOBENCH_EVALUATION_CARD.md) - task/fold/metric interpretation and leakage/confounding controls. -5. [`docs/SPACEBIOBENCH_CLAIM_REGISTER.md`](docs/SPACEBIOBENCH_CLAIM_REGISTER.md) - supported, blocked, and future-only claim language. -6. [Hugging Face dataset card](https://huggingface.co/datasets/jang1563/genelab-benchmark) - live public dataset card and feature-matrix package. - -Release archive pack: [`docs/RELEASE_ARCHIVE_CARD.md`](docs/RELEASE_ARCHIVE_CARD.md) -defines paper-archive scope. [`docs/RELEASE_ARCHIVE_MANIFEST.md`](docs/RELEASE_ARCHIVE_MANIFEST.md) -and [`docs/RELEASE_ARCHIVE_CHECKLIST.md`](docs/RELEASE_ARCHIVE_CHECKLIST.md) -track Zenodo metadata readiness and final DOI/tag gates. - -Release note: `v7.1.2` is a documentation, public-card, metadata, and -evidence-visibility patch on top of the canonical v7.1 result surface. It does -not introduce new benchmark result generation. DOI deposition remains pending. - -v9 note: `main` includes a curated metadata-only public bulk evidence subset -under [`v9/`](v9/) for task/source/checksum registries, the draft Data Package, -alpha-boundary reports, and baseline summaries. It excludes payload matrices -and draft extension lanes. - -[![Dataset on HuggingFace](https://img.shields.io/badge/HuggingFace-Dataset-yellow)](https://huggingface.co/datasets/jang1563/genelab-benchmark) +[![Dataset on Hugging Face](https://img.shields.io/badge/Hugging%20Face-Dataset-yellow)](https://huggingface.co/datasets/jang1563/genelab-benchmark) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) ---- - -## What Is This? - -GeneLab Benchmark provides standardized tasks for evaluating how well machine learning models — from classical baselines to gene expression foundation models (Geneformer, scGPT, UCE, scFoundation) and text-based LLMs (GPT-4o, Claude, Llama) — generalize **spaceflight transcriptomic signatures across missions**. - -The reviewer-facing transparency layer is documented as **SpaceBio-Bench**: -system, evaluation, release-readiness, and claim-boundary cards for the public -benchmark surface. - -**Core challenge**: Train a model on one spaceflight mission's RNA-seq data. Can it classify samples from a different mission it has never seen? - -**Data source**: [NASA Open Science Data Repository (OSDR)](https://osdr.nasa.gov/bio/repo/) — mouse multi-tissue bulk RNA-seq from ISS and ground control missions. - -### Benchmark Scope - -- **8 tissues**: Liver, Gastrocnemius, Kidney, Thymus, Skin, Eye, Lung, Colon -- **17+ ISS missions**: RR-1 through RR-9, MHU-1, MHU-2, and more -- **24+ verified OSD studies**, ~600+ samples (binary Flight/Ground, with BC/VC controls in v4) -- **25+ evaluation tasks** across 7 categories (A-D, J, NC, Validation) -- **v4**: 256 evaluations (8 tissues x 8 classifiers x 4 feature types) -- **Multi-species**: Mouse bulk, Drosophila KEGG, mouse scRNA-seq (RRRM-1/RRRM-2), spatial Visium -- **4 gene-expression foundation models + 3 text LLMs evaluated**: Geneformer, scGPT, UCE, scFoundation, plus GPT-4o/Claude/Llama - ---- - -## Key Features - -- **Leave-One-Mission-Out (LOMO)** cross-validation — mission = independence unit, preventing cross-mission data leakage -- **Category A**: Spaceflight detection per tissue (binary: Flight vs. Ground) -- **Category B**: Cross-mission transfer matrix (train on mission i, test on mission j) for all tissues -- **Category C**: Cross-tissue transfer (3 methods: gene, DEG, pathway) -- **Category D**: Condition/confounder prediction (mission, strain, hardware, gravity) -- **3-tier model evaluation**: Classical ML -> Gene Expression Foundation Models -> Text LLMs -- **Standardized submission format** with automatic AUROC/CI/p-value evaluation -- **Biological validation**: NES pathway conservation, Cell 2020 concordance, negative controls -- **v4 multi-method**: 8 classifiers (PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM) -- **v4 multi-feature**: 4 feature types (gene, Hallmark, KEGG, pathway-combined) - ---- +Maintainer / citation author: JangKeun Kim, Weill Cornell Medicine. -## Results Overview +Current public release note: **v7.1.2 public-card/metadata/evidence-visibility +patch** over canonical v7.1 results. The patch updates documentation, public +metadata, and evidence visibility; it does not introduce new benchmark result +generation. Dataset freeze: **2026-03-01**. -### v4 Phase 1 — Multi-Method Evaluation (256 evaluations) +## What This Is -**Best overall classifier**: PCA-LR (gene mean AUROC 0.776), ElasticNet-LR 2nd (0.762) +SpaceBio-Bench evaluates a practical space-biology question: -Canonical v7.1 result source: [`docs/CANONICAL_RESULTS_V7_1.md`](docs/CANONICAL_RESULTS_V7_1.md). Keep README, Hugging Face card, and paper outline synchronized with that table. +> If a model learns a transcriptomic spaceflight signature from one mission, +> can it recognize that signature in a different mission it has never seen? -| Tissue | Best AUROC | Best Method | Best Feature | Significant (p<0.05) | -|--------|-----------|-------------|-------------|---------------------| -| **Thymus** | **0.948*** | PCA-LR | KEGG | Yes | -| **Colon** | **0.921*** | PCA-LR | KEGG | Yes | -| **Lung** | **0.901*** | PCA-LR | Gene | Yes | -| **Kidney** | **0.829**** | ElasticNet-LR | Hallmark | Yes | -| **Skin** | 0.819 | PCA-LR | Gene | - | -| **Eye** | 0.823 | PCA-LR | Hallmark | - | -| **Liver** | 0.670 | PCA-LR | Gene | - | -| **Gastrocnemius** | 0.776 | PCA-LR | Gene | - | +The current public benchmark uses NASA Open Science Data Repository (OSDR) +spaceflight transcriptomics, with emphasis on mouse multi-tissue bulk RNA-seq, +mission-held-out validation, and transparent release boundaries. -*p<0.05, **p<0.01. 40/256 evaluations significant at p<0.05; 6/8 tissues have at least 1 significant result. +## Current Public Surfaces -**Key v4 findings**: -- SVM-RBF worst on high-dimensional gene data (0.510 mean) -- TabNet disappointing (0.527 mean) — deep learning doesn't help small-n transcriptomics -- Pathway features improve kidney (0.584->0.829), thymus (0.908->0.948), eye (0.697->0.823) -- Gene features better for skin (0.819) and lung (0.901) -- v4 expanded controls: BC/VC included (e.g., liver 261 vs v1's 193 samples) - -### v1 Results — Spaceflight Detection (LOMO, 6 tissues) - -**Gene-level (primary)**: - -| Task | Tissue | Missions | Method | Mean AUROC | 95% CI lower | perm_p | Decision | -|------|--------|---------|--------|-----------|-------------|--------|----------| -| A4 | Thymus | 4 | PCA-LR | **0.923** | 0.878 | 0.037 | GO | -| A2 | Gastrocnemius | 3 | LR | **0.907** | 0.717 | 0.026 | GO | -| A5 | Skin | 3 | LR | **0.821** | 0.637 | 0.0023 | GO | -| A6 | Eye | 3 | LR | 0.811 | 0.470 | 0.063 | NO-GO | -| A1 | Liver | 6 | LR | 0.653 | 0.457 | 0.091 | NO-GO | -| A3 | Kidney | 3 | LR | 0.593 | 0.431 | 0.281 | NO-GO | - -**Pathway-level rescue**: Eye gene-level NO-GO -> GSVA Hallmark AUROC **0.915** (GO). Kidney 0.43->0.74. - -### Cross-Mission Transfer (Category B) - -| Tissue | Mean AUROC | 95% CI | AUROC>=0.70 | Tier | -|--------|-----------|--------|-----------|------| -| Thymus | **0.860** | [0.763, 0.953] | 9/12 | 1 | -| Gastrocnemius | **0.801** | [0.653, 0.944] | 4/6 | 1 | -| Skin | **0.772** | [0.691, 0.834] | 5/6 | 2 | -| Eye | 0.754 | [0.688, 0.838] | 5/6 | 2 | -| Liver | 0.577 | [0.492, 0.666] | 13/30 | 3 | -| Kidney | 0.555 | [0.397, 0.681] | 2/6 | 3 | - -### v5 — Biological Interpretation - -| Analysis | Key Finding | -|----------|------------| -| **Immune deconvolution** (mMCP-counter, 8 tissues) | Skin strongest: 6/14 cell types FDR<0.05. Kidney, thymus 2/14 each. Most tissues 0 significant | -| **Cross-organ signaling** (OmniPath, 111 L–R pairs) | 1 SHAP-active L–R pair. TF activity: thymus 240 sig, skin 241, kidney 177, liver 105 | -| **Metabolic flux** (iMM1865 E-Flux + pFBA) | Flight vs ground objectives differ in all 6 tissues (largest: thymus FLT 15,695 vs GC 14,696) | -| **Drug targets** (DGIdb + ChEMBL) | 271/834 spaceflight genes druggable; 1,284 FDA-approved drug–gene interactions | -| **Consensus biomarker panel** (20 genes) | Top genes: MUP22, Thrsp, Apoa1, NPAS2, PER2. AUROC: gastro 0.806, liver 0.754, eye 0.728 | - -### Foundation / LLM Comparison Snapshot - -| Model | Architecture | Mean AUROC (6 tissues) | vs PCA-LR | -|-------|------------|----------------------|-----------| -| **PCA-LR baseline** | Classical ML | **0.758** | — | -| scGPT | 12L Transformer, 33M human cells | 0.666 | -0.093 | -| scFoundation | 100M params, 50M cells | 0.635† (liver best, p<0.01) | Below baseline | -| UCE | 33L, 36M cells | 0.632† (thymus best, p=0.031) | Below baseline | -| Mouse-Geneformer | 6L BERT, 30M mouse cells | 0.476 | -0.283 | -| Text LLMs (3x) | GPT-4o, Claude, Llama 3 | 0.47-0.51 | Chance level | - -**FM verdict**: All foundation models underperform classical ML. The scGPT and Mouse-Geneformer rows report 6-tissue v1 means against the 0.758 PCA-LR baseline; the scFoundation and UCE rows show their best single-tissue v3 results, and their full cross-tissue means also remain below baseline. †Best single-tissue AUROC shown; cross-tissue means are lower. - -### Independent Held-Out Validation - -| Tissue | Mission | AUROC | 95% CI | p-value | Duration | n_test | -|--------|---------|-------|--------|---------|---------|--------| -| Thymus | RR-23 | **0.905** | [0.672, 1.000] | 0.005 | 30 days | 18 | -| Skin | RR-7 | **0.885** | [0.745, 0.986] | <0.001 | 75 days | 30 | - ---- - -## Key Scientific Findings - -Interpretation boundary: the findings below are benchmark and synthesis -evidence from the documented result surfaces. They should not be read as -biological mechanism proof, clinical guidance, crew-health prediction, or -countermeasure evidence without additional validation. - -### Pre-registered Hypotheses - -| Hypothesis | Statement | Verdict | Key Evidence | +| Surface | Public status | Use it for | Entry point | |---|---|---|---| -| **H1** | Liver has the most consistent cross-mission transcriptome | **REFUTED** | Thymus (0.860) >> Liver (0.577). Thymus and Gastrocnemius = Tier 1. | -| **H2** | Transfer failure from biological diversity, not batch effects | **SUPPORTED** | NES conservation r=0.9 (5 tissues). D3 pathway F1=0.06 (batch-invariant). | -| **H3** | Pathway-level preserves spaceflight response better than gene-level | **CONDITIONALLY SUPPORTED** | Kidney rescue (0.43->0.74), Eye (0.79->0.92). But tissue-pair dependent. | - -### Novel Findings - -- **Tissue hierarchy**: Thymus > Gastrocnemius > Skin > Eye >> Liver > Kidney for spaceflight detection -- **Pathway rescue**: Pathway features rescue NO-GO tissues (kidney +0.31, eye +0.13) -- **FM failure mode**: scRNA-seq-pretrained FMs don't transfer to small-n bulk transcriptomics -- **Spaceflight amplifies aging**: OLD AUROC=0.945 vs YNG=0.679 (Delta=+0.266, RR-8 liver) -- **PBMC NK cells**: Strongest single-cell spaceflight signal (AUROC=0.845, RRRM-2) -- **Brain spatial**: Genuine negative — no detectable spaceflight signal (Visium AUROC=0.139) -- **Cross-species**: Drosophila-mouse NES correlations significant but negative (r=-0.19 to -0.59) - ---- - -## Version Structure - -| Version | Scope | Status | Location | -|---------|-------|--------|----------| -| **v1.0** | Mouse bulk RNA-seq, 6 tissues, 25+ tasks, 3 model tiers, 2 held-out validations | **Complete** | Project root | -| **v2.0** | Temporal dynamics (T1-T3), cross-species (E1-E3), single-cell (F1, F2 RRRM-1) | **Complete** | `v2/` | -| **v3.0** | Multi-species (E4), Spatial Visium (F3), RRRM-2 scRNA-seq (F5), UCE/scFoundation FM, radiation analogs, cross-tissue transfer 7×7 | **Complete** | `v3/` | -| **v4.0** | Multi-method benchmark: 8 tissues × 8 classifiers × 4 features (256 evals), ablation, SHAP, WGCNA, module preservation, STRING PPI | **Complete** | `v4/` | -| **v5.0** | Biological interpretation: immune deconvolution (mMCP-counter), metabolic flux (iMM1865 E-Flux), drug targets (DGIdb/ChEMBL), consensus 20-gene biomarker panel | **Complete** | `v5/` | -| **v6.0** | Cross-species validation: gene/pathway conservation, cross-species transfer, TF conservation, biomarker/drug target validation across species | **Complete** | `v6/` | -| **v7.0** | Unified/foundation-model benchmarking: scPRINT2, GNN/WGCNA graph baselines, cross-method synthesis, and signal hierarchy analysis | **Complete** | `v7/` | - ---- - -## Repository Structure - -``` -GeneLab_benchmark/ -├── README.md <- This file -├── DATA_CATALOG.md <- OSDR inventory (24+ studies) -├── CITATION.cff <- Citation metadata -│ -├── tasks/ <- Public task inputs (benchmark + sensitivity tasks) -│ ├── A1_liver_lomo/ <- 6 folds + 3 variants -│ ├── A2_gastrocnemius_lomo/ <- 3 folds -│ ├── A3_kidney_lomo/ <- 3 folds -│ ├── A4_thymus_lomo/ <- 4 folds + holdout -│ ├── A5_skin_lomo/ <- 3 folds -│ ├── A6_eye_lomo/ <- 3 folds -│ └── B1-B6_*_cross_mission/ <- N x (N-1) mission pairs per tissue -│ -├── scripts/ <- v1 pipeline scripts -│ ├── run_baselines.py <- Classical ML baseline runner -│ ├── evaluate_submission.py <- Submission evaluator (AUROC, CI, perm_p) -│ ├── generate_tasks.py <- LOMO split generator -│ └── ... <- See scripts/ for full list -│ -├── docs/ -│ ├── hf_dataset_card.md <- HuggingFace dataset documentation -│ ├── submission_format.md <- JSON submission specification -│ ├── text_llm_format.md <- Text LLM evaluation format -│ └── BIOLOGICAL_GROUND_TRUTH.md <- Validation reference (Cell 2020, SOMA 2024) -│ -├── evaluation/ <- Result JSON files (v1 baseline) -│ ├── RESULTS_SUMMARY.md <- Comprehensive results table (v1–v5) -│ └── *.json <- Per-task results -│ -├── v2/ <- Temporal dynamics, cross-species, scRNA-seq -│ ├── README.md -│ ├── scripts/ <- v2 analysis and runner scripts -│ ├── evaluation/ <- v2 results -│ └── figures/ <- v2 interactive HTML figures -│ -├── v3/ <- Multi-species, spatial Visium, FM evaluation -│ ├── README.md -│ ├── scripts/ <- v3 scripts (Python/Bash/R) -│ ├── evaluation/ <- v3 result summaries -│ └── figures/ <- v3 interactive HTML figures -│ -├── v4/ <- Multi-method benchmark + network biology -│ ├── scripts/ <- Classifiers, SHAP, WGCNA, and PPI analysis -│ ├── evaluation/ <- v4 result JSONs + SHAP/WGCNA outputs -│ ├── wgcna_outputs/ <- Per-tissue WGCNA module data -│ └── figures/html/ <- v4 interactive HTML figures -│ -├── v5/ <- Biological interpretation layer -│ ├── scripts/ <- Immune deconv, metabolic flux, drug targets -│ ├── evaluation/ <- Immune, TF, metabolic, and drug-target results -│ └── figures/html/ <- v5 interactive HTML figures -│ -├── v6/ <- Cross-species validation -│ ├── scripts/ <- Phase A-F Python scripts -│ └── evaluation/ <- v6 result summaries -│ -├── v7/ <- Unified/foundation-model benchmarking -│ ├── scripts/ <- HPC setup and launcher scripts -│ ├── unified/ <- scPRINT2, GNN/WGCNA, and synthesis drivers -│ ├── evaluation/ <- v7 result JSONs -│ └── figures/html/ <- v7 interactive HTML figures -│ -├── v9/ <- Public bulk metadata-alpha evidence subset -│ ├── task_manifests/ <- 8 public bulk LOMO task manifests -│ ├── reports/ <- scaffold baseline and alpha-boundary summaries -│ └── datapackage.draft.json <- metadata-only draft package descriptor -│ -└── processed/ <- Intermediate analysis outputs - ├── A_detection/ <- Per-tissue LOMO data - ├── B_cross_mission/ <- Transfer matrices - ├── fgsea/ <- 60+ fGSEA results - └── pathway_scores/ <- 48 ssGSEA pathway score files -``` - ---- - -## Getting Started - -Feature matrices (train_X.csv, test_X.csv) are hosted on HuggingFace due to size (~2 GB). -Labels, metadata, and fold structure are in this repository. - -### Option A -- Load from HuggingFace (recommended) +| v7.1 GeneLab Benchmark | Canonical historical result surface | v1-v7 results, public fold package, citation | [Canonical results](docs/CANONICAL_RESULTS_V7_1.md) | +| Hugging Face dataset | Public processed fold package | Download selected LOMO feature matrices and result artifacts | [HF dataset card](docs/hf_dataset_card.md) | +| v9 public bulk | Metadata-only public bulk alpha | Task catalog, source inventory, and baseline summaries | [v9 HF-style card](docs/v9_hf_dataset_card.md) | + +For linked methods, evaluation, and release cards, start with the +[SpaceBio-Bench card pack](docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md). +For machine-readable release status, see +[release/release_manifest.json](release/release_manifest.json). + +## Benchmark Design + +| Layer | Design choice | +|---|---| +| Core split | Leave-One-Mission-Out (LOMO); mission is the independence unit | +| Primary label | Flight vs. ground control in public spaceflight transcriptomics | +| Main data source | NASA OSDR mouse spaceflight RNA-seq | +| Feature surfaces | Gene expression, Hallmark pathways, KEGG pathways, combined pathway features | +| Model tracks | Classical ML, gene-expression foundation models, text LLMs, graph/network baselines | +| Evaluation | AUROC, bootstrap confidence interval, permutation p-value, task-specific diagnostics | +| Leakage guard | Fold-specific variance filtering is computed on training missions only | + +## Scope At A Glance + +| Dimension | v1-v7 public benchmark surface | +|---|---| +| Tissues | 8: liver, gastrocnemius, kidney, thymus, skin, eye, lung, colon | +| Public OSDR source catalog | 24+ OSD accessions | +| Processed sample scope | 600+ binary/control samples across release layers | +| v4 multi-method grid | 8 tissues x 8 classifiers x 4 feature types = 256 evaluations | +| Model families | Classical ML, 4 gene-expression foundation models, 3 text LLMs | +| Public HF fold package | Selected reviewer-facing LOMO tasks with train/test matrices and metadata | + +## Headline Results + +The v7.1 canonical result source is +[docs/CANONICAL_RESULTS_V7_1.md](docs/CANONICAL_RESULTS_V7_1.md). + +| Result surface | Takeaway | +|---|---| +| Multi-method benchmark | PCA-LR is the strongest 8-tissue gene-level baseline in v4, with mean AUROC 0.776. | +| Best tissue rows | Thymus 0.948, colon 0.921, lung 0.901, kidney 0.829 across best method-feature combinations. | +| Cross-mission transfer | Thymus and gastrocnemius show the strongest mission-transfer signal; liver and kidney are harder. | +| Pathway features | Pathway representations rescue some weaker gene-level tissues, especially kidney and eye. | +| Foundation models | Tested gene-expression foundation models underperform tuned classical baselines on small-n bulk RNA-seq mission shift. | +| Held-out validation | Thymus RR-23 AUROC 0.905; skin RR-7 AUROC 0.885. | + +The original long-form README content is preserved at +[docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md](docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md). + +## Quick Start + +### Load A Public Fold From Hugging Face ```bash pip install -r requirements.txt huggingface_hub @@ -300,162 +93,100 @@ pip install -r requirements.txt huggingface_hub from huggingface_hub import hf_hub_download import pandas as pd -train_X = pd.read_csv( - hf_hub_download( - repo_id="jang1563/genelab-benchmark", - filename="A5_skin_lomo/fold_RR-7_test/train_X.csv", - repo_type="dataset", - ), - index_col=0, -) -train_y = pd.read_csv("tasks/A5_skin_lomo/fold_RR-7_test/train_y.csv", index_col=0) -print(f"Train: {train_X.shape}") # (72, 20110) +repo_id = "jang1563/genelab-benchmark" +fold = "A5_skin_lomo/fold_RR-7_test" + +def hf_csv(name): + return pd.read_csv( + hf_hub_download( + repo_id=repo_id, + filename=f"{fold}/{name}", + repo_type="dataset", + ), + index_col=0, + ) + +train_X = hf_csv("train_X.csv") +train_y = hf_csv("train_y.csv").iloc[:, 0] +test_X = hf_csv("test_X.csv") +test_y = hf_csv("test_y.csv").iloc[:, 0] + +print(f"Train: {train_X.shape}, Test: {test_X.shape}") ``` -### Option B -- Reproduce from OSDR raw data +Each public fold includes feature matrices, labels, sample metadata, +`fold_info.json`, and `selected_genes.txt`. -Requires R 4.2+ with Bioconductor. See [docs/r_dependencies.md](docs/r_dependencies.md). +### Validate The Public Release Manifest ```bash -# 1. Download raw data from NASA OSDR -python scripts/fetch_osdr.py --osd OSD-238 OSD-239 OSD-243 OSD-254 - -# 2. Normalize (DESeq2) -Rscript scripts/normalize_rr7_skin.R - -# 3. Quality filter + build all_missions -python scripts/quality_filter.py --tissue skin - -# 4. Generate LOMO folds -python scripts/generate_tasks.py --task A5 +make release-qa +make hpc-public-qa +python3 scripts/validate_release_manifest.py +python3 -m unittest tests/test_release_manifest.py ``` ---- - -## Evaluation Protocol - -All submissions are evaluated with: - -| Metric | Description | Go threshold | -|--------|-------------|-------------| -| Mean AUROC | Average AUROC across folds | > 0.700 | -| 95% CI lower | Bootstrap CI (N=2000) lower bound | > 0.600 | -| perm_p | Permutation p-value (N=1000, pseudocount) | < 0.050 | - -All three conditions must pass for a GO decision. - -### Submission Format - -Prepare a JSON file (see [docs/submission_format.md](docs/submission_format.md)): - -```json -{ - "task_id": "A5", - "model_name": "MyModel_v1", - "predictions": { - "fold_MHU-2_test": {"sample_id_1": 0.92, "sample_id_2": 0.07}, - "fold_RR-6_test": {"...": "..."}, - "fold_RR-7_test": {"...": "..."} - } -} -``` +Create a dry-run Hugging Face upload plan: ```bash -python scripts/evaluate_submission.py \ - --submission my_submission.json \ - --task A5 +make hf-upload-plan HF_TASK=A5 HF_UPLOAD_PLAN=/tmp/spacebiobench_hf_upload_plan_A5.json ``` ---- - -## Model Tracks - -| Track | Examples | Input Format | -|-------|---------|-------------| -| **Tier 1 -- Classical ML** | LR, RF, XGBoost, PCA-LR, SVM, LightGBM, TabNet | Tabular gene x sample | -| **Tier 2 -- Foundation Models** | Geneformer, scGPT, UCE, scFoundation | Gene rank order / embeddings | -| **Tier 3 -- Text LLMs** | GPT-4o, Claude, Llama 3 | Natural language gene list | - ---- - -## Data - -All data is derived from publicly available NASA OSDR datasets. +### Reproduce From OSDR Inputs -### v1 Core (6 tissues, 24 studies) +Raw-data reproduction requires R/Bioconductor and task-specific preprocessing. +See [docs/r_dependencies.md](docs/r_dependencies.md) and the scripts under +[scripts/](scripts/). -| Tissue | OSD Accession | Mission | n samples | -|--------|--------------|---------|-----------| -| Liver | OSD-48, 137, 245, 379, 242, 686 | RR-1, RR-3, RR-6, RR-8, RR-9, MHU-2 | 193 (v1) / 261 (v4 w/ BC/VC) | -| Gastrocnemius | OSD-101, 401, 326 | RR-1, RR-5, RR-9 | 32 | -| Kidney | OSD-102, 163, 253 | RR-1, RR-3, RR-7 | 118 | -| Thymus | OSD-289, 244, 421 | MHU-1, MHU-2, RR-6, RR-9 | 67 | -| Skin | OSD-238, 239, 243, 254 | MHU-2, RR-6, RR-7 | 102 | -| Eye | OSD-100, 194, 397 | RR-1, RR-3, OSD-397 | 37 | +## Repository Map -### v4 Additions (2 tissues) - -| Tissue | OSD Accession | Mission | n samples | -|--------|--------------|---------|-----------| -| Lung | Multiple OSD studies | Multiple missions | See v4 results | -| Colon | Multiple OSD studies | Multiple missions | See v4 results | - -Preprocessing: DESeq2 normalization (per-mission), log2(counts + 1), global low-expression filter (>=20% samples with count>1), top 75th percentile variance gene selection per fold (train missions only). - ---- - -## Design Decisions +```text +tasks/ Public v1 LOMO task inputs and selected fold packages +evaluation/ Historical v1 result JSON and summaries +v2/ ... v7/ Completed historical benchmark layers +v9/ Public-bulk alpha scaffold plus extension-lane drafts +docs/ Cards, canonical results, methods, plans, and release notes +release/ Machine-readable public release manifest +scripts/ Data, evaluation, upload, validation, and figure scripts +``` -Key methodological choices underpinning this benchmark: +## Key Documents -- **Feature encoding**: log2(DESeq2 normalized counts); LFC forbidden in Category A (label leakage) -- **LOMO splits**: Mission = independence unit; variance filter applied on training missions only (no test leakage) -- **Strain**: Track 2a = C57BL/6J only; Track 2b = all strains -- **Evaluation**: AUROC + bootstrap CI (N=2000) + permutation p (N=1000); GO requires all 3 AND conditions -- **Negative controls**: NC1 label permutation, NC2 housekeeping genes, NC3 cross-species gene set -- **v4 classifiers**: PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM -- **v4 features**: Gene (log2-norm), Hallmark (ssGSEA), KEGG (ssGSEA), pathway-combined -- **Pathway analysis**: fGSEA group-level + gseapy ssGSEA sample-level -- **Text LLM track**: Gene list → natural language prompt → binary classification -- **Category B**: Transfer Pattern Summary (no single GO/NO-GO; use pairs ≥0.70 and perm_p<0.05 counts) +| Need | Document | +|---|---| +| Public result source | [docs/CANONICAL_RESULTS_V7_1.md](docs/CANONICAL_RESULTS_V7_1.md) | +| Methods, evaluation, and release cards | [docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md](docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md) | +| System scope | [docs/SPACEBIOBENCH_SYSTEM_CARD.md](docs/SPACEBIOBENCH_SYSTEM_CARD.md) | +| Evaluation interpretation | [docs/SPACEBIOBENCH_EVALUATION_CARD.md](docs/SPACEBIOBENCH_EVALUATION_CARD.md) | +| Release readiness | [docs/SPACEBIOBENCH_RELEASE_READINESS_CARD.md](docs/SPACEBIOBENCH_RELEASE_READINESS_CARD.md) | +| Hugging Face dataset card source | [docs/hf_dataset_card.md](docs/hf_dataset_card.md) | +| v9 metadata-alpha card source | [docs/v9_hf_dataset_card.md](docs/v9_hf_dataset_card.md) | +| GitHub/HF upgrade roadmap | [docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md](docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md) | +| Machine-readable release state | [release/release_manifest.json](release/release_manifest.json) | ---- +## Data And Release Notes -## Changelog +All source data is derived from publicly available NASA OSDR resources. Code is +MIT licensed. The processed public dataset package follows the license declared +in the Hugging Face dataset card; upstream OSDR datasets should be cited and +used under their individual terms. -| Version | Date | Changes | -|---------|------|---------| -| v7.1.2 | 2026-06-05 | Public-card, metadata, and evidence-visibility patch: reviewer fast path, transparency card pack, v9 metadata-alpha evidence subset, release archive gates, and synchronized citation metadata. No new benchmark result generation. | -| v7.0 | 2026-04-12 | Unified benchmark layer complete: scPRINT2 baseline, GNN/WGCNA graph comparisons across 6 tissues, portable checkpoint/result artifacts, and v7 methods/signal-hierarchy synthesis. | -| v6.0 | 2026-03-30 | Cross-species validation complete: gene conservation, pathway conservation, cross-species transfer, TF conservation, biomarker validation, drug target validation (6 result JSONs). | -| v5.0 | 2026-03-29 | Biological interpretation complete: immune deconvolution (mMCP-counter, 8 tissues), cross-organ signaling (OmniPath, 111 L–R pairs), metabolic flux (iMM1865 E-Flux + pFBA), drug targets (DGIdb + ChEMBL, 1,284 FDA interactions), consensus 20-gene biomarker panel (gastro AUROC 0.806). 5 integration figures. | -| v4.0 | 2026-03-28 | v4 complete: 256 evaluations (8 tissues × 8 methods × 4 features). PCA-LR best (AUROC 0.776). Friedman p=0.015. Ablation (569 evals), SHAP multi-method, Python WGCNA (6 tissues), module preservation, STRING PPI. 11 publication figures. | -| v3.0 | 2026-03-20 | Multi-species (E4 Drosophila KEGG), spatial Visium brain (NEGATIVE), RRRM-2 scRNA-seq (PBMC NK 0.845), UCE + scFoundation FM eval, 7×7 cross-tissue transfer, radiation analogs. 5 publication figures. | -| v2.0 | 2026-03-18 | RRRM-1 scRNA-seq 4 tissues (38K cells). E1 cross-species r=0.352. T1–T3 temporal dynamics. 3 publication figures. | -| v1.3 | 2026-03-13 | Tier 3 LLM zero-shot. scGPT mean 0.666. Held-out: thymus RR-23 (0.905), skin RR-7 (0.885). 4 main + 4 supplementary figures. | -| v1.0 | 2026-03-07 | Initial release: 6 tissues, Categories A–D, Geneformer, Cell 2020 validation, fGSEA, GSVA. | +Release labels are intentionally separated: ---- +- **v7.1**: canonical historical result surface and citation target. +- **v9 public bulk**: metadata-only public bulk alpha. ## Citation -*(Manuscript in preparation)* +Please cite the software using [CITATION.cff](CITATION.cff). GitHub renders the +same citation metadata in the repository citation panel. ```bibtex @dataset{kim2026genelab, - title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics Benchmark for AI/ML Models}, - author = {Kim, JangKeun}, - year = {2026}, - url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, - note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01} + title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics Benchmark for AI/ML Models}, + author = {Kim, JangKeun}, + year = {2026}, + url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, + note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01} } ``` - -Data source: NASA Open Science Data Repository (OSDR) -- [osdr.nasa.gov](https://osdr.nasa.gov/bio/repo/) - ---- - -## License - -Code: MIT License -Data: NASA OSDR public data (see individual dataset licenses at OSDR); processed benchmark feature matrices should follow the license declared in the public dataset card. diff --git a/docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md b/docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md new file mode 100644 index 0000000..ac68983 --- /dev/null +++ b/docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md @@ -0,0 +1,356 @@ +# GitHub and Hugging Face Premium Upgrade Plan + +Status: strategic execution plan +Date: 2026-06-15 +Scope: GitHub, Hugging Face, citation metadata, release manifests, and public +documentation for GeneLab Benchmark / SpaceBio-Bench. + +## Purpose + +This plan upgrades the public project surface so that both human readers and +machines can understand the benchmark without reconstructing context from many +separate documents. + +The goal is not simply a better README. The goal is a coherent public package: + +- GitHub explains the project, methods, status, and release history. +- Hugging Face distributes benchmark artifacts with clear dataset-card metadata. +- Machine-readable manifests define versions, tasks, files, checksums, schemas, + release status, and citation targets. +- Public-facing prose stays concise and confident, while detailed boundary and + reproducibility information lives in cards, schemas, and manifests. + +## Current Diagnosis + +The repository already has strong raw material: + +- `README.md` introduces the benchmark and summarizes v1-v7 results. +- `docs/hf_dataset_card.md` is a strong Hugging Face card for the public fold + package. +- `docs/v9_hf_dataset_card.md` clearly labels the v9 public bulk track as a + metadata-only alpha. +- `CITATION.cff` records the v7.1 software citation. +- `docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md` maps the system, evaluation, + release-readiness, and claim-register documents. +- `spacebio_bench/schemas/` already contains task, run, and metric-profile + schemas. +- `spacebio_bench/datapackage.py` and `v9/datapackage.draft.json` begin the + machine-readable data-package spine. + +The main gap is not content volume. The main gap is a single public source of +truth. Today, README, Hugging Face card, citation metadata, v8 release notes, +and v9 alpha documents each carry part of the truth. A new reader or automated +agent has to infer which surface is current, which release lane is frozen, and +which artifact is authoritative. + +## North Star + +SpaceBio-Bench should feel like a premium benchmark platform: + +- A scientist can quickly understand the benchmark question, data sources, + task design, main results, and valid uses. +- A reviewer can trace every public claim to a release lane, result file, + method description, and validation status. +- A machine agent can parse the release manifest and discover tasks, schemas, + files, checksums, licenses, source accessions, and citation metadata. +- A contributor can run validation, rebuild public indices, and prepare a + release without reading the entire documentation history. + +## Public Status Model + +Use one controlled status vocabulary across README, Hugging Face cards, +release manifests, and citation metadata. + +| Lane | Public label | Meaning | Primary surfaces | +|---|---|---|---| +| v7.1 | canonical historical result surface | Public v1-v7 benchmark result and documentation surface | `README.md`, `docs/CANONICAL_RESULTS_V7_1.md`, `docs/hf_dataset_card.md`, `CITATION.cff` | +| v8 | incubating translational extension | Reproducibility hardening and artifact split in progress | `docs/V8_BETA_RELEASE_PLAN_2026_05_10.md`, `v8/release/` | +| v9 public bulk | metadata-only public bulk alpha | Task/source/provenance metadata and scaffold baselines are present; frozen payload release is not yet declared | `docs/v9_hf_dataset_card.md`, `v9/datapackage.draft.json`, `v9/task_manifest_index.csv` | +| v9 extension lanes | diagnostic or draft lanes | Single-cell, organoid, multispecies, and stressor extensions under design or diagnostic evaluation | `v9/README.md`, lane-specific reports | + +Public pages should not expose too much internal decision language. Detailed +release boundaries should remain available, but the landing experience should +read as a clean product surface: what this is, what is available, how to use it, +and where deeper validation lives. + +## Target Information Architecture + +### GitHub + +GitHub should be the canonical project operating system. + +Recommended top-level public structure: + +```text +README.md +CITATION.cff +LICENSE +CHANGELOG.md +CONTRIBUTING.md +docs/ + START_HERE.md + RELEASE_INDEX.md + cards/ + results/ + methods/ + releases/ + api/ +spacebio_bench/ + schemas/ +release/ + release_manifest.json + release_manifest.schema.json + checksums.sha256 +examples/ +scripts/ + release/ +``` + +The root README should become a compact public landing page: + +1. One-sentence benchmark identity. +2. Current public release table. +3. "Use the benchmark" quickstart. +4. "What is measured" task map. +5. "What the main results say" concise result panel. +6. Links to dataset card, transparency card pack, canonical results, v9 alpha, + and citation. + +Long result tables, historical detail, and lane-specific caveats should move +to linked docs. + +### Hugging Face + +Hugging Face should be the canonical dataset distribution surface. + +Recommended dataset package shape: + +```text +README.md +manifest.json +datapackage.json +checksums.sha256 +task_manifest_index.csv +task_data_index.csv +source_inventory.csv +examples/ +assets/ +v7_public_folds/ +v9_public_bulk_alpha/ +``` + +The HF `README.md` should keep a strong YAML metadata block because Hugging Face +uses dataset-card metadata for discoverability and display. The prose should be +shorter than GitHub docs and optimized for dataset users: + +1. What the package contains. +2. Which release lane it represents. +3. How to download/load it. +4. File layout. +5. Citation. +6. Links back to GitHub for full methods and transparency documentation. + +If v7 public folds and v9 metadata alpha continue to share one HF repository, +the lane separation must be obvious in both paths and metadata. A separate +HF dataset repo for v9 is cleaner if public users are likely to confuse v7 +benchmark folds with v9 alpha metadata. + +## Machine-Readable Spine + +Add a canonical `release/release_manifest.json` and validate it in CI. + +Minimum fields: + +```json +{ + "schema_version": "1.0.0", + "project": { + "name": "SpaceBio-Bench", + "legacy_name": "GeneLab Benchmark", + "repository": "https://github.com/jang1563/GeneLab_benchmark" + }, + "release_lanes": [], + "artifacts": [], + "schemas": [], + "huggingface": {}, + "citation": {}, + "checksums": {}, + "validation": {} +} +``` + +The manifest should connect: + +- release lane and status, +- Git commit and optional tag, +- Hugging Face repo id and revision, +- Zenodo or DOI target when available, +- artifact paths and SHA-256 hashes, +- task manifests and schemas, +- source accessions and licenses, +- citation version and preferred citation. + +This file should become the input for generated public surfaces: + +- README release table, +- HF card release table, +- release index, +- citation consistency check, +- upload dry-run report, +- post-upload remote validation. + +## Human-Facing Premium Assets + +The public project should have a small number of polished, reusable visual +assets: + +- benchmark task map, +- release-lane status map, +- artifact flow from OSDR source to task manifest to evaluation output, +- model-family comparison panel, +- HF package layout diagram. + +These should be stored under `docs/assets/` and reused in README, HF card, +slide decks, and manuscript support material. Each asset should have a source +script and visual QA record. + +## Automation Plan + +Add release commands that make premium quality repeatable: + +```bash +make release-qa +make build-public-manifest +make build-hf-package +make upload-hf-dry-run +make validate-hf-remote +``` + +Recommended checks: + +- JSON Schema validation for release, task, run, and metric manifests. +- README, HF card, and `CITATION.cff` version/status consistency. +- Broken-link check for public docs. +- SHA-256 verification for release artifacts. +- HF dry-run diff before upload. +- HF remote smoke download after upload. +- Status-language lint so alpha/draft surfaces do not accidentally claim a + frozen release. +- Large-file and local-cache guard before release commits. + +## 30/60/90 Day Execution Board + +### First 30 days: public coherence + +- Create `release/release_manifest.schema.json`. +- Create first `release/release_manifest.json` covering v7.1, v8, and v9 + public bulk alpha. +- Add a generated `docs/RELEASE_INDEX.md`. +- Rewrite root README into a compact landing page. +- Keep historical result detail in `docs/CANONICAL_RESULTS_V7_1.md`. +- Add a README/HF/CITATION consistency test. + +Deliverable: a new reader can understand the public state in under five +minutes, and an automated check can confirm that status labels agree. + +### Days 31-60: HF package hardening + +- Decide whether v9 alpha stays in the existing HF repo or moves to a separate + dataset repo. +- Generate HF card sections from the release manifest. +- Add `manifest.json`, `datapackage.json`, and `checksums.sha256` to the HF + package. +- Upgrade `scripts/upload_to_hf.py` into a release package builder with dry-run + diff and post-upload validation. +- Add one polished HF summary graphic generated from source data. + +Deliverable: HF becomes a deterministic, auditable distribution package rather +than a manually curated upload target. + +### Days 61-90: CI and release discipline + +- Add GitHub Actions for schema validation, docs consistency, and link checks. +- Add a release checklist template. +- Add contributor and issue templates. +- Add release-note generation from `release_manifest.json`. +- Record HF revision after every upload. +- Prepare Zenodo/DOI metadata if a frozen release is ready. + +Deliverable: public releases can be prepared from a clean checkout with a +repeatable validation path. + +### 3-6 months: platform maturity + +- Add RO-Crate or DataCite-compatible metadata for archival release. +- Add richer examples for classical ML, foundation-model adapters, and + submission validation. +- Add `docs/AI_AGENT_README.md` or `llms.txt` for machine-agent orientation. +- Publish stable API docs if `spacebio_bench` becomes an installable package. +- Add benchmark cards for each promoted task family. + +Deliverable: SpaceBio-Bench reads as a professional benchmark platform, not a +single project repository. + +## Decision Points + +### Public name + +Recommended approach: + +- Use "SpaceBio-Bench" as the forward-looking platform name. +- Preserve "GeneLab Benchmark" as the historical v1-v7 name and repository + alias. +- Make the transition explicit in README, HF card, and citation metadata. + +### HF repository split + +Option A: one HF repo. + +- Pros: one public dataset link, simpler historical continuity. +- Cons: v7 public folds and v9 metadata alpha can be confused. + +Option B: separate HF repos for stable/frozen and alpha/living tracks. + +- Pros: cleaner user mental model and safer release language. +- Cons: more metadata maintenance. + +Recommendation: keep the existing `jang1563/genelab-benchmark` for v7 public +folds and create a separate v9 alpha repo when public distribution expands +beyond metadata indices. + +### Package identity + +Decide whether the repo should remain documentation/scripts only or become an +installable Python package. If the latter, add `pyproject.toml`, console +entrypoints, and API docs. + +## Quality Bar + +A public update is premium quality only when all of the following are true: + +- A human can identify the current public release state from the first screen + of the README. +- The HF card says exactly what is packaged and what release lane it belongs to. +- `CITATION.cff` matches the release lane being cited. +- Every public artifact has a path, role, version, and checksum in a manifest. +- Every promoted task has a schema-valid task manifest. +- Every promoted result has a run manifest or equivalent provenance record. +- Public docs do not require internal project history to interpret. +- Release boundaries are clear without sounding apologetic or defensive. + +## Immediate Next Actions + +1. Create `release/release_manifest.schema.json`. +2. Create `release/release_manifest.json` with current v7.1, v8, and v9 public + lane status. +3. Add a small validator script for release-manifest schema and required public + files. +4. Draft the compact README structure without deleting existing result detail. +5. Draft the HF package layout decision: one repo now, separate v9 repo later. + +## External Platform References + +- Hugging Face Dataset Cards: https://huggingface.co/docs/hub/datasets-cards +- Hugging Face Model Cards: https://huggingface.co/docs/hub/model-cards +- GitHub README documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes +- GitHub CITATION files: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files diff --git a/docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md b/docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md new file mode 100644 index 0000000..a5fb658 --- /dev/null +++ b/docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md @@ -0,0 +1,431 @@ +# GeneLab Benchmark + +**A comprehensive benchmark for evaluating AI/ML and Foundation Models on NASA OSDR spaceflight transcriptomics data.** + +Version: v7.0 (2026-04-12) | Dataset freeze: 2026-03-01 +Status: **v1–v7 Complete** + +Maintainer / citation author: JangKeun Kim, Weill Cornell Medicine. + +Canonical v7.1 documentation source: [`docs/CANONICAL_RESULTS_V7_1.md`](docs/CANONICAL_RESULTS_V7_1.md) records the locked scope accounting, headline result table, and v8 boundary notes for public release text. + +Transparency card pack: [`docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md`](docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md) maps the system card, evaluation card, release readiness card, and claim register for v1-v7 results plus v8/v9 draft-surface boundaries. + +Portfolio brief: [`docs/SPACEBIOBENCH_PORTFOLIO_BRIEF.md`](docs/SPACEBIOBENCH_PORTFOLIO_BRIEF.md) summarizes the project contribution for portfolio and external-review contexts. + +[![Dataset on HuggingFace](https://img.shields.io/badge/HuggingFace-Dataset-yellow)](https://huggingface.co/datasets/jang1563/genelab-benchmark) +[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) + +--- + +## What Is This? + +GeneLab Benchmark provides standardized tasks for evaluating how well machine learning models — from classical baselines to gene expression foundation models (Geneformer, scGPT, UCE, scFoundation) and text-based LLMs (GPT-4o, Claude, Llama) — generalize **spaceflight transcriptomic signatures across missions**. + +**Core challenge**: Train a model on one spaceflight mission's RNA-seq data. Can it classify samples from a different mission it has never seen? + +**Data source**: [NASA Open Science Data Repository (OSDR)](https://osdr.nasa.gov/bio/repo/) — mouse multi-tissue bulk RNA-seq from ISS and ground control missions. + +### Benchmark Scope + +- **8 tissues**: Liver, Gastrocnemius, Kidney, Thymus, Skin, Eye, Lung, Colon +- **17+ ISS missions**: RR-1 through RR-9, MHU-1, MHU-2, and more +- **24+ verified OSD studies**, ~600+ samples (binary Flight/Ground, with BC/VC controls in v4) +- **25+ evaluation tasks** across 7 categories (A-D, J, NC, Validation) +- **v4**: 256 evaluations (8 tissues x 8 classifiers x 4 feature types) +- **Multi-species**: Mouse bulk, Drosophila KEGG, mouse scRNA-seq (RRRM-1/RRRM-2), spatial Visium +- **4 gene-expression foundation models + 3 text LLMs evaluated**: Geneformer, scGPT, UCE, scFoundation, plus GPT-4o/Claude/Llama + +--- + +## Key Features + +- **Leave-One-Mission-Out (LOMO)** cross-validation — mission = independence unit, preventing cross-mission data leakage +- **Category A**: Spaceflight detection per tissue (binary: Flight vs. Ground) +- **Category B**: Cross-mission transfer matrix (train on mission i, test on mission j) for all tissues +- **Category C**: Cross-tissue transfer (3 methods: gene, DEG, pathway) +- **Category D**: Condition/confounder prediction (mission, strain, hardware, gravity) +- **3-tier model evaluation**: Classical ML -> Gene Expression Foundation Models -> Text LLMs +- **Standardized submission format** with automatic AUROC/CI/p-value evaluation +- **Biological validation**: NES pathway conservation, Cell 2020 concordance, negative controls +- **v4 multi-method**: 8 classifiers (PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM) +- **v4 multi-feature**: 4 feature types (gene, Hallmark, KEGG, pathway-combined) + +--- + +## Results Overview + +### v4 Phase 1 — Multi-Method Evaluation (256 evaluations) + +**Best overall classifier**: PCA-LR (gene mean AUROC 0.776), ElasticNet-LR 2nd (0.762) + +Canonical v7.1 result source: [`docs/CANONICAL_RESULTS_V7_1.md`](docs/CANONICAL_RESULTS_V7_1.md). Keep README, Hugging Face card, and paper outline synchronized with that table. + +| Tissue | Best AUROC | Best Method | Best Feature | Significant (p<0.05) | +|--------|-----------|-------------|-------------|---------------------| +| **Thymus** | **0.948*** | PCA-LR | KEGG | Yes | +| **Colon** | **0.921*** | PCA-LR | KEGG | Yes | +| **Lung** | **0.901*** | PCA-LR | Gene | Yes | +| **Kidney** | **0.829**** | ElasticNet-LR | Hallmark | Yes | +| **Skin** | 0.819 | PCA-LR | Gene | - | +| **Eye** | 0.823 | PCA-LR | Hallmark | - | +| **Liver** | 0.670 | PCA-LR | Gene | - | +| **Gastrocnemius** | 0.776 | PCA-LR | Gene | - | + +*p<0.05, **p<0.01. 40/256 evaluations significant at p<0.05; 6/8 tissues have at least 1 significant result. + +**Key v4 findings**: +- SVM-RBF worst on high-dimensional gene data (0.510 mean) +- TabNet disappointing (0.527 mean) — deep learning doesn't help small-n transcriptomics +- Pathway features improve kidney (0.584->0.829), thymus (0.908->0.948), eye (0.697->0.823) +- Gene features better for skin (0.819) and lung (0.901) +- v4 expanded controls: BC/VC included (e.g., liver 261 vs v1's 193 samples) + +### v1 Results — Spaceflight Detection (LOMO, 6 tissues) + +**Gene-level (primary)**: + +| Task | Tissue | Missions | Method | Mean AUROC | 95% CI lower | perm_p | Decision | +|------|--------|---------|--------|-----------|-------------|--------|----------| +| A4 | Thymus | 4 | PCA-LR | **0.923** | 0.878 | 0.037 | GO | +| A2 | Gastrocnemius | 3 | LR | **0.907** | 0.717 | 0.026 | GO | +| A5 | Skin | 3 | LR | **0.821** | 0.637 | 0.0023 | GO | +| A6 | Eye | 3 | LR | 0.811 | 0.470 | 0.063 | NO-GO | +| A1 | Liver | 6 | LR | 0.653 | 0.457 | 0.091 | NO-GO | +| A3 | Kidney | 3 | LR | 0.593 | 0.431 | 0.281 | NO-GO | + +**Pathway-level rescue**: Eye gene-level NO-GO -> GSVA Hallmark AUROC **0.915** (GO). Kidney 0.43->0.74. + +### Cross-Mission Transfer (Category B) + +| Tissue | Mean AUROC | 95% CI | AUROC>=0.70 | Tier | +|--------|-----------|--------|-----------|------| +| Thymus | **0.860** | [0.763, 0.953] | 9/12 | 1 | +| Gastrocnemius | **0.801** | [0.653, 0.944] | 4/6 | 1 | +| Skin | **0.772** | [0.691, 0.834] | 5/6 | 2 | +| Eye | 0.754 | [0.688, 0.838] | 5/6 | 2 | +| Liver | 0.577 | [0.492, 0.666] | 13/30 | 3 | +| Kidney | 0.555 | [0.397, 0.681] | 2/6 | 3 | + +### v5 — Biological Interpretation + +| Analysis | Key Finding | +|----------|------------| +| **Immune deconvolution** (mMCP-counter, 8 tissues) | Skin strongest: 6/14 cell types FDR<0.05. Kidney, thymus 2/14 each. Most tissues 0 significant | +| **Cross-organ signaling** (OmniPath, 111 L–R pairs) | 1 SHAP-active L–R pair. TF activity: thymus 240 sig, skin 241, kidney 177, liver 105 | +| **Metabolic flux** (iMM1865 E-Flux + pFBA) | Flight vs ground objectives differ in all 6 tissues (largest: thymus FLT 15,695 vs GC 14,696) | +| **Drug targets** (DGIdb + ChEMBL) | 271/834 spaceflight genes druggable; 1,284 FDA-approved drug–gene interactions | +| **Consensus biomarker panel** (20 genes) | Top genes: MUP22, Thrsp, Apoa1, NPAS2, PER2. AUROC: gastro 0.806, liver 0.754, eye 0.728 | + +### Foundation / LLM Comparison Snapshot + +| Model | Architecture | Mean AUROC (6 tissues) | vs PCA-LR | +|-------|------------|----------------------|-----------| +| **PCA-LR baseline** | Classical ML | **0.758** | — | +| scGPT | 12L Transformer, 33M human cells | 0.666 | -0.093 | +| scFoundation | 100M params, 50M cells | 0.635† (liver best, p<0.01) | Below baseline | +| UCE | 33L, 36M cells | 0.632† (thymus best, p=0.031) | Below baseline | +| Mouse-Geneformer | 6L BERT, 30M mouse cells | 0.476 | -0.283 | +| Text LLMs (3x) | GPT-4o, Claude, Llama 3 | 0.47-0.51 | Chance level | + +**FM verdict**: All foundation models underperform classical ML. The scGPT and Mouse-Geneformer rows report 6-tissue v1 means against the 0.758 PCA-LR baseline; the scFoundation and UCE rows show their best single-tissue v3 results, and their full cross-tissue means also remain below baseline. †Best single-tissue AUROC shown; cross-tissue means are lower. + +### Independent Held-Out Validation + +| Tissue | Mission | AUROC | 95% CI | p-value | Duration | n_test | +|--------|---------|-------|--------|---------|---------|--------| +| Thymus | RR-23 | **0.905** | [0.672, 1.000] | 0.005 | 30 days | 18 | +| Skin | RR-7 | **0.885** | [0.745, 0.986] | <0.001 | 75 days | 30 | + +--- + +## Key Scientific Findings + +### Pre-registered Hypotheses + +| Hypothesis | Statement | Verdict | Key Evidence | +|---|---|---|---| +| **H1** | Liver has the most consistent cross-mission transcriptome | **REFUTED** | Thymus (0.860) >> Liver (0.577). Thymus and Gastrocnemius = Tier 1. | +| **H2** | Transfer failure from biological diversity, not batch effects | **SUPPORTED** | NES conservation r=0.9 (5 tissues). D3 pathway F1=0.06 (batch-invariant). | +| **H3** | Pathway-level preserves spaceflight response better than gene-level | **CONDITIONALLY SUPPORTED** | Kidney rescue (0.43->0.74), Eye (0.79->0.92). But tissue-pair dependent. | + +### Novel Findings + +- **Tissue hierarchy**: Thymus > Gastrocnemius > Skin > Eye >> Liver > Kidney for spaceflight detection +- **Pathway rescue**: Pathway features rescue NO-GO tissues (kidney +0.31, eye +0.13) +- **FM failure mode**: scRNA-seq-pretrained FMs don't transfer to small-n bulk transcriptomics +- **Spaceflight amplifies aging**: OLD AUROC=0.945 vs YNG=0.679 (Delta=+0.266, RR-8 liver) +- **PBMC NK cells**: Strongest single-cell spaceflight signal (AUROC=0.845, RRRM-2) +- **Brain spatial**: Genuine negative — no detectable spaceflight signal (Visium AUROC=0.139) +- **Cross-species**: Drosophila-mouse NES correlations significant but negative (r=-0.19 to -0.59) + +--- + +## Version Structure + +| Version | Scope | Status | Location | +|---------|-------|--------|----------| +| **v1.0** | Mouse bulk RNA-seq, 6 tissues, 25+ tasks, 3 model tiers, 2 held-out validations | **Complete** | Project root | +| **v2.0** | Temporal dynamics (T1-T3), cross-species (E1-E3), single-cell (F1, F2 RRRM-1) | **Complete** | `v2/` | +| **v3.0** | Multi-species (E4), Spatial Visium (F3), RRRM-2 scRNA-seq (F5), UCE/scFoundation FM, radiation analogs, cross-tissue transfer 7×7 | **Complete** | `v3/` | +| **v4.0** | Multi-method benchmark: 8 tissues × 8 classifiers × 4 features (256 evals), ablation, SHAP, WGCNA, module preservation, STRING PPI | **Complete** | `v4/` | +| **v5.0** | Biological interpretation: immune deconvolution (mMCP-counter), metabolic flux (iMM1865 E-Flux), drug targets (DGIdb/ChEMBL), consensus 20-gene biomarker panel | **Complete** | `v5/` | +| **v6.0** | Cross-species validation: gene/pathway conservation, cross-species transfer, TF conservation, biomarker/drug target validation across species | **Complete** | `v6/` | +| **v7.0** | Unified/foundation-model benchmarking: scPRINT2, GNN/WGCNA graph baselines, cross-method synthesis, and signal hierarchy analysis | **Complete** | `v7/` | + +--- + +## Repository Structure + +``` +GeneLab_benchmark/ +├── README.md <- This file +├── DATA_CATALOG.md <- OSDR inventory (24+ studies) +├── CITATION.cff <- Citation metadata +│ +├── tasks/ <- Public task inputs (benchmark + sensitivity tasks) +│ ├── A1_liver_lomo/ <- 6 folds + 3 variants +│ ├── A2_gastrocnemius_lomo/ <- 3 folds +│ ├── A3_kidney_lomo/ <- 3 folds +│ ├── A4_thymus_lomo/ <- 4 folds + holdout +│ ├── A5_skin_lomo/ <- 3 folds +│ ├── A6_eye_lomo/ <- 3 folds +│ └── B1-B6_*_cross_mission/ <- N x (N-1) mission pairs per tissue +│ +├── scripts/ <- v1 pipeline scripts +│ ├── run_baselines.py <- Classical ML baseline runner +│ ├── evaluate_submission.py <- Submission evaluator (AUROC, CI, perm_p) +│ ├── generate_tasks.py <- LOMO split generator +│ └── ... <- See scripts/ for full list +│ +├── docs/ +│ ├── hf_dataset_card.md <- HuggingFace dataset documentation +│ ├── submission_format.md <- JSON submission specification +│ ├── text_llm_format.md <- Text LLM evaluation format +│ └── BIOLOGICAL_GROUND_TRUTH.md <- Validation reference (Cell 2020, SOMA 2024) +│ +├── evaluation/ <- Result JSON files (v1 baseline) +│ ├── RESULTS_SUMMARY.md <- Comprehensive results table (v1–v5) +│ └── *.json <- Per-task results +│ +├── v2/ <- Temporal dynamics, cross-species, scRNA-seq +│ ├── README.md +│ ├── scripts/ <- v2 analysis and runner scripts +│ ├── evaluation/ <- v2 results +│ └── figures/ <- v2 interactive HTML figures +│ +├── v3/ <- Multi-species, spatial Visium, FM evaluation +│ ├── README.md +│ ├── scripts/ <- v3 scripts (Python/Bash/R) +│ ├── evaluation/ <- v3 result summaries +│ └── figures/ <- v3 interactive HTML figures +│ +├── v4/ <- Multi-method benchmark + network biology +│ ├── scripts/ <- Classifiers, SHAP, WGCNA, and PPI analysis +│ ├── evaluation/ <- v4 result JSONs + SHAP/WGCNA outputs +│ ├── wgcna_outputs/ <- Per-tissue WGCNA module data +│ └── figures/html/ <- v4 interactive HTML figures +│ +├── v5/ <- Biological interpretation layer +│ ├── scripts/ <- Immune deconv, metabolic flux, drug targets +│ ├── evaluation/ <- Immune, TF, metabolic, and drug-target results +│ └── figures/html/ <- v5 interactive HTML figures +│ +├── v6/ <- Cross-species validation +│ ├── scripts/ <- Phase A-F Python scripts +│ └── evaluation/ <- v6 result summaries +│ +├── v7/ <- Unified/foundation-model benchmarking +│ ├── scripts/ <- HPC setup and launcher scripts +│ ├── unified/ <- scPRINT2, GNN/WGCNA, and synthesis drivers +│ ├── evaluation/ <- v7 result JSONs +│ └── figures/html/ <- v7 interactive HTML figures +│ +└── processed/ <- Intermediate analysis outputs + ├── A_detection/ <- Per-tissue LOMO data + ├── B_cross_mission/ <- Transfer matrices + ├── fgsea/ <- 60+ fGSEA results + └── pathway_scores/ <- 48 ssGSEA pathway score files +``` + +--- + +## Getting Started + +Self-contained public fold packages are hosted on HuggingFace. Each fold includes +`train_X.csv`, `test_X.csv`, labels, sample metadata, `fold_info.json`, and +`selected_genes.txt`. + +### Option A -- Load from HuggingFace (recommended) + +```bash +pip install -r requirements.txt huggingface_hub +``` + +```python +from huggingface_hub import hf_hub_download +import pandas as pd + +repo_id = "jang1563/genelab-benchmark" +fold = "A5_skin_lomo/fold_RR-7_test" + +def hf_csv(name): + return pd.read_csv( + hf_hub_download(repo_id=repo_id, filename=f"{fold}/{name}", repo_type="dataset"), + index_col=0, + ) + +train_X = hf_csv("train_X.csv") +train_y = hf_csv("train_y.csv").iloc[:, 0] +test_X = hf_csv("test_X.csv") +test_y = hf_csv("test_y.csv").iloc[:, 0] + +print(f"Train: {train_X.shape}, Test: {test_X.shape}") # (72, 20110), (30, 20110) +``` + +### Option B -- Reproduce from OSDR raw data + +Requires R 4.2+ with Bioconductor. See [docs/r_dependencies.md](docs/r_dependencies.md). + +```bash +# 1. Download raw data from NASA OSDR +python scripts/fetch_osdr.py --osd OSD-238 OSD-239 OSD-243 OSD-254 + +# 2. Normalize (DESeq2) +Rscript scripts/normalize_rr7_skin.R + +# 3. Quality filter + build all_missions +python scripts/quality_filter.py --tissue skin + +# 4. Generate LOMO folds +python scripts/generate_tasks.py --task A5 +``` + +--- + +## Evaluation Protocol + +All submissions are evaluated with: + +| Metric | Description | Go threshold | +|--------|-------------|-------------| +| Mean AUROC | Average AUROC across folds | > 0.700 | +| 95% CI lower | Bootstrap CI (N=2000) lower bound | > 0.600 | +| perm_p | Permutation p-value (N=1000, pseudocount) | < 0.050 | + +All three conditions must pass for a GO decision. + +### Submission Format + +Prepare a JSON file (see [docs/submission_format.md](docs/submission_format.md)): + +```json +{ + "task_id": "A5", + "model_name": "MyModel_v1", + "predictions": { + "fold_MHU-2_test": {"sample_id_1": 0.92, "sample_id_2": 0.07}, + "fold_RR-6_test": {"...": "..."}, + "fold_RR-7_test": {"...": "..."} + } +} +``` + +```bash +python scripts/evaluate_submission.py \ + --submission my_submission.json \ + --task A5 +``` + +--- + +## Model Tracks + +| Track | Examples | Input Format | +|-------|---------|-------------| +| **Tier 1 -- Classical ML** | LR, RF, XGBoost, PCA-LR, SVM, LightGBM, TabNet | Tabular gene x sample | +| **Tier 2 -- Foundation Models** | Geneformer, scGPT, UCE, scFoundation | Gene rank order / embeddings | +| **Tier 3 -- Text LLMs** | GPT-4o, Claude, Llama 3 | Natural language gene list | + +--- + +## Data + +All data is derived from publicly available NASA OSDR datasets. + +### v1 Core (6 tissues, 24 studies) + +| Tissue | OSD Accession | Mission | n samples | +|--------|--------------|---------|-----------| +| Liver | OSD-48, 137, 245, 379, 242, 686 | RR-1, RR-3, RR-6, RR-8, RR-9, MHU-2 | 193 (v1) / 261 (v4 w/ BC/VC) | +| Gastrocnemius | OSD-101, 401, 326 | RR-1, RR-5, RR-9 | 32 | +| Kidney | OSD-102, 163, 253 | RR-1, RR-3, RR-7 | 118 | +| Thymus | OSD-289, 244, 421 | MHU-1, MHU-2, RR-6, RR-9 | 67 | +| Skin | OSD-238, 239, 243, 254 | MHU-2, RR-6, RR-7 | 102 | +| Eye | OSD-100, 194, 397 | RR-1, RR-3, OSD-397 | 37 | + +### v4 Additions (2 tissues) + +| Tissue | OSD Accession | Mission | n samples | +|--------|--------------|---------|-----------| +| Lung | Multiple OSD studies | Multiple missions | See v4 results | +| Colon | Multiple OSD studies | Multiple missions | See v4 results | + +Preprocessing: DESeq2 normalization (per-mission), log2(counts + 1), global low-expression filter (>=20% samples with count>1), top 75th percentile variance gene selection per fold (train missions only). + +--- + +## Design Decisions + +Key methodological choices underpinning this benchmark: + +- **Feature encoding**: log2(DESeq2 normalized counts); LFC forbidden in Category A (label leakage) +- **LOMO splits**: Mission = independence unit; variance filter applied on training missions only (no test leakage) +- **Strain**: Track 2a = C57BL/6J only; Track 2b = all strains +- **Evaluation**: AUROC + bootstrap CI (N=2000) + permutation p (N=1000); GO requires all 3 AND conditions +- **Negative controls**: NC1 label permutation, NC2 housekeeping genes, NC3 cross-species gene set +- **v4 classifiers**: PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM +- **v4 features**: Gene (log2-norm), Hallmark (ssGSEA), KEGG (ssGSEA), pathway-combined +- **Pathway analysis**: fGSEA group-level + gseapy ssGSEA sample-level +- **Text LLM track**: Gene list → natural language prompt → binary classification +- **Category B**: Transfer Pattern Summary (no single GO/NO-GO; use pairs ≥0.70 and perm_p<0.05 counts) + +--- + +## Changelog + +| Version | Date | Changes | +|---------|------|---------| +| v7.0 | 2026-04-12 | Unified benchmark layer complete: scPRINT2 baseline, GNN/WGCNA graph comparisons across 6 tissues, portable checkpoint/result artifacts, and v7 methods/signal-hierarchy synthesis. | +| v6.0 | 2026-03-30 | Cross-species validation complete: gene conservation, pathway conservation, cross-species transfer, TF conservation, biomarker validation, drug target validation (6 result JSONs). | +| v5.0 | 2026-03-29 | Biological interpretation complete: immune deconvolution (mMCP-counter, 8 tissues), cross-organ signaling (OmniPath, 111 L–R pairs), metabolic flux (iMM1865 E-Flux + pFBA), drug targets (DGIdb + ChEMBL, 1,284 FDA interactions), consensus 20-gene biomarker panel (gastro AUROC 0.806). 5 integration figures. | +| v4.0 | 2026-03-28 | v4 complete: 256 evaluations (8 tissues × 8 methods × 4 features). PCA-LR best (AUROC 0.776). Friedman p=0.015. Ablation (569 evals), SHAP multi-method, Python WGCNA (6 tissues), module preservation, STRING PPI. 11 publication figures. | +| v3.0 | 2026-03-20 | Multi-species (E4 Drosophila KEGG), spatial Visium brain (NEGATIVE), RRRM-2 scRNA-seq (PBMC NK 0.845), UCE + scFoundation FM eval, 7×7 cross-tissue transfer, radiation analogs. 5 publication figures. | +| v2.0 | 2026-03-18 | RRRM-1 scRNA-seq 4 tissues (38K cells). E1 cross-species r=0.352. T1–T3 temporal dynamics. 3 publication figures. | +| v1.3 | 2026-03-13 | Tier 3 LLM zero-shot. scGPT mean 0.666. Held-out: thymus RR-23 (0.905), skin RR-7 (0.885). 4 main + 4 supplementary figures. | +| v1.0 | 2026-03-07 | Initial release: 6 tissues, Categories A–D, Geneformer, Cell 2020 validation, fGSEA, GSVA. | + +--- + +## Citation + +*(Manuscript in preparation)* + +```bibtex +@dataset{kim2026genelab, + title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics Benchmark for AI/ML Models}, + author = {Kim, JangKeun}, + year = {2026}, + url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, + note = {v7.0 with v7.1 documentation consistency patch; data freeze 2026-03-01} +} +``` + +Data source: NASA Open Science Data Repository (OSDR) -- [osdr.nasa.gov](https://osdr.nasa.gov/bio/repo/) + +--- + +## License + +Code: MIT License +Data: NASA OSDR public data (see individual dataset licenses at OSDR); processed benchmark feature matrices should follow the license declared in the public dataset card. diff --git a/docs/assets/hf_benchmark_summary.png b/docs/assets/hf_benchmark_summary.png index 1d0adcfdf94cd5185b47d7996826b87d531467df..8103d451fef7a01cbb3bcf8c08bd93b156150e55 100644 GIT binary patch literal 243547 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
oAQ|xCt!w>ip9ywT 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

vqjNH$5J$5c=jrdhrm>B;dH3kxeju5} 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

@ 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 Ulbsv$7Ht4R7#DON z6j5{p&&SAc<+eAKV%>)qoE5)jSY;e7;3*9bR}P33)5O2P4@QVkNzkZMej41E%Jn2& zrM;}BJ{I#UnQsMOpTEdBudnldQORwg+fvHb6b5qUkMgW}lFQu9wZtu&hErZ!TcGOg zypbsju-ugYdW@(iZwQ!c*VPa58<8!x^=(%sx0>aOiCm2(uZf;vq&ar;)mKE8vKOa2ZmoXq^{)AJu+dRqP3(%1_u0iISUHartRX->f#!WP zES&1j+=^~ai{^!E%nIrLKHA{z~;{Qo?uY2nbg0lStqx$H@y1t%VVYhD2eOAfh)C*SER{)w< z+b!cePOb=F5uzYwU+8p+$)02_bO+GI; zywT-{4mk?_*4V;KD?@KA6d(m*O^!*JxW1b=!2vA>=`mR}qrB_oNwwKfN^{W2VZ*B1 z*ya-J;hSudi`B>T9aT-D&$KXxw7{wF6%jXq3J^{M`}(Q*ESHvRKrMBvi^Xp&XtSuR zimu2>;!*~Fl;}i7BtDMmJWbjpW-QwH53e=nYky35Y>L*yjQ5TpMqv@Np&NA#m42<5+WWk90OO5WvHyOBlygPc}l zhtyYE4`nUoU+k7n21z6ss57?TJIH-mzkRO!@4HsN?+o-J|Gp~YH)&2GEcc>gR6%l( zwgr54-jK@t-`({G4+8&O)_GcvFbi7X(F(f{)3ab{Gwazw_evO9r6~j3&q44_9@= zQ`$~+_DU6O$_ohutXws`dfIq1sq1oLa_E;0_qN}ksX)?ybl}^%7E#0VQm3lu2HqWPX%f9AQ6fj}!!?IU*G%1$(Lpb#2XZXEyZZv8m5!&_S%iQGP8QaL5ri_?P zHOQ^kWdL(8(%5BDw2+|3cXzkC0$2T|4TDv80c3@(?IaNsoBKJm{zaR>Wzi+2$<>-6 zHGxhprtrryt?3&C*{t{?iPT$*_lREpfb);MDu4@Z>U$1tABa_%oPIQB=q z=DU*qYZV{wueCpzSXV;d^O%$+cgtdHYHHyGf5oTg4H6_QN#j&9sVbp|+_=??oT&Gz z|6M$OKrZfynxs6SHyev9nFC^yHSmjlE;AS@3 za^y7R=z^mbeZ{LBZ5F2|q!n5hW)b=-!-q>v@E_AmhG5T}GC}t*x3%o`HuEV-%o*FC z;aeu;m#c1!wk4!51+FNIV@y9>XfJ)aF_WNZ0|6wLVrW;KsNERW4PQI9$t4bElLSH& zi}APthCM;jM7W3!Y7V@&>W@ns$qWusUM&e+DL^kdJ2Bp)?=G%Ap%c|M9hfo*V zBhkH}o;(YOgP-k@;CH8?pSO(97S4k8xDlet9(B#(@=ZCF@zS6XK!TcPV^VY-b(|G` zQqe4Uwt^T!ysXeRIbSMOEs-QEvLBS#i^8k5Jh>iuS@LXv$MO}Qy0!7lBM91DKhlAr zc4Z3jwP{R9pOlc|Ua>My2s(V`tW9#KDu&bAT8U^h^JSg+uE!@iLCfrG*tzu>>Sm?7ow_#_x=MQb_ zeBX4sObKbSx`RJo!_*$pndQ0Kqu3CTXWPnL1~IzY5ONf3VeS%QUTWp$y@*9wRxi}m zhFdsUM&z{bBql!}7FhNp$d4>#y*qtW-mty(kIlQ%2+9hdn(Wtc>Cmb*Kd>$e8fg#L zj94wP8ZKHJAFcK+?@5-&vjuJz=I7SNk#+QfSFcK04QZ_o&kCT|f3jPHvs+=%#{TN( zH%;LLM1Tl7k1%ZBIC@VivNW9>2NkyFmxYb{_)2W=RVr*oWVm*ZzDh?~>Itc~VH&o*)j2cHM2T+h8$lH$JP2vkWUx`|@TE28}29qEC;hpVFt{3h$+ z#3tG^hCggVc4I}}1vpYfPs^k>qa>4j>R!6Ko|`N(+NUW|9Q2!2ujp)Vx@wB};KL3R zJ^ON-mR6wXd||`E?+(C!j=g5FaJjLS=#v!Gvp?~&`7WH?qQ;}ha5KXKn^%*Kd!k)A z3jnm7T#q|#I={tR-W<0U{;ytj&D_uGf$7pTF><25(f6idnp#`W1N}06mk{=PK9f3w zk1;~Jqd%h5YK(>SQv3RIT3gQIYJJmwf+@?(NnB5Og>A4w4`I!{QcD z*+n^fCbHE{1}v67OiH;llqF=m!*h2@HemZh{?FzpwiEKV=2yRc$_05ev^F0ufDBtd zMnBbF0Z|%Po3~7&)ScbR8-G5(AKnzMes$_g_0i7LY=3#0v)8K|=&dz(J6ZNy^bEG6 z0}4$88rF*$wg5XlioAS!FSx-%{#mBQ+s%2>O0C8CH=Ez%WM3FZy>y5xajo~!o)@m7OrU=g43B28vp#aR9VULp`Ks8xgVjxy{d~)g&ctk6Q8*dhA8f6BOOmGItr4rbO7K!wari+C}^Dq%|GNuO1aun8uzRod`;m7Ld8@l-TxV_ z419rMfL%@gmGe54E^tavMuc+itGNnw~f>>Cn-C%=5FKfI7T^f9@L{Cm#MIrWJQ;il~K=mKfnS3FCSmTdByhn zd}@=-Re?JD;1ilRX@}{mq<3F%tlgWX&E4nK55CP{5r?@JBu4ObB4+rnu>1@^2}{fM zV_j~_v=tDH&y*)A$K4k$EexN*Q?%bqXz{xU(kKBBY%Pqt`nDHbq|sw#-vbq&zcfvt z_62k7W_t8#aKhpy2PJ*-n_U6&4qxx>&=(>oGH75=6Q`iAAzv+u1p1(PophFlMuiciFbNIicV~Q-#7$#?4! zh6cQ?_8F_XLgIgbAkTA?#`4ooC3Be5JhLOEYMzHy9X0MHv#;nGP_>YVH4379UR~VB zGV2L%*UzhxXS8&9M(4|25_`+mPCG1D&EG$gv<@gU|IBlqwSKADIAFPz9sqFvFRc6E zD!|DI`j5KxD~2sGUi1zh^!*cn=!j#UNl|d(qc+7=O7ny-A5-(RfEIoquQ!Pbbw{)< zPJlqUHv2U8L}MIFzl`^YtKmhtOP(9;nV~0G(9HdFf2r!}^UxwO38|@7Pm)@%f7jq( zjc?qX@mBCykSq3?M8IW|?mAVa1a5CF*{B@p`>%=D9aQNVo_e{N|3RRuiu+5IVEW%M zD`&naox;zTB_get2Xa+t?YG!NC@6^GrO|mCLy@#^u`!#QgHih+K!}I{rkEXW&?pR|7L!cc^ToMXh>1?Hedgw)t}dkk0zc) zd5fFAA9HXl{J^;%a%q@0^drTd5ivO5i&ur-9~>~>2nHJ@%e9+0R42SKKIxTnNhd|o zWAbI9h1EibixxA-Cox`wTY3pn)nxn&)R2Y$ZGz^xqLn}>%PDPWT;h*8N0WswwxM9P zMO;aA*8Zjb{9JJprM|ceJb@-~+)xoF-fVjEHZ5Z9dsn=8?ybQ!OFQO~OB1D3S1+g6 zw*^+eZo?UABy#lA6YY?&0{=-oVUR8aR#048)Uq?yOi?J+WSeqHGLts7aXLNy)Y-K7 zGBv11#iiu)X2nF3bYHK!UV=qKSvc#BH{zH}KCu&zEzX=eed$)rq|;-9f$t=gQ+3~O zG_!Pj!Xh)^*3*&N9OvQ9J}Mq9Lclo{!c?w*cZhHYKR8K8NXp^?Ujnq_jF#ThciA5# zrV|{a*r17jE1rIAdH)7DM&?qfL?+ba#bbR~YH!53R3< z0QJH?vDPu2)NSz?Jh>u+4gKELe9nEjdCYt9k&lPtI+*2JvQx>b7omXzu&GVHz|Bp! z*(K)a8!%zI$EsDEwCj5JpT#eqnHdzf@=?p{`8I8j%_y?Ro(-8WTSW9&XIHI+MhI@n z62Bl5_wKgw_Ehb`aoDQcz+9)hCrI66qOS8SpNeAyCx4Y@ z1g8i+`IC8H#)`-=_q3lS^X(y|Rk8if*ATQl*~(?$KnC47oGTS+QD`h=jsM5g{8l-@ zm_A-zl};FFP`#kPPx9me5A|_;4fqbt!z!a5jFw1vFZQ6~8ss{wnjWXcOK0ReC?W?n zS;cgwAH1E(>fMyN`Y>rePWA4%sanw9aK%^4Dbq=t@v8b`H-&E8t+jEnGvDqFa~uY~ zN4LZe%Y8fELZ=asbXwz3egKVZNCTn;f0T}Cp>^lSH+zlDtPc{y)q0X4F*BP3C<)KQ zgJ@Qm6sY-U-jg)vVq6K#4Wpl;2DK7}Mru^T0oaP;Q_ht(!Vx75i z=p(D;qg;uokIT)+gxQbIH&ap%AEm1xRNS~ZSu%^w%MD_&ga#Ps;~|7!5E9lVwS=8=m-tW4D_WY8QI=9o5(L^}Mko8XhjTpEPt{#L!?~?woYoy|Ml-R^ zp7-@CGjl&>PajzIH=2h#WZW`ptTQV$Zoe#HeZ?n5z19PDLXgu(T2Ru+veEAjZsC?i zZHbHC(j@J|*UOwR9V_dQ!hcG~Z&YS}xCjZO-$;9CQtCWh(F!ic<*2aO)Rp-A!!hyV z7NgyM5SfyfJ(ty3K+Z3}Zwx3DTa>&1`4rqaOp5tUeOc@JPvRFy^Yga>dl})^0nA!e z;?o&p-W+IYAz-dTu{Ola=gLDbNnEx?tY&K;RRKm9e2fsrl{!(Mp3Z41EjDU`sm*W= zVl6bw$V*g`M1Ik}*%;@I@Cqmn7qj@A0fAry%Zd67k1pe#;fm>6D8@YU?bEBzZoC?f zw|G|a7U0Q$_i+*_vk8^|I_CYjk5tWcxEs3{V)>PQ8w{cVe#X-3aq$TR$CDhn@Ms+L zTB9q?<}1;Ip-N`H>=X3M+cQy#DiApLikG^hc!!btH2i#YAJe0ojW0*RBdmxZDg%s^~Ra>$>tXk z0ecQcro7+ncbrF7s`Lm<&+FhJ$LJcs5D7JoQNOw<_(uJ&Mr?UHaqE2s=4fBQ#FQS! z8-@g9do$EY@T4$_J6D{P37C6Pu(VtWMMy$UG3k{PQpf4)+L|vB3W!n-i!DYK1Axdp z;j$T5c)A4}eFM$D;ySqRhb5#sp(3?l5w-&g*;4(t&Oz$JR2t>&P<#^NmSyLHd``P9gb*(_tDh# zY{SuJMt`Sm!o+LQa%XeSv{LyIpWx;z+aHEYqHF2@CY0s#0M&XXR}MGuX}ao4;h;7K zWF2VKRza}@s3p?(lm2PzbPhm|T-0oSvejCvLpGT9@``?G+x7L1X7b6)LLF;_ej6`o ztGM~>HV#F!M%MQAf!r9tFgA^_m9}4HIhk|1iJxFVSK-e%?>q>A2j0Y-@DA`lZM(R$pX1Ii@)CT>n$EM)XP9oiAGlT(w8BC zXWWNt6jo$p|Au{K7zv<$q_jGHXaSqO(ff}LKKYQ^M=#?@Lt z?9@N+jz~3T2AfWL938SyCnBZsFAP=O@;7%POiYBMcA(BJxK4x69BCDL4aX9#IbO<4 zOpH=*H!F+=6dox}L;u{rqrhk%YE5a?jekQMIO8|kPeq_#Y|*&5(HiicsM3GxElWju zsMI*52QJ*B&keRZHSr#&v#)Dk>)DM=T7tnT_X6Of7Edspw z`Q(I?mcl8`Ve12WY473!rgJS+^=C>fP+wL>iXh03Twk2xDa* zjmgD4a35r>p-G_-RkCT$?8Pt4nhDbBf{JMmD)U;IU<(mht;F({{RuI%k}Frd-?3t0k0p&#svKoRNbeHp$*nJPIWx=2UhqCWl zji`Xk1Z>qSQPnR5TOhHRlwKhCoUp$GpZgR26|cJghPlze_u{{+$26VBv-dk%the;( zWRZCx$q5hWM`N&eId5fhbt4G&)CmN-%zD%!#S1n*c@h zhJ$p0V<`V&lFT$_80h&JO}!FV3Q52x$@;nvsnbj?>SqvkD5Jc;%g62{NPt(Io^t7& zWjza&!KPE20GW9KxVqj<8SUI9uPUPvG2{*iFdR4dlAo71?xqG&mpc^P2K+#G9o`+Y zT6VG^Q4R4vqt5Xq4SR=Goq1$Z(db)z7-su`T{C3=t3rv9H~a2ff5CydfgWWCWJOSeD`J#<>903`(rk*gM%{eM z*v@_|Z)kb>VTMXFF?<&L`}0qOkLy*JKq{LJIi82ry=Qg<_RsvxHc*y#-Ri3y`gK>@ z61!89JTd=#)^b*hdkpQ-auq)FrkSo8r6w?}rga?5?pmG)g4uxUAs}%1kDK$aD^7TU zhS(;W8kT;t9k+*6gwr_HsSiIYxdBZSfwU&1Bkb+xgAEZq!(^L*n^xa z12y6t0mTY#lIi5F+fQo%yS*xZHKH(eql6X^L@?H!Zrm{UFr-+}4@OV=iY{#dZjP$R zWI2>TlRyQRc!*v<9q<)A8Fe!ib`i(%k4Ib70r(Es6RHy~oLL%ZUTt_nrr#9+ z53N5i#H;R*w%}7gLcih*r1rd)ZYz%ga+)eh0aWX*A0KpY*sri7{?0$vQ+bDsw}}vB zY;@OHoISVX>OU;FGN!9TKw*6^DOW4t=75X=eG6w3VwsbyaQetKi@J6!J1jFG!DRiY z4E*RIT&Dy8k?ChUT|AoIB4a95vdgkCBYYlGN;Bi^+FB}8ln8*1pjaIm&KA&H5@)_Sce>@T zp0Cmo@Ax$6P}1Fisp$?0q|TuO|H73&PjFC%)KKB)%mG>n%vUGK)yq(*`rYeCFy{7yf2WS0f<{yoJ9cBQsF8FB+7|R~gwa z`|}>OBwy2a4yz7+?a(IN15V=l1GpVa>NOkA!ZxtsN9y`%9Iu0(t(Gr$fTN7Wc z;?D2=26>=_^b!%{YC}jvoBNJKPWf!oK@UN-uCSoA)>~K1X!Er%Yw8DL0d@2RfN10L z;VCk8ocxEdBGSLz>(-X-fmRM@`BzXZkHi ziD}^lcLX17#^qfhn+UMI-M6?Uyv8bwSJrxc#}$d6Pbt4H`a)Qib*S%sFU+l21#qqv zjR>p{3m?y|v1*5MOx5?R9qinawO3^w#sC~4(IgJ=bzsCJm*cwpAJpKTx~46H`Qm{U zd^p~1Vn9gfBeyqy@|o^2v~M{XP_luhAfVNUnFyG$=h@)Ta~UvP{;sP3#9+@F8Wr&K zh+7&W;hLB37II*hSliqMwqvk&sN_F%S<=cigL6;JjO9wK@j{&$P{^Us%AoN5 zor%rIXFM${94n8z_&{twB3r?F-`8b$vjA9doam>(O5I2G)3nuC=gA8%KigMFUM_iAKjDrq*-%InXYX7o_++2UB(B zOS*gr-%fRa)8iUIp{<+GG0Te=GaESe1GAlpxDmEzXho2CPkW}5!kz6dZdaPl}=I0ax5v0K#z%vmrsgWt_zLl4s6n_J_xjerHytv3}hQrU)F z+Xsx3NRbd8`SJbWQ6hXzMP4Ry60jDf4DFHFrQc2%%*TBh1MH1!`*#0wDIb8`|E+HC z_p00MZ~c+-BPMJ}_K8VOwxyk;lGDwh*^c7ihPYKvpzO}5z!wb~v7GR4_ivf$%;r?J z1xz)b{68UVU$&JjqYSg(ae(s?cT-TVuaZLNwg(NPil4|~EJ`ZSXqpbS+37WUuvF2~ zY7my&8kxg#h38v8EHO3LRQ`vz8@*U^T)}OUlyF&R?GDb?6osao*{6J#YUpb|5DTQT z^A`i@D4N7r*S#ur=~7|$TS#@6Ds2X1B&sM^N2GQsq|5Y)UMr&oP|%5#@%~r$lDbNU zyxQkWUH@3LS?6IqeLS3%rSa({a&-sGQ`k0l6i~AB9_)R6eU!(<8-~7~5A}`YR_@Th zbt>_W#!gdtZxpIQ1<9y&Mh39P0G7G;)!k{wO``5^H(yyqq>`Q!1UC8u#MdDw=BC#G z37w6dEpRCmBJ!8-2j<}x!Hsab8bnxODSm=d(jCWNCiGQ7D9+7o31@@WP?nZ^tXu9# z9CQxpPM5_s#pteWX$Em#ePJ>P@Kv8y=&;p+F#_#-pT#*I*m!3-oV*2o?O0dR=Pb^_ zcaRj2w&I3S27LJ^0cAjO(!WD9lNt`+U(O#hb8CdckFAKWO;|B9*X;#Dw*Nr`JJ)1e zppq|V8DXfHXeWBl;B9L*&>?gzAd=ZA20OEZRR|MI$cW{6hJM9aWvHl*WNQ`2&3xGn zzz&A|`SyW>tBxMettSSyi7E%SF0?bI{n(XcU=IiaGtD9c zQZF=enB$Y`y%uUN2z|sCO5MXmK!)>Rf8bDn&lE`+a*f(W&un5O%;O{rJu-Z+OKIO= z^qzSTctk)=FsT?XkQE`-fRW`FSv759@uZ}lUzIVaWKeQiWE+@80bmyOlWG6~OKhfv z-Bg52)Oxh^oTu1R^^&m0M!tLieEL{E`}Z&$X-5e?UztAXKL#pqSy7su{mg8$PYb|G zIs4gJQFJGa6;gwP{L#4=4WJFdTuhffmq>C>a0j2Rc65SSV!rA*`@w+DTDU$s*87~M zo~Ic7Y0Xdpgiwag3;IaZUev!T_7iN_|Ey>VXuhk_OO~s3WTiLKsl4z#Xrh(#VE3{# zThIlhhP+>PCN`8s&2x+qqt_}BG#M=GsFe}>D1D+HDBne;1;47GCVax<#Vlpop%X6U zjX*2xUl6Nv->biEue>sx_^&xLxvVeAxFYUM|9goB=}wp2n#Z_ggzQ%W4U(zf8jlLK z^iGHDv|kgqDJw~nu#)p|mQ0oh0B=I?q3e{kT{V2~zxLpwD%gZCF88rLWhWR@1?{oV z{|GeZ{Bdt=4$r?v1Q6i=VedWT+3dsj|Dw22^sb_6wrZ~yr8TRnR_#?IXf^g8QG0c1 zjoxY$wW%%k3JFzJiM?XSj+xX9BJ#i7_xJz%KL0)bdC>8aS6sNR&*wbP<2c?QFHGXu zEwiJ4LqsD~fREXaUga1(rsX!$Y*fazL%)ie`I4x-iRO&-6qCk1c8>I$?hx^)G%2T?@Pj-s@>{R5?)Nwj(2xcYFf_S7 zc{soco$7tsd53ux-6cW6>LH~}j%z?D>{+&{9Bz#VtR|&Z1W73o;>OD?`KNNmfgCl+ zywQ0i96`p-9F6P`wnmnZB}>_<5FwLk5Y1w1{sC9E*uHdQyox@vKO+;znafWOCJjr3 z%6WCpeJ@BX0JpGv(KNX3({ayM`D}r7neY4G4fkn)i({DAVoDJiRNXHGP3H%V5q4e` z3*4g(FXS8g<^y{F%^m2ymkRtQuvzjBRtByw2MqY(@xhInVVGgngxt7<+Q-xk)4%cX z#!RoaTi-qE#&Rn#UTu5iReJ+Aq;a4J5h8c+Y0$=6;o5(Ff$u13&xah|n|-CUb+0{e zzBc2&zRkzuSA;VegDJqlv?0<_9+GGa_~aaPB`(tY9i<5XGGW@C1l&;di+16j0N#PA z)y76=-j4ehAcMv;-1&6pFU_oUkOJlfKY}zZLA@OC-Sq(we)T~aCy-8hN*rl)7>aaK z{3%%IGsFOZMoC+7g5UBdDPNA8Pvg%fMq-3`!Y2ErOpHiF^BMl8=OnEX^rPfgxP{&6BKvL_QXc zJN|6|mIEA!cyg_|1TiWtOt11sAvX)yUgf)N)1_~>lam{sVdc$HOd!mn74hUfey+n; zmhyptYX405W?lB{?H8P<-S+Z-u~$a@lrGY333<5*UDoeqI`+PPN$JJ*peI`++D!+% zyv_@6ddkj?%54cD;Ho2lnEdI$ozf6bLXzDk51Ws+4Zk&oiT`i-WqTi}X@EiE?Ii)2nR(c~ z*SVPszM{q)q*F1eV54>T*}9Uw0oc?Dv!F;)IBx< zK!f-2%M0{NF~Z_k(uF;ibQ&-h?h;gbprZJ2<5E`in(U;^TAGjCQV*{O4v3fn+pa+b zwDX5FSO-SI%gswYS=cn-lQnp;p{2>fC+CR^>csG$%xX|(YWa05d}xT!g$G1;i^3Z0 zWX#qMBr2Q>o|0bzBS@zXkNuV2<rLN(YeL}6`IqBhx&tt?r6)GgFBwntqO3u#0B%J0F!oBZ zs2wqUd~+NKt9aBEp;Cj&2+13Dz*G`q)I~E!I-=%L%03SM5aqoL2yasMZOEOHC95l_jTK*lZte1u2ba>vsN6U7)*~ zAXpI!+|Eb49R})0|A>_6c7`|2hdT77-q4paCAijN7x~|N%pS+SplZY6=DYMG2>upc z|E;T=^;GW@&(kIpDcq;)rzX567bwe*aC2^&31=J8EMtGCOISltfMB}Xn>C}8D!!DW0tVVDiaPt~CV%Cf?arp)WLUdTINtJFV#KHct==mD5aF3N5kO8q_4OkUUf zog4(Yar zqaRw*WEMMhvJWeAb)BeKq!};JpenwZjHv~GQbZJIg=a978LgE9GxF!DvbHp4RIOqW z)?iL~&-(Td!c=xx$j(AkjO1TNV0d((KeNlFCx}mi)b|10L0=r8fp+JI^}pN0pFMTMXbmG~9PXx5|C4N>rz1Zc(u9RC8ME1zNEu4ll3fFMn{$ln97gIQOU% zx2$b$4E^WFTbrlfUShv}S&B8eFbkh@%X!Ve1OOsFt6v2-U;X|%T-$;TNx4OB!x!v& z^zd7s{wkbO3Q#cg-O!ay!0)ov-a&8HFvuLpy%VmmxCokDEZCRMF32^H;%H4M-attG zS?)i6+I2b7Sj&1%h&()|y`)mF`R~gBkLOs|`VHXUNgf?NR31Nn^Mam!)pB|Gi`_0r z!rea2S=)&6e>s8PWxby#6oFSq9=Po$3CQ^$%bNpZFJ}U`|D4U!-vICnqE2-G|65%u=K2?7c-8DZ6L)RP{u<0e zXH|7eJmfsRIKS5J|Gex`FiU7V7w}&`#?`*`E|t@2DC+~F`@ny&qKlX5YyWpqxMWE) za$2>GH+f{`lGKLO|6b$8mvq@WkUbCm@2mgMpN}s6Kd|Ga|0~?3;k){I zic7nzyI4%U04k#HBP(*cF7c@P_0>dT^3AH&yiY_gqL@^J8`L#r0`{fq%1Llx*kOMn z4hyAiPn&?TSfp0kcwk7!p8)vO#L{G4TA=kG{O0p(BUQr99F;0j&iXqCfENinVpF6X#>>s?W%QX5!qHyRPmPOnstEl{ zf;JKfId#5BOehK zBesVY`5OafAejmdRbjHuC7J)s9erd=eP|*$K=b+I`6PT)fe<=Nnms(?tnldy_6a-d zrBCwB3Eger{L>ra=m~>|aVi!&-$Hr+s`(yC6ZQG@T^QjD=g*Nyqxa?3GeN9KD*$>m zhsX+>h^5ls05yxhav_C(hZfmn%fITF@vH?sux=v#b9E9BBB8!HK1Y_r{l8BJRmsg**x#!0y1yr}1>%kL=d*3# zOw<*tvY!tpPEwi7znkuU#y<=>za2t|QKJyjTMrB_&2ioSS(+*oC`nwOOS?UZiC{_C zYE*?x{tyt`p5gt~j4eZ1%leS4=*K=LXZK%^{EnVJ%-qKMe3=cIo6Yn1iGO=wfQCm` z9qfS|2mw2}i>}Y6CdsVOP``*re(Z=Q>QmrU*7|+(IPw z++zWGf2X`=7hIRqez@e|DgBB4QyOWlYQHQ+^ofURN{S(&$ocljKdNN^&eH$3*+-iI zHrc2^b^(9Dxvp?27!= zdr&0w2fpE1Ve}t!=!`x7fZG}9T?3+Qp>6wl%Ha_fsLzXWx%eOeGWhLJw$;0u`IGUv zttksk0D|+BBn+#!|C|r!K{? z4lywPqoa2krBYbu|oP! zy^sD-E`61%E0cB$Q(nRX!!Iwor=^ya`Jm7j+-TL?%V(*sS5|T&$N?zkQ%VU+YRHL+ z-KXf0wt7H#1Z~ukkQ$7ecV3;&m5DounOn;CeXHYJgt3d*bYzEC&(HxGqYSy$4h4*F z7SWQz*6WaT$3C|t)jC<>emTvR?Y%UiKz+BV1M*Z-lCGMilu1Z&On6Sd zA`*D3uW-mTbG)~DtcI-vaJhhYu$Sc=GB_W0w7gCy=QV7MRyzYwo>oWhQ?nRRH@)$X z3ct*D`jlGur-gDb6BTvC4nk8&tL5(KY~?ETXWZQx4WX8GpDMjSxNBI<4Rw<&WV{>d zKPwnFaQ&!FDWC0|=K?T*enI1_{UD)Wos9>ZTxI*VSWR-ok>$y(`y9$zEwr^IxNM*9$6d~T};>YSf27DvXQO6eP=P3Af(XSZE5^I#z zeb{8b3X|guucG^}Z`3%L$7J&qz?yXez&$uCaZqhDsL&T--tbxNmx@AQ!7qJZ)Wmui zGmpY6ps#~~w}9$p`fY$)%j#RI6Cyss{jAVM&fzH90lX9y=dHkq+^3I=9MLGP^Yos%AY;ILYC)EBu1_g~;-A7FBIE?t- zy*?)*J0I3MH33nA3qW0SA5+3(l=|^eOl>;fQk6qG-m<9Y46`O20+%Vt4`Oj`gY)`uIYsNRVFtE)efM9dis`RcHNKV((#TRq*_`tfE)j=9)qVZ7n>vzPhDLg7`&+#^*7Z*(*C>6>%@@YfCjJ8|0*$RGDFq#0p5|6p>W+vrEMK6C~Tok#n z+M|v$jXR3lhzPPD+PIu89u#t?g%U&&*J8Imc%SYxBS?pmXJSe|k^qT?CnYsRib_ zv%b+{5ymaLWxD1T`xHzXxsNZX?a&P4Db?Od3&FQe1*@D!6UkoTH$3`pk`Z=-#=+U6 zhqn|VxP+3>!@!qQEtscqH{E2glGWUb5LjbGdQx}A4y#0E8^&pSt_c%}oDD_R&~QzH|ig;9;ZdPH^Beo0cT9c)4Z6OH-NSxA}fp z6jzDgnntF1zx!CTHZGg=a`G=lL@?N3uq$sp-LB^eIy!rlm8;b0R>NvTTsgAZS<91i zEN7Dv%xeSpjo&fieS7+KZ#4jWwzn4FrQ+nuJBG<`4F!6TSxmXX!jE7qEYh%n^kt&= z-})s3pj4X*YjtUsk_)uC30`f4e>nXapK>FhZKNp9u|G{f!u_4r z{FyFv3GRo)M1T}PypZq2y_E8uqNdXpw<*o2w9Uea^21F*h~N80k!j4|1;3_>)#3X7 zppU6u!@5z?7Pb>(RfzBL-NyAuWyW9a)5I5>BNu_Np(ro4cCf~jl`Ez z1h<>w+ziVsnr3Emb?@Hf`7mGg!Jt+FNW=_3^osk&<~4`^C@f2J&mlhcQsRN0E-6rx>^sj)@( zr92q8>k6a($!~mzKXd(~dss@&eSTNQaj>b0$mFkEbj+n3+`(wLSrj$gep)wjXfN*RK1A!9L7eAMTAx5g;CaM?~-{Y{Tm)_s1bdkYszbjXOIgX~EHU7L=DPOO6 zYf_{LY#?3|mM2$_thDzhsgO@YVk!TGVj<`GMYzM!uXIPh!$8qA9LIJB2JL5!9`m&l z!}zcr7~mP1*2^%ugx!Z8`UJR+$U$x8Z9|G0S}IC4xg)ucX&)#yP~Gp8qA^hyPm!odSi=@v(JnCb3qo7R@HuNE~#o^cGLh~v=x3sOoTP#Bjm0<6SPKZwe@WfpoRj;S< z)2M5rXBWNNP*6s}tDNgrny@u(>&ZGOu~oZRfvJ9Y3-*QQeB7u=t!~snu|Gq$wIkq> zYvaauzyP{3xI7ortWanh4$I;6KFVqNo)8X{+D`G5mt&;sz z02=(d!_3BJ(umKHFMWn(n?sKzXLzV$z*4EYX2f`>8HCH8WEoS7Uw*ls8& zy~#Np(74HO5>%-7*T0s;7|VFMnOCmRpvHi>7p0g5)UR&qi@MDAeS6_n$tw5pF=UG5 z1`U3U;((NhXx865&k0|RCPoLWeW+q#^ai@vq5gU)AN{|H7snmoeiR+;Fgwg%a}87B zdc}%LtNGUZ`@=0S0_WGOlSS!d3!C6r)VKU71whEmb{kUsCVzUxo2olMy;1>9y^ryNC9#07loGfn)E_bLfUqI%0)dN3m__3}fp$V1=&OGL;d& z|EFZ?pUvw8M)41hIxOR}zj0>A}DK4Fw#HwxAjDQL^3*5g$tvzyj$-qZG;-h*bU`UO? zRT%`}J&I z@CWVH(%M{S$5!dv5>|~Pb29Xyp+_l!I}J{}I=?@T<@ais;9*LNUmyax~Em?ARWPgFhJFw zhLm8W0YJ{;5b7Jwm)85)c^DtYM3BDsR zXt@kML$A0%GC(tpDX5bC+-uaRQsn}NGJEqZ2D1HMDbPx(_Mh{lKPDCs;W`cUjMuY< zT3aG%6GocLg%E+I?=oY*b@k7krfASSju^|39JvF+^>Km zA+p%HWg2ctaB%RAsoVf&oj51zU>lz)0XnSh>O15zfi@He|HAGd_^gH%QR&m^?+T2U zOglhdOq}}trWCFh=JGYqOQ{CE9Gc(Fm2AjL)-HTqb30Y>LYIXiYz)6q+NK0O@o-FG zHBb#T$XAWni}HjV;3J|_F-Zbiks|3de0qkObF9j!y9(AC@O!y95B6ovfJccz+fbb17EkbLQQ&rp6VDZnl6<}cK)Gs( z@}*u7?i$Jn;N1SS$Pa>TeHlbRRvRg`Sl7dVfv$PEs{q>Ex-Ptcp=uP8!$=wcKiD6{ zrEwMfI^V29IRpf;SlAt_s+LFwEglj;)u8G)+2KMgEA`37l)gtWW}iS%jrXItO79+0 zH>fH3S#tWiX*tp4@Z0A8Q}&5~shGprkOOFeWQTe{M@7)EW$H6EEqZrD?}g^r(TaX> ze}%ntVolYHlvrQ2ottz4QME5O+BUxGe^pX;_D-Ar(7G0&SI%XqxKw7|pOhug?=;;P zL`ShMN)Gd9-mrW!IGUl9cSWujFj=a!;`#G>gI)c~C7&t0P$N7BoR5jr9|x^hq|M(3 zuO(80ct!0(F)}TkAXf+C>t4q#@XINbSJ*-}ZAz@cRAO?JQM!%Uz*ewnmT}pWd+ayL z_e1+r(ppsRahuHb*oBi~W~%T)cFk9`qNHQs=m_t}_Gzco(B_KL6k+q9VesiZxq;wptl@}N4^4Eo3}v2s|c#6N*WlJi~h;@Bj9_Sd>3zh%`ryPp+zC$ zroGXnAqIm3ow1-YHKQEhsaaDvKDY{v)7gA}G<@znq)tV#xnkm!sUSE`u~U#BXeZ>D z2=nxbX+D?zT$=9L}d`#d~Bdo`dKyjl! zYWdmyp*qiZMYT89_bELry1f)7idkK})9}R2V^xB4B1`Jcp@nxe_mjdgt77It;xnb& z8aHhYv8juSh*nNhos20lF7Uvv#7-_)#P;H)08z?vII%U; zf)|{2YCoeAdc5QIfPP|BJOX1+HesGyu43T@VOp_(?C2pM`Mpz`vFb8IpRrILrJ(KW zGx!tTjM6is;($cWoWRZkm?>~f3UR1ZN zXfs||a%gXDMH~)4s#ECYeZ92$CVd!f6Xfz(d676kFM5@vB7l(>z+;O%ZqXmm)qjI- ziZ|T%_i(RM8 zZEP)N%KnUg4B)Ml(obfb_;jmF^Uh_6%aAVGd1OnCLRi$g;lT0ESn3fYq>Rg)J1e>N zmTS-DXy>U9cP?6eQ z0h00g)7og^4ax;`vfAW5qM=sVI5oNpw>^&;(iW=yS$4*xL0AE7|I4X=(Win3*e3%< z11wr%FQ11FYSA~3UZ!i8bTL&OzNh^^I}w~GmtZ3G_IHJHzFri?;DvfQW(%ddni^rlgH zVylWNPZB+f!#|7282qlUB0fe0;;mcXD3gYiW2ZBNRYv^~l->z?shsX%wjrWZx)wAA zMRj48d1k6}*ZBMzPl;pt^rnF=jkCOpvwqP?f4x^aR#hcCyX$^XSX=@X4PyhAXUnA~ zzxOS??||O?NQdPn)P1~fe7BYDP-%80|Fn0Sc5Xkv5f))rioD!V&Uz+)>uo1U#3P1@ z?3paae!YV994aZKlvASQ7WzV2UgSBExY%*)2sd*t6zcnJ5=nZXjgvlJ~3(j+z}&p+nYy&U%`c*YE;^(J>n@&??P3!6El zqxj1z8im2N6M^GajuPw-R5B{L*S*I7VRvnzV_egSQ9zNX8bc3&%=>fsy!`wFtH8|u+fDZa=mATuk<@lzxHidn3RDOwLy?)JR!F z7H7I~XKL7S^o``$&WLIZ*>)qmC!UTw7^a`yu3zRR}@}OyWDH<@s$;ws(p;qrEw@uRkv& z7}~!Fw1xp+yD1+7Y$hes9`TNH6OwH~F{jKfnz7A=?+Hiv6Wy22Yr(E2-|r7^@7tpW zL^=dq?EQo#q+F7Pt5KTVn`u1EvVSC+IH8XlBtrj{U#nB4o+}wb1`Dr$U@1u$z4V6W zNA$QvZ)He8ScHu4vmXeN%$FqsI#ekyRBjFpOACth(=Qb$@EP*GPxWs(X>FvVQns4E zpN%}#|L>bE*m|@>i)p}Y{5qmY3)#m=jwq-_trjF;2FpIdW+7oiTWT1gkyW4MSZxZ1 zYo6Loz=DT7$d7v6vbX0L3&_p>HvE6FVbV7_B%1TnwYw= z55CE8)b6$OI^gl=_tHTw>HGGk#ne`E`sr4(zwt1vl-q>xHUydU#n^Qe6E?$0vE@s~ zzJIvSCh*ECR)9Ky7MV~;@*@VFwZ=kV2R*~fEYrWNjAdQyEk+HiX7>js2@-GFw941mg)&NtPW5{%r}}WX!{oWyRf>?+ z9cG))-=nj-jGj&l^gxFTDV#)QIC;ofQtRR^M<;r6+5<^VPN$^)^W~^-D)RMSU)E2I zJLQAlnbC|YhA25U1w>5F2a_Grv}M@NP>;t;|GE6g?RE;KZ^J=x_Uf3YMWkyXMR2Dx z<>QgQYWTJb{3r)04X$Twnj2vinkYwJTise-569|J%w)P+*Q@Yc|Gp>k{HP*%vJOi| z=|7!L9aa%xX(>VQy8!oWwp4&;sK-NaVw@nD*(5hfuzMqD9F23^NP9c?i7idm{}3i@ zZ;G}oG#xmty(0QR!R5Oyb=RjVJ3EBCZ($*0S=hnhZex4C#!##fpf~!4Ipp`=_>@-l z>;Ru}CW>qe!uF$S+6dEjLFw2lbr-eiRWX2b+0DdzPTu3qqhb7_&i#XNlZMG=xBu$F zu=~EfY{9&|^=r~E2|B80ORC3gqU%CeF_^MCTivK`tFEhcuXIoQH`}T`E30Qj9%Nn+wcEK_<=56QQeoaViUJoJ1A=Cl*3=P08Q#&a)@BjO8K}N1Ce#R zG%U{_IK%r7^H8im+L$wyX+v-bigq?KBf z2TvxS!`lO7;|Omt!dkil2uq=QaXbYp(+8c(?8BuOqV zsoEEAXVcA?(IG&Egr21$v1`)p!frN&x(e?Kw$!8erGuXO#~6_Y9ZJBp*I#9HEeDi| zd%+uF6 z{OI2rBqq6CV&X9v7;vjw7J#Qdnn~KrTZM9HANH|ra&<>X+g$PXOKV0YE5 zi$TB5^B{EHdcZ)J;a!<7zO^9+^|??$H7v?srL{5To*v2*L;USWXUQ95w8owCHrP(j zS*L86I$X`kBoXYalK=o4#~qe(G^WMK=Yo2+d<B99ul=;V?6WCill|&b(l1vp)lV zz*Ic_cEOzfAx55zPaiwthHaN|w%%#0YAJ#Rgee;a+idQp}yuvHNx-L*X>@?8UjpHy1 zV_lSHJXKW`tW@MLD!NC4zUNdR)Y9ezcLNIjPSp!)Gv)n1?Q|Sc?Z$i)rzV~ORUDe_&nKOby;@@a9AemCxJPeh$PHV|_R{=jsc2DS_`gxccJrhBKuC%Bi zhTH8hMq{tcx2|^TOr_oz`#0#;eHGXX||9k?~TI zJ&bq2gO0RJJhh25%zoVA!MW(jw$zcok}Z2RnU9cvifX3_CjEF;l4v6#^BfNmH&9-yx5U^4wj- zO!*K*#eS{vNVmED@)rFX-y&T>MPb7_<}h8JOxC$NJAu)Wp*-y1JOuSr6|EQ)~~=TW=%Ix=1w@+2cq zA_F*E>)X|X4eQ#wHyEqdc`T-mdXBg$sP_D!?~#tnyoPyOf+Go*n8UK=?^_QJ&QpDX zGZPxm7b*4fQ%d=6uG$(e;()M#PP4%3E7ChXp;wm1PVK4v#!nwG_PK7L?2qsUN+IWo z+%TJTJZ~s#?08R1ef?~O!eaX#v$#GZ{l|UA@9(VTEDy6R@{ro(jySEYuVdG$JQfYO z$yT1`RKWQFoU)UpZlW8$nb}*ZTs_FQ{Mt04CdPzQ=9Q;6JH7&7Q0l#hiV^TPeW6h$ zv&MYiDDO{jOF@_ODx|J|uOKu)+dSDfNQ>p_1wJZNMj;k42v@PKR{ZR~5Bn?YlQv&K z>q^f>H?nUfHlfFlm{`B&tI6m+9+LjB_y$%S8sJsET*3FQchqTSGIrEvW(cjqaL1N1 zGg@y`%XOzUo-SRaA++7Lx3nP1`snA!Z1%@`aeurpY0RU)3`0Z~@p2w?87Cs9pC2D> zTk=m!8lLc!N-s|9hm*6D_D01d#JE0Y?_Ylgy+r7@j$r0k*-n{`fbW5HufEIlzve;D zWOym=^onC&HsAsC@J4+Mx&LCMhOf-9a}W8hK>PtxspyJI-gIAzSZbh@vO~qOM`fl~ zwd2maH;t|9VLTD%dQIPgbKRdz^HK+%B)H@%n2;EznRgPSA5enn2)ErP`b1oXP6_fN z<<7>N?8cv)ZC%qO>{_NJc*~Y+-Mcs6IK56GT3O-8op|WK{v-47jH;D#CzG9i&8XVB zzbr-E%9MBQ$}nz^dJMMn`0{h&zYjX5=Wo$Z*-*xk#>h=hyBWTWgL7B@jZ=$XBI6+T zv8u(|ha1yOhg`VKHwAo)Zi;g(`zmZwrszi3;RjRb63Q$D(I*aNdVd>cG*S41R868g z59Ls9;EkHjZWSD3&%F{A?BW6dFHE4MY!R23D%*WB{2o~1z?CrHPBFv0c$xy7*LAT^ zKdQKpf>5hyiuyo1e?_?;)REh&-tOME+}9T=-&`yDL$GFg#Qi++pba(u8t;&{_#@!F z^5H~Hfu%DxRca^omf=K2p>C4!{+rahL)U^LxRo=8N*7h63_Qy%E0gYf`7Y9N!vVXJ ze~dt<<3mEoeoG{ot&D%Ie$?R8Yeh^)qQy>?vkP!updSS*kcok$4}?w)(60m%&`=!lkV^hc7LyeRNsc`UTS}Hf&7<<@}D4-)(l#PpGjCZX(fgxLCtOxszrdYmWQ)1_KlY%fLM(VL<+V4y02A$&>ipCZS%?%iNQCLf0;s6gIcbnzf)kleD1+mDzQCAr`nH0ow&J}OutCKe6wf;1iq$a$@<;9+;`5+s_+eJs z4rL1dpN}gix5oDM>)&`-AMY5HEOXJdC*q%fAD8LAZvldYwsb}8e9GhBt|8)&&YIwS zqSUOk4CZaQo)VmQUw??MuaT zWIa+D&z9WKPYng7z;;_Br3D%>5q#by;>k$Y^JCK7wGG`^>$ZyFAl;D z)K$||cT6O4+BWH0L2-!-LFxm2e&Wq2gn?v6@N8Il`!4QM)2nPZ%G3LCu7xY1=6JoOMdQn-YYCOLTK(3|KYzvLED27zNMlTxAHtyZsf1cXuz%g}mLREGBS{|~bbkC5GocaXOA?4tFhm_sx5hDnLZVnbi z5m~#QIeyR}(_cJ>PXNqS;qw|lde{}}%@2PDg|9Q_N%I~n_EQGRzAj2gQh}VRmkwN^mK3&rZwt7hoDvT=eIGmhXz;LZ5xA8i2TG@rbuiB=-b^00|6qHeM$Y-q znWfH)H0z;M>piD_2E<9)wvJF+tUqv(%T>4&aSDzmR#j%mtK91P!8xe<5-`KnSo*O| zj{rta@t6H8=I?85FXBGRz8DaN)AgRyn_3>73O#Lq@P_SBHz6^r=Fi0l)U{6W{+~Gn za;Go|Wu=dQ^*P$azW9_$vtU-Yw~6EKdik3U$$mD^k?L%e`}ctfAeMG#j5|@8@NR1| z@yBb|ju1nRV4$3Ok3}eoJ^6LBkO#1KNI2bJIri11f9X88cMWa+fLPI%`p|FfO~vaA zQ>+S!mX}x{Z09sw5@G^VUemZkfHPF+E;4dyYB;t2{zY6+4s1PYquG=#DHb<$EkB{$ zPl;-n;g+`|-POhXlmYV{QbSy{2iWv(T9qbs&qmfo{|ZGDXTnr#Voe;UBWhY(9Q+MV zn^?RyUN@MPzIJzM^G?>_pGRiDN>dlwi02I)R216qVbWByjF+l#0+cDA!N%YOv!^ic zdZi+%4?5{BZLcD-q{9;CrtkU4aY^};MMF}i%LuBwwG7us_u%vix*1t6Z5UtIFxB(f z_8-HTJ3`GURhAOzMOVup==JLF0>v60;TYpxTbHS)5&~uC-<<5i&?L{(iXb5Wv6VkE zusc}IA-Zmc{eJu~mZ+G_sy%fr=k>0H#lZR9;Apd|=bb=w;$^W8uV(#v>uX$1wj@3l5Pc%Y~R;<2sZj)s** z6RGy)=xdlzvO~z$+n#Hc84D?bW#P(uPH4hWKeL0)-Sku_lhe{lIvtCRY^ko4)M|8u zw}orH8kvMAdt_sI5rd z90fq`K;%>%jMtGxje7kmNmO{2qO2n|RpZtKJbz>1JjC*?OIAQuDs%T}B}QlfVwU0C zA33VaAz1%pvhN|ozvkLb_4lBmq}05jIQf>NGILytt;@#WO=Jsh>zhV0fyDz~wrKFOzFNJMF8~Zd}uy=*T;an;+$JLMCn!hem@h_ z{V#Hjqh^<}`zgvHhv-RuiR~Px^z`tw=`)?0j zEfXc1Xu=ZhEpMNtz0qwAEn&y;%(nLL=vLqn$$zByyZT-AaTVAvDKze3=`U?V_o8yA zt{0@l-eC)XMmUbwO9ppaibaXb&p6fe)o9(u3r@%IaY zRi%m38~Sc1q#VHW9Bpa!3(Lpvj1FYq21X8;||>A8?JMA880c;O&9+na{lCSkW8A?3VBV-@(NP}S(RVQl=ApwQSd-c@-W|W z?Xr7aR9r@6@9{u%&u1rz_(tTdM?v4Op*6H??A}#q55eVp?G9UxKBVTH0&*t1a~T|* z=~Y!?oSh|T4$_6ny|eFdo+Dpr9BP3^lL#u#UY@j zIx*x+?<1vKZc#@L44}y??vop;-q*;G{q32A&#_T|FBdjlV3s13DOr)5(5PKszR|YS z3X-eCT+rt!J9O)lM}}G*=1o@}ySa4@STV`<_k@&4x%oyw0Y|0M?yj(Chs#1DXBET4 zQKS0=ML`S1>kuc@I-qs=6Q<(#{d1n$#kCB1U))v^qf`+`BaEGKnS)eb0yTMC zK|1qHl^*`pmaNFu`msX`-C4g6&Nc!q4LZ4zXy33evs$&kObpgP-*iW{F(ow7YQJQs z*)(KV*F(E+h^z*K@2wr_X3hFtbN(5d(oJdd%&#~06A+MF%Bk8iV35F8nx{G1^k`Ag zOp0H*VtL=uSEG(GBJ>211C#(FmaOB1|MZwRo;26LHc0O`$tp3)=83Rh3|OhxR0)z`NkkZL=?wFGTsA9 z8Wq%j;C{^SGvYzPy3C*EdX7Awr^((MI@}fGvVG>K*Vwbt0(t*ZV|{VpEn3`k(p}7B zXu>B1x|h_Wqnl&EtH8#{T&*-`62r;jdPM&?`S6CROgurK%Ih0SjV+D~&L$Bs|QiJu(=RlbHI(Q1-%T|M;rA??j+>-@TD8g) z@3v=2VFtqvg4%?WI7it&g>7R(qdVaX~QXI?00qb{XHSWOTtOY`hbZB z4}c(lhhY%ldi9LP$j10&ngLZRWbP(1AZ+g)*|{kqg z*hM8Shiwb*@as<#Rx3Wc_s=G|j0NoO=&8;3y1)$U^vLrMyq$1F^P8&3n=YRL?<-Jb zI7g}^rd(QNUTnvzYik{jT#h%6XAO6H)&|&$?wKck>#cCJvl?!^@{Vc8#RTxtjLjz! z@}G{Dn@KIK0PfVrz+&;0w(V|$7)&cAsq;YWCot3V*2)n5y+sQ>IiyVZ`QQF3g>s?r zb0uG^_N$JB1I}-mg)r^D2e$cTBAkTaEai}#^LHJ0gvCkS7o%d zwD&Kt@QVE#awNr5>71%>Hohu?HUg;}|Nbt%IAo-^P$zNFlZ*Y5tb*tc4b^5oEAHgH zDX)B)=b+L61?r;xapC=Hj8?faLksy{OAWAm7h*-}|GGGyUl*Dz^r=lCw&5Xs%Ns&@ z9TH|x^L%(o_WS{3)tk&$1rB$szn{vBtYS$MExlLx;nK$QxsiQ^OUFFjIoiJQnswNr zvHk63(J~FpRq305P$LdBm3M^17+%w;;KnXYsP=ZBMT6wzABh?f zGr0d=C6Vt3hRzo$5H75HjrX~CSn|05(wK3Uxz~hO#;QFlUo)f zcArLdnakf8mD^(_>6W1-DwR= zdw2`f`Oc~M+g3&s;c9U8XlVSVqWJe6@~t7TG}jsWKEn^c~#oH5djqafQ<2E z^i%f2fe{b(dTs{yFW^S5fAwKV`#^X?HVWfYRm^%U7?qUTk?;af`(qz+w(w$O5q|BL z;wfv-Zr^R)i!8|pk&B~hgx-n7hNP41Fb4M2N++D+@%oYJ&>n$UbG(iuyAo0C%f^)w~oC0a}sqHmWc;w4xt2<{6*MIk<*#p+l)8f z@V;{KF&lYZw@AV;Fz`c8&pd|{)J5T;^T&T3+}rK>_qAg^GO(j#ZC(t(j%jPVjE!f9 zk4(_iI_SL7wq5*0lLx$xcw&ml)nAD0PQ3uVQgmWO_nQ}{?5*AO)nyh*r1tb?w&eP$ zv=2F`{#ZgKTCLPd?xJ&D7ndsmBF-e=*|06Y$MdmujQ=RCAetWYrR|!Gg_tqTj=wQT z9RX&IdK~Kn{q8$X+1KOf`(b8UZBUoFX=guYux`5PR^PiJRM=weufS)-+ISUS``VI@ zdv==%fGgo+hlYxHf)EcITaqq>Frsy7V2U*by=!|*!|4OjIQpNps# z!|tj5SR(qimtEYnYu0s|OfmsUAJp**65rK5JG=dJ<%`?&zU>*0o_FkI?VLm7?}?Nn z_?68$3OuaLtnv3bieqg-^ks3(v8?^e4i`8e>=(67fYh&uq23$oU8pj$SZqI&JBjb6 zNKBE2Q`01$|JdFc%FDkYQNB7A5B7}hY1Gb=dj4a-&T;KS-t-YYfAY6q@I=-77^0b* ztlgI_k0`~>KfN3Ld#t7`uYQc*V(+NGD5mBdfPb*yY<<%Khn)K$5_VBvzU&m-WFm&xpn5GBT4pr|OAUmz( zcgs=*HCx6k_ath@rj)4{a77XMw|kQx*aIzp4Hj_Q`rUL6dQv*G4$=U|)Qo#fIo>TxyFY>eO3^PkrZ0_!9 zMsrWYLT>TBYa%VcD(^!%v4Ed`*$7$Jkg-5nt|hw9Kgm}AE4k*ASEg>DvZl1!uGvVg zQIYIs67*bR)IR>uZBF#>;k$p8#|nX~3A!1|-F8<6jS+!AxRHOYZySYz63fkTRqm|H zq^eq<-c%GoDQoJ!eR{kAWbA<% zd+Mzbo$q?%O##^pgjZu;CZ+ZL5Wt7K4yg8Pp&|RN#Q<*FY*oJ99bMZl%ynE}x!X*< z60-fRY1Sq__4jCAbgG8Y*=qW^hU3?mv{aFx{UQGMsVk!aJBNVTNd|3M|3F`XX8N|R z?kwTtycQm*UHVXwS z64Or*>KfW!)QejP1i;y{JT&8;U2S&5FB=IPt(w|Af1r+>8Ih`@!~5|{Pk-YYYXq1l zlK@bGRB9cjd-a;}a(>a77KFAlsB)Ew!;eG^9?r|Jy1}9;>}bG!TZ-K}>Q*Pc_TC(z z>gZDD+x~doxrIE$Rq3<{xWb29Hd-NXDc}3B)9Z&ZmNgR{6l>jGic;&$@BZi>Y*_Av zTHw2HjSxzCW{x6sbVj-7X_*N(uFKt?hw1`x}IulQkfgE*HqPlewXI}T%uD`)- z$Msk9PxoiKEIOJ#=SEdSwaJc~E3`AY=>7xC7VoXg{J@ilpapd*9${wprg%sHfe+Cr&yqcBh?rwkaQvL$B3ovh=pW+!A9(ZFdfA+mye zKKQ&`dNna;0|mo&tFn&CwYmz*?~1<+%K-t(x*fxW2R0PNHJ*wHha*& zO0ugwRu0?27nQfVEUHcn6g0*|FcLe>E>?RnJto#nl8p;D%|2-F!Ap6kCW+*Wo(zO| zWvY3B54?h(*NwW*_taGSzR6MoM*qusXY?5(7JB95UoN7;Z&D@3Y<45R^{#ghu|xNj z?cQ!FG5k~Ds_xv~pV{=o&UnNq8nX^0jo3f;rCCkw-h{*xr~XQHp}d-I!i>d;xIxvz z$Rv(~OCO85amvPQI{=}=D{7XaxLe_(fFR}VlwK$czH8AEoZXi$g}0*w1Kz1~3`9VJ zGThV0H`Q9F*KN=lDO4@inisd!pFPs}s9^x(5a$!8@}%fqs~9*}Wp@|p9~5&Ji2gYP zfWH!W-%)0Bdl0@Z;UU(P%qhD}n|%MHMX@%gzuq~<<+Z@R%%(wLeEiZ5xD-ip)zlF* zUX}77U%EXoRxY!w3qLjP zbPrzU8Ki3TCftx7fVU24ex%`)T$s=Se$|4W{b{i8#QHMAZM^tz=D8ia%}Yx62>jrd ze4Ax&JMGqWSLWcqpt;KF=E<;Zafur>W=W&I@XrYvlt8*Cw5hp)PyKtN+&<93$)a)z zk~fyNP3X_6u5YJaoH*9do>lgTZ*sf%0!)aD;}Y3Z)_?^97?wKRv5ZHc$;2_i`9$Oq zPixbj(ZilY9I|=EQujg6XSsTp9YW?P?DzTp!P@pJQmw0IXIbn(#uu)H<6L20KjpCs z{OZ&}>pm>G{jX;*3Ab?}xm}yP6=z-W^P!M!;TER0AoeKuqS3VaO8q#ySnD0ey|&`8 zM!EB;&8qhquel`l&o)_K-=r2bRDq}qf58Dq7E2LF(v|}I@a~N#d)cc~obAjV`s?F!9XA!&Do5iG?O zFUL`CDHRmLU{zy?|3!`&Vj<=h{;R2VN9wq@nj6rD)b%W9o4XC}L#*tz)2h7(UI~r+ zvJhI(uI0Z|0oSlX=pX%YNEsEEmZ9zUX7W_xIU;OyCpssF^e^6Q|Ravui-&p|zDS-ZR z`>{D+Z<>-XY+S+~bBr{XX)p=&JJbM4Y$T5eHpK8rFfoWt_!4IDb2@d$wr`ef@%W z)LHZG$JIrn&t?HMQtFr_gJpJN?#08YY$QM*hk$&2L)m>cetR;0G_#+uMM3};}N2Vt8z3YMFuWfc+fRy?LxcbA&n%g>9{ zUUkgS@MFGLoR`m)+lIG-H(`-vdeU1J>o@Nk2J4BH`|C)UWkTjY4!(BPI-}60QM5fr z@x{4OM`WP885diAM5`(Vj+e>#c>k6`1Aag&iiw9~P>TOSVFEoy^509n^Hs@X?Lu6C z#U;G=N5Zq_w8ldOFiW{Fb=6)u>zDH%ygc}q`tsoYwB=O8Cn%0!I#ydGT4p?wGR{*p zB#>)$g5lq_Y84@V84~zC0_f4j9i2N28AfR;G@(CrxKBo?5rf{n`^J3$N(lXoCz{&1!z_KrFQI*3d&g59HuHEfl2@NWX2xC;fBf`#kt?<{w`ejjO?wMj$ zqLai*%X}wm(yOE4@Y={xm}HB3#9f}NqmT5CG7!cbmc{~U6iV2T7* zT%PqA=Ncu0v7A4tN=_P4C(f*Yji>J7kyEk3cZwrUwKj;qos3i!4VlvHG$1WHnt;{Y zt79i$VAf{kNvCU11u|HBvTFBuUB5F0A>mFsN+_ib?erLnVQm3*i+^dQbG;C@VKFBE|=0!1k$j;7a7{r=tz-v1Bkz=Abwn?a3a%(AeWWdv|cIqB; zsHfSh__G#F1*#((0W*IhFCPoieStLHN5(^>kS5-gI09}f$>Fwev-VP7A!T-HijWz* zk|WZsb0Jes4^OSKQ24ybcX>|Cr{uM&EF+$%^u+Mg7#QN;ePGR}lgoNGnkLGuX$;Fd z$Aqcq5G-eWq(|k`Hi8C?Y_AJN1cp#JmmKKQ01c5pcC6QHJ*>(DGIV z5Uuh7ly$Fp=QW)~qnlM=L7K2Nu7B7k$*S|vZHdfET_gHn^KCA>e|+HwKj3fYa#J7?LsDz6h< z?JNj}TIgeErgaC6LPnb+qvFLg)`IfK7sWJp+y5?20)H+0qk=dJazOD9eX;$3g=?=# zm3PFwv#k8y5|or|4Q?g`SZ;ujYprBM_p~UPuWZ0Ye>%SKUh@Ot;PmnJ5WB!3*UA{4 z(R1>)2dTtr)L*KHT998RA_=5+ujgu>Ss1|7@r(+~JWLz45L34I;d7sP>r(hrTk1R$Cl=LwJM|$?vIC;C|7$XtQ#_S1e5nlp(br|J6tW~>d8@|>)R{6 z#8mVMjnK=#pby03=?guHP`0Qqg+<-@G_2|qT~|zco7+9v_Fqtrdxj2-m1Y&emkGTt zCJKzD?JA7qngC!85ON<+qvEmd0><5KOLw?hE_R#7n6#9hN$27xFVRaR+iCVbI;IX_ zH~a?*ebd0 zPCS!-(Q`p&QPC-5Q7nXmuw(=JuHprUP&c}*EmPS;nMa)IvERE+?gkp_4L znp8`ZH+m^wcntnhSda=}h-5`Tm^v9b@4|SioK}?=4@B~!U39ypLr|`wU!wah>c6vC zW+Yx?eh2awW?U3*R`+|mZ-zD2RLh3r6Z?MBE{N^U4XA|W_J-wG#8`v@SuZr^bjVnG zZ{~Fu387|T4nAU9PAfh|rPrjwzgu|1sL~m^zdrTzyIwjWm1C~i3E68JTyd?+9pacL z&6Hus`8D)K`;Oc0!86g`Sc2R5a!RcEJe8`&Dv@7!BHWfbJ%n@;i{~ zBRMr`+eoyDAB-sX)NPpFVI?5x!fq&cOh~Ua@(LH)mgj*_n)uIyNYj**yO)`(3_R0f zvm|HbTXa5hL#4$V6*!CX*WdPlN?M_I3H|j)mb=%=&N;U()9T}6#HSDLs)7JgTj?Ec z*sc|VRZ{NBcpjj^HVRH{U&xdeEi9uS1eXfO>|khTX9IpE373Y5f>1V$Ez#!6hU34x zVOIV$IzYDFikO6EJ+W2&Jj@s(nl1#`{Nt4nr|!680}9?03Paqy9-N(fhh&-%Eh`gNcGR48mU8?>o@e+BC{Pypw3r>e9I1W3?c##!had)y}rINrT9 zH!PEwD{G=9?LGc?EJIgRJaX}xa_07s7(h>cI68zV7B@;XJXc%m`b{Wgw?$@VKwoK8 zX(O%l$Hw2Vml7zwbc{|CuwIS-&c^Ys1(S$h)R zRt?OhDPTG0B8s$J%Zkh#DwdPfythh3xA$k08 z=dzf&Ge8z>Y^SpR1$m1AoNklm`AL)Z?I6*-NF6!4mun0B*=`$McTk~AJkw~8T+%dr zQ2evko9v8xX@ARSsrKfG6fxt(q`zB|DQ7g7ypvM z|L^1fy%nGg`+wgG&?e_!aB62zRZN%icn>?A9WX%>g8WG-BE!J}2_O7Pb1q_SN*&KR z#hjt;P6M_2TGAf0FJU|iK#swb^V|62wXpHUeq!a*{Q8mL@$e)J#x>Xw3KVfL?f4~H z2Eb)3RC2Em1Ta~eL(@C}lq&XS9siRF6~}?=|lS6Idwt@f-qo5?N>V zzyI8x+W=TyaC>s|y4zgAl1cevZuH^Q*o!9XTIXz-?14*f`i&^1NupkF;vESGfs0Hc zZGk}E-2;yt%N*2f(`jC%W&518>m0CVoVr_}NHsuw$UTitpTC&O)GAX_RX$4=JRo~E z@g77^7}DAd1yz?U^=5Ss7f8&lNJ{j6mPI`JLhtaPfn;F z7W>oY7AMp4(=|>=(oFj}uoGG@GvuO)!pf+O6`>Q-O0Kw?fG69EPd}*Z#dPYT4+F z#Enf^yHKzwe=&u1@6lG7n{|8w+Nkw*3iCfdUY=ejdwBoW^$u`Pz-_B@Q=pjZ^*;l$1Ty_d6Ju38qXQn;VoKd=49HZGLA%H%ix~Tl49ZsB%u^+|bG}FtwBn1d z*JG6Atvwm~hs@i<>S^S@_f@maTbaVP7(Ta2Os{#9BhSttB!~>THOqSb?75!lT9=xH z<;*>c^`(HjEw=iN*urYQ-%Z&MJVbXXRbjg%R(sRgDJj4cc!a=r|4QF$p(eh?dL!{+ zClg!j`=hzJKKRr5EQ;CeW!Z~jf@YI)D4VtC6xHS=Q@bc%Lu-v;6?h6BO2=55kxC-+j!~g{Vw7A zFsI8bmZv$s)CQ6w^j_2;PvFb9+fq_8fo$s+35(nrqKbuV;O5loIUDxUfjUzjl|yz5 z6abmEin?~x)}N!~;G{JSoqzFjyV0K_GHwBkGb$RSDy+K^x0l=pnDt-1vTren#wee- zM(nK)&$+jrAj%%=L;yb4NN=Tol^i<7xdx2|Zf5Qkxao9?GHR1s{EF_}PL7Z04cyyW zkKWK0GO2LfBaAjMn{-~}lOqVh9#}NaxnmZDhfP(nFE}rgJH)Yg)}Y>7Xxe@pKP+d#EOXj ziw2K5_}k(lkjSPCn!^9%y6aeoVGZe5M!mlzty#pnz7zKGs&@tp+B;mswkuiRZKGgm z1K8^Rz{&19FvlPrMn1z8ho+|TepqL)Kmp@Me75VB^IDJJnJ-Z0e?6w^ZY@`r@0IM8 zDvOw05wl(t(h+p!==FrWv{Hcx|4{X9Ge^HbQk#q)9oe>fw8JaUS~L3x(X1=JK=Y4q z+s7G}Iwn=Kj@9i7-=blhqWs*8;V*(%w^7YHz$UDU5K>vB-@x6+Kto%Y#*aFISNg(pHnxwW&w-;$6Jf;tte3H z+GDSiu{F8S2at;#s)hbYW{i?{hMwdV8RhEZUNfCV##TH!HQ zUru#;xuEUjN^|Ta437>eZ8qOQ{3xi7(d|Zw%t8e8PglTP8w6aVt@;8tc-mYRHAdkZ=CqIcT&YOrXewWWDTDK& z+3`1L>Z^^LT#}Okn>9+or+hbrFWpc?*b5-0G;5Ft{kagoBJK6<6D4TYJY%h7hwKZ2 z4%aUj`AhulNd;S~7&tmp(H4cY3?Qz$SlSHmeukakwotHftE}xUOI|-x0zJHxIWBFF zv_Wr+F?K=>kGhcc{Bd8bf&%K4_UD^#_9B&6@M7)6RPxb_sJ}17{JQ%hzx+$Ndp>8i zZsjvudg!GuM?!DCx!91OM)8>*e;@lGWb5NO_sO{&*)JPtTTlen7}qhaX>CigkO{~a z$M?KMFcm#qY{=NDbR#a0DRzC}C0O9XoME#e(@%*B1}F5asz;|`RK} zukkaKU_68sBZ(EN{HzR{8grjncIVk*X}%!|jvRTkG@RnX@CMBxn`U}Ffa7h+ojArL z(f<^z;pers+!?-Vh~2o+$p{ZcdNbB}&)yAKsTInqeY{^*>);{B8c&nITiD)jaS*{U2S~+_bS$r25=vzCS;}n|6WU=`0z_^gf zZ#IO&;{U$uv$>{6xQSZDQ`oMVyGBiZ)X~yew0eH!C&-G4-QlbL$1TrZcqrKt(O-amN&F{0)p7E}jKWI*COZH41%@+DIScz09BhE&py@FzG5_mSW698l z0WoSAuUx=-ha<&zhAIZ!`o35C9|ykSJ=hmQI0gX^83kfIT)539QK^cNm8DzqZ#&#ze3j~$HEL!9(1M|=sHJ24}dWZZQ+Sirc#!$-g+HT<_hdX@Lzw zXT983w@=Mdegc=t3y_g1F2uU^?#$jhwVbD@1h0q5NToBOfy>0%MaH$34^2TcJ20y| z1?xsDzphM0e=oyN670vr+5ai4J%DEM+gaY8t{z2HBzeNKU7kx#@ zOU~@07)O9%K#nf`SLir{@i)wWsA4>E2Fo$%I8v9v%b}2-YVoMA&~7SS29|>rBfw=(T3lKh-f>qJ@J-ATl-hS5nZX+uXo5`T=2reaU-nZI4+jXH1=Z<~Qmg_WC z4h#ZX{5!09m#DJ3Y9%nr)1ybdAiU)rK}UQ=`5WAF8KF1+Iy|p~+=kkX*AMFknt_d@ zP!@U@wBvAd1XSsuj-HAd?+*;crcG-?7wO{*PRyoLPnIWY*;7+|hK&-DrZFXH%@Ls@ zJ})q&37HMF)O?76g;GeTxPs@yK0cL3*Rcsk1s<6PrY{BxF>0imvG%ci)U)VM3QZnv zPejQpafXqV65uqm8s8KJQKP)0ax%P7HQa(0=j)7b{o#Tfo@ET(6FxX2gmPbjzj%g&VOOL{0z%e(YJX_ zSX-Hu9EqlS;&X|L>eCbZ*&&wUrbJNh)fj}q0w#cbP`-JztK?ufU4Cj+9~P5!x5dAY zXTwq(EUl4msk>0Izy9^TjtpacSira9b`cYfAH$&UbE6+HZMo$_c}FIVFQ&$P-B*Uh z2~3#!&Zih)dg!12xi zrqMz^jxb*D^CL^M0H)u{|7fwEQ8Xd& z@B8G<)I(h}l{|eJ3VzF1@xSw<@ZYy)qF;_^ zctLODzU|ow17YnEUA|{vJNv+35Wo3pqvC|j%RUpHTVg-_%@BHZRO5Mcz2v(pXTfMO zRE%iX$&yNSi<2DBD3T=lE+qd^bf{IZPXSW0Fs6cqi1Ui#53UfkT>kUvhA>$1Tpdh%Y<{$@6{X2+#U~&7RU}vRhfAK}3t8O}$~;tt^N`m=RU$Fs zAI4?Lz&2OhQTRfYm`PQ@sdKn!vd>EYiV7xxG8i9^e6APGB=$Rk>Em6vd23op!O(unr%y|wUy0heNJMIo?-{EbH%ZqE$S@~?G2S8?K8t-8 zQ;4wV$pg?VkJ)yvhy+As#fR=mbG2>lO@$cG0K)h|J?yw@25Nkkda-$JHuMXW=QDhf zR({Aif+#L&rs=8)wTngD@VB|do+mzacCNFqk1lLb1f

jNkY1zWZ0bw-7tN;{Y@< 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

FcE4VW6VJV6{Uf}{0B(wiK(j|mcnSDQF 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 Y&;R0hWio8#`S&?mYPzaaWt-st4^+=d*8l(j diff --git a/docs/hf_dataset_card.md b/docs/hf_dataset_card.md index 9d9911a..ea676f0 100644 --- a/docs/hf_dataset_card.md +++ b/docs/hf_dataset_card.md @@ -6,315 +6,227 @@ tags: - genomics - transcriptomics - spaceflight + - space-biology - benchmarking - nasa-osdr - bulk-rna-seq - mouse - rna-seq + - mission-held-out - foundation-model - pathway-analysis - - single-cell - - spatial-transcriptomics + - spacebio-bench size_categories: - 100M -GeneLab Benchmark provides standardized train/test splits for evaluating how well machine learning models generalize **spaceflight transcriptomic signatures across ISS missions**. +Maintainer / citation author: JangKeun Kim, Weill Cornell Medicine. -**Core challenge**: Given RNA-seq from one spaceflight mission, can a classifier detect spaceflight vs. ground control in samples from a different mission it has never seen? +![SpaceBio-Bench benchmark at a glance](assets/hf_benchmark_summary.png) -**Data source**: NASA Open Science Data Repository ([OSDR](https://osdr.nasa.gov/bio/repo/)) -- mouse multi-tissue bulk RNA-seq from ISS rodent research missions (C57BL/6J strain). +## What Is In This Dataset -### Scope +This Hugging Face dataset contains self-contained public fold packages from the +GeneLab Benchmark v1-v7 surface. Each fold holds out one mission as the test set +and provides all files needed to train on the remaining missions and evaluate on +the held-out mission. -| Dimension | Coverage | +| Public package item | Description | |---|---| -| Tissues | 8 (Liver, Gastrocnemius, Kidney, Thymus, Skin, Eye, Lung, Colon) | -| Core ISS mission labels | 9 named labels in the public task package (RR-1, RR-3, RR-5, RR-6, RR-7, RR-8, RR-9, MHU-1, MHU-2) | -| OSD Studies | 24+ source accessions across release layers | -| Samples | 600+ binary/control samples across the processed release layers | -| Classifiers | 8 (PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM) | -| Feature types | 4 (Gene, Hallmark pathways, KEGG pathways, Combined) | -| Foundation / Language Models | 4 gene-expression FMs + 3 text LLMs | - ---- - -The GitHub repository contains the full v1-v7 benchmark surface. This Hugging Face dataset card exposes the public feature-matrix package and reviewer-facing result summary; counts below separate full-release scope from specific analysis subsets. - -## Transparency and Release Boundary - -This Hugging Face card is the concise public card for the v1-v7 feature-matrix -package. Project-level transparency documentation is maintained in GitHub so the -system scope, evaluation protocol, release-readiness gates, and claim boundaries -can be reviewed together: - -- Transparency card pack: - https://github.com/jang1563/GeneLab_benchmark/blob/main/docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md -- System card: - https://github.com/jang1563/GeneLab_benchmark/blob/main/docs/SPACEBIOBENCH_SYSTEM_CARD.md -- Evaluation card: - https://github.com/jang1563/GeneLab_benchmark/blob/main/docs/SPACEBIOBENCH_EVALUATION_CARD.md -- Release readiness card: - https://github.com/jang1563/GeneLab_benchmark/blob/main/docs/SPACEBIOBENCH_RELEASE_READINESS_CARD.md -- Claim register: - https://github.com/jang1563/GeneLab_benchmark/blob/main/docs/SPACEBIOBENCH_CLAIM_REGISTER.md - -For DOI-oriented citation, use the final GitHub release tag and archive DOI -recorded in the release archive manifest once minted. - -Current release wording: v1-v7 are the canonical historical benchmark and -reviewer-facing feature-matrix surface; v8 and v9 are documented as extension or -metadata-alpha surfaces and should not be described as frozen public benchmark -payload releases. +| `train_X.csv`, `test_X.csv` | Sample-by-gene expression matrices | +| `train_y.csv`, `test_y.csv` | Binary labels: `1 = Flight`, `0 = Ground` | +| `train_meta.csv`, `test_meta.csv` | Sample-level metadata used for fold auditing | +| `fold_info.json` | Held-out mission, train missions, sample counts, and provenance | +| `selected_genes.txt` | Fold-specific genes selected from training missions only | +| `task_info.json` | Task-level metadata and source summary | -## Dataset Structure +The web Dataset Viewer is disabled because these are high-dimensional +sample-by-gene matrices plus JSON artifacts. Use direct downloads for reliable +access. -This HuggingFace repository contains **feature matrices** (train_X.csv, test_X.csv) for 4 benchmark tasks that passed significance thresholds. Labels and metadata are in the [GitHub repository](https://github.com/jang1563/GeneLab_benchmark). +## Public Fold Layout -``` +```text genelab-benchmark/ -├── A2_gastrocnemius_lomo/ <- 3 missions, 32 samples +├── A2_gastrocnemius_lomo/ +│ ├── task_info.json │ ├── fold_RR-1_test/ -│ │ ├── train_X.csv <- Training features (samples x genes) -│ │ └── test_X.csv <- Test features │ ├── fold_RR-5_test/ │ └── fold_RR-9_test/ -│ -├── A4_thymus_lomo/ <- 4 missions, 67 samples +├── A4_thymus_lomo/ +│ ├── task_info.json │ ├── fold_MHU-1_test/ │ ├── fold_MHU-2_test/ │ ├── fold_RR-6_test/ -│ └── fold_RR-9_test/ -│ -├── A5_skin_lomo/ <- 3 missions, 102 samples +│ ├── fold_RR-9_test/ +│ └── fold_RR-23_holdout/ +├── A5_skin_lomo/ +│ ├── task_info.json │ ├── fold_MHU-2_test/ │ ├── fold_RR-6_test/ -│ └── fold_RR-7_test/ -│ -├── A6_eye_lomo/ <- 3 missions, 37 samples +│ ├── fold_RR-7_test/ +│ └── fold_RR-7_holdout/ +├── A6_eye_lomo/ +│ ├── task_info.json │ ├── fold_RR-1_test/ │ ├── fold_RR-3_test/ -│ └── fold_OSD-397_test/ <- stable public label for OSD-397 -│ -├── v4/evaluation/ <- Multi-method evaluation results (JSON) -├── v5/evaluation/ <- Systems biology analysis results -└── v6/evaluation/ <- Human translation analysis results +│ └── fold_OSD-397_test/ +├── v4/evaluation/ +├── v5/evaluation/ +└── v6/evaluation/ ``` -Each fold holds out one mission as the test set and trains on the remaining missions. This **Leave-One-Mission-Out (LOMO)** cross-validation evaluates true cross-mission generalization. - ---- - -## File Format - -### Feature matrix (train_X.csv, test_X.csv) - -- **Rows**: Sample IDs -- **Columns**: Ensembl mouse gene IDs (e.g., `ENSMUSG00000021969`) -- **Values**: Log2(DESeq2 size-factor normalized counts + 1) -- **Gene selection**: Top 75th percentile variance, computed on **training missions only** (no test leakage) -- **Typical shape**: ~20,000 genes per sample - -### Labels (in GitHub repo) - -| Value | Meaning | -|-------|---------| -| `1` | Flight (spaceflight / microgravity) | -| `0` | Ground Control (vivarium / ground control) | - ---- - -## Results +`fold_OSD-397_test` is the stable public label for the third A6 eye fold. -### Multi-Method Evaluation (256 evaluations: 8 tissues x 8 methods x 4 feature types) +## Scope -Best AUROC per tissue across all method-feature combinations, evaluated via LOMO cross-validation (6 tissues) or 5-fold stratified CV (Lung, Colon -- single-mission datasets): - -| Tissue | Best AUROC | Method | Feature | perm_p | Significant | -|--------|-----------|--------|---------|--------|-------------| -| **Thymus** | **0.948** | PCA-LR | KEGG | 0.031 | Yes | -| **Colon** | **0.921** | PCA-LR | KEGG | 0.033 | Yes | -| **Lung** | **0.901** | PCA-LR | Gene | <0.05 | Yes | -| **Kidney** | **0.829** | ElasticNet-LR | Hallmark | <0.01 | Yes | -| **Eye** | **0.823** | PCA-LR | Hallmark | -- | - | -| **Skin** | **0.819** | PCA-LR | Gene | -- | - | -| **Gastrocnemius** | **0.776** | PCA-LR | Gene | -- | - | -| **Liver** | **0.670** | PCA-LR | Gene | -- | - | - -Significance: best-row permutation p where available. Across all 256 configurations, 40 individual evaluations are significant at p<0.05 and 6/8 tissues have at least one significant configuration. - -PCA-LR on gene features provides a strong baseline (8-tissue mean AUROC = 0.776). - -### Foundation / Language Model Snapshot - -| Model | Best Single-Tissue AUROC | vs PCA-LR Baseline (0.776) | -|-------|-----------|-------------------| -| scGPT | 0.666 (6-tissue mean, v1) | Below baseline | -| scFoundation | 0.635 (liver, p<0.01) | Below baseline | -| UCE | 0.632 (thymus, p=0.031) | Below baseline | -| Mouse-Geneformer | 0.476 (6-tissue mean, v1) | Below baseline | -| Text LLMs (GPT-4o, Claude, Llama 3) | 0.47-0.51 | Chance level | - -scGPT and Mouse-Geneformer report 6-tissue v1 means; scFoundation and UCE rows show best single-tissue v3 results. All of these model families still underperform the classical PCA-LR benchmark surface. - -### Negative Controls - -- Permutation control: AUROC = 0.50 +/- 0.03 (label shuffling) -- Housekeeping gene control: AUROC = 0.49-0.55 (non-informative features) -- Held-out validation: Thymus RR-23 (0.905), Skin RR-7 (0.885) - ---- +| Dimension | Coverage | +|---|---| +| Full v1-v7 benchmark surface | 8 tissues | +| Public source catalog | 24+ NASA OSDR accessions | +| Processed sample scope | 600+ binary/control samples across release layers | +| v4 multi-method evaluation | 8 tissues x 8 classifiers x 4 feature types = 256 evaluations | +| Public HF fold package | 4 reviewer-facing LOMO tasks plus selected result artifacts | -## Downloading +The full GitHub benchmark also includes historical v2-v7 extensions for +temporal dynamics, cross-species analysis, single-cell and spatial pilots, +foundation-model comparisons, graph/network baselines, and biological +interpretation layers. This HF repository is optimized for processed dataset +access; GitHub is the complete methods, code, and release-documentation surface. -### Option A: Python API (recommended) +## Download Example ```python from huggingface_hub import hf_hub_download import pandas as pd -# Download one fold's feature matrix -train_X = pd.read_csv( - hf_hub_download( - repo_id="jang1563/genelab-benchmark", - filename="A5_skin_lomo/fold_RR-7_test/train_X.csv", - repo_type="dataset", - ), - index_col=0 -) -print(train_X.shape) # (72, 20110) +repo_id = "jang1563/genelab-benchmark" +fold = "A5_skin_lomo/fold_RR-7_test" + +def hf_csv(name): + return pd.read_csv( + hf_hub_download( + repo_id=repo_id, + filename=f"{fold}/{name}", + repo_type="dataset", + ), + index_col=0, + ) + +train_X = hf_csv("train_X.csv") +train_y = hf_csv("train_y.csv").iloc[:, 0] +test_X = hf_csv("test_X.csv") +test_y = hf_csv("test_y.csv").iloc[:, 0] +test_meta = hf_csv("test_meta.csv") + +print(train_X.shape, train_y.shape, test_X.shape, test_y.shape) ``` -### Option B: Download full task +Download a complete task: ```python from huggingface_hub import snapshot_download -# Download all A5 skin files snapshot_download( repo_id="jang1563/genelab-benchmark", repo_type="dataset", allow_patterns="A5_skin_lomo/**", - local_dir="./data/benchmark", + local_dir="./data/genelab-benchmark", ) ``` ---- +## File Contract -## Evaluation +| File | Contract | +|---|---| +| Feature matrices | Rows are sample IDs; columns are Ensembl mouse gene IDs | +| Expression values | Log2(DESeq2 size-factor normalized counts + 1) | +| Gene selection | Top 75th percentile variance, computed on training missions only | +| Labels | Binary Flight/Ground labels | +| Metadata | Sample and fold provenance for auditability | -Evaluate predictions using the included script ([GitHub](https://github.com/jang1563/GeneLab_benchmark)): +The fold design prevents test-mission leakage by applying variance filtering +inside each training split. -```python -# Prepare submission JSON -submission = { - "task_id": "A5", - "model_name": "MyModel_v1", - "predictions": { - "fold_MHU-2_test": {"sample_id_1": 0.92, "...": "..."}, - "fold_RR-6_test": {"...": "..."}, - "fold_RR-7_test": {"...": "..."} - } -} +## Evaluation Summary -# Run evaluation (requires cloning GitHub repo for labels) -# python scripts/evaluate_submission.py --submission my_submission.json --task A5 -``` +The canonical result source is `docs/CANONICAL_RESULTS_V7_1.md` in the GitHub +repository. -### Model Tracks +| Result surface | Takeaway | +|---|---| +| Multi-method benchmark | PCA-LR is the strongest 8-tissue gene-level baseline in v4, with mean AUROC 0.776. | +| Best tissue rows | Thymus 0.948, colon 0.921, lung 0.901, kidney 0.829 across best method-feature combinations. | +| Cross-mission transfer | Thymus and gastrocnemius show the strongest mission-transfer signal; liver and kidney are harder. | +| Pathway features | Pathway representations rescue some weaker gene-level tissues, especially kidney and eye. | +| Foundation models | Tested gene-expression foundation models underperform tuned classical baselines on small-n bulk RNA-seq mission shift. | +| Held-out validation | Thymus RR-23 AUROC 0.905; skin RR-7 AUROC 0.885. | -| Track | Examples | Input Format | -|-------|---------|-------------| -| **Classical ML** | PCA-LR, ElasticNet-LR, RF, XGBoost, SVM-Linear, SVM-RBF, TabNet, LightGBM | Tabular (gene x sample) | -| **Foundation Models** | Geneformer, scGPT, UCE, scFoundation | Gene rank order / embeddings | -| **Text LLMs** | GPT-4o, Claude, Llama 3 | Natural language gene list | +## Intended Use ---- +Use this dataset to: -## Source Data - -All data derived from publicly available NASA OSDR datasets: - -| OSD ID | Tissue | Mission | n (Flight + Ground) | -|--------|--------|---------|-----------| -| OSD-48 | Liver | RR-1 | 18 | -| OSD-137 | Liver | RR-3 | 20 | -| OSD-245 | Liver | RR-6 | 48 | -| OSD-379 | Liver | RR-8 | 40 | -| OSD-242 | Liver | RR-9 | 39 | -| OSD-686 | Liver | MHU-2 | 28 | -| OSD-101 | Gastrocnemius | RR-1 | 12 | -| OSD-401 | Gastrocnemius | RR-5 | 12 | -| OSD-326 | Gastrocnemius | RR-9 | 8 | -| OSD-102 | Kidney | RR-1 | 47 | -| OSD-163 | Kidney | RR-3 | 32 | -| OSD-253 | Kidney | RR-7 | 39 | -| OSD-289 | Thymus | MHU-2 | 12 | -| OSD-244 | Thymus | RR-6 | 35 | -| OSD-421 | Thymus | RR-9 | 20 | -| OSD-238 | Skin (dorsal) | MHU-2 | 18 | -| OSD-239 | Skin (femoral) | MHU-2 | 17 | -| OSD-243 | Skin | RR-6 | 37 | -| OSD-254 | Skin | RR-7 | 30 | -| OSD-100 | Eye | RR-1 | 12 | -| OSD-194 | Eye | RR-3 | 9 | -| OSD-397 | Eye | OSD-397 | 16 | -| OSD-248 | Lung | RR-6 | 39 | -| OSD-247 | Colon | RR-6 | 36 | - -Lung and Colon additionally include Basal Control samples treated as ground control (+19 and +18 respectively). +- evaluate spaceflight transcriptomics classifiers under mission-held-out shift; +- compare classical ML, foundation-model, and adapter methods on fixed folds; +- test preprocessing or feature representations without changing test missions; +- reproduce public benchmark summaries from the GitHub repository. ---- +For full methods and release status, use the GitHub documentation and release +manifest. -## Preprocessing +## Release Labels -1. DESeq2 size-factor normalization (per mission) -2. Log2(counts + 1) transformation -3. Low-expression filter (>=20% samples with count > 1) -4. Top 75th percentile variance gene selection **per fold, training missions only** (prevents test leakage) -5. Pathway scores: gseapy ssGSEA (MSigDB Hallmark, KEGG gene sets) +| Surface | Public label | +|---|---| +| v7.1 GeneLab Benchmark | Canonical historical result surface and citation target | +| v7.1.2 public-card patch | Documentation, metadata, and evidence-visibility patch over v7.1 results | +| v8 extension | Incubating translational extension | +| v9 public bulk | Metadata-only public bulk alpha | +| v9 extension lanes | Diagnostic or draft lanes | ---- +This HF dataset card describes the v7.1 public fold package with the v7.1.2 +public-card patch. The v9 public bulk metadata-alpha card is maintained +separately in the GitHub repository as +`docs/v9_hf_dataset_card.md`. ## Citation -*(Manuscript in preparation)* +Please cite the software and benchmark using the GitHub `CITATION.cff` metadata. ```bibtex @dataset{kim2026genelab, - title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics - Benchmark for AI/ML Models}, - author = {Kim, JangKeun}, - year = {2026}, - url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, - note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01} + title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics Benchmark for AI/ML Models}, + author = {Kim, JangKeun}, + year = {2026}, + url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, + note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01} } ``` -Data source: NASA Open Science Data Repository (OSDR) -- https://osdr.nasa.gov/bio/repo/ - ---- +Source data: NASA Open Science Data Repository (OSDR), . ## License -- Dataset: CC-BY-4.0 -- Code: MIT ([GitHub repository](https://github.com/jang1563/GeneLab_benchmark)) -- Source data: NASA OSDR public data; see individual OSDR dataset licenses. +- Processed dataset package: CC-BY-4.0 +- Code: MIT, in the GitHub repository +- Source data: NASA OSDR public data; follow individual source-dataset terms diff --git a/docs/hf_dataset_card_longform_v7_1_archive_2026_06_15.md b/docs/hf_dataset_card_longform_v7_1_archive_2026_06_15.md new file mode 100644 index 0000000..f47d9c2 --- /dev/null +++ b/docs/hf_dataset_card_longform_v7_1_archive_2026_06_15.md @@ -0,0 +1,325 @@ +--- +license: cc-by-4.0 +task_categories: + - tabular-classification +tags: + - genomics + - transcriptomics + - spaceflight + - benchmarking + - nasa-osdr + - bulk-rna-seq + - mouse + - rna-seq + - foundation-model + - pathway-analysis + - single-cell + - spatial-transcriptomics +size_categories: + - 100M=20% samples with count > 1) +4. Top 75th percentile variance gene selection **per fold, training missions only** (prevents test leakage) +5. Pathway scores: gseapy ssGSEA (MSigDB Hallmark, KEGG gene sets) + +--- + +## Citation + +*(Manuscript in preparation)* + +```bibtex +@dataset{kim2026genelab, + title = {GeneLab Benchmark: A Multi-Tissue Spaceflight Transcriptomics + Benchmark for AI/ML Models}, + author = {Kim, JangKeun}, + year = {2026}, + url = {https://huggingface.co/datasets/jang1563/genelab-benchmark}, + note = {v7.0 with v7.1 documentation consistency patch; data freeze 2026-03-01} +} +``` + +Data source: NASA Open Science Data Repository (OSDR) -- https://osdr.nasa.gov/bio/repo/ + +--- + +## License + +- Dataset: CC-BY-4.0 +- Code: MIT ([GitHub repository](https://github.com/jang1563/GeneLab_benchmark)) +- Source data: NASA OSDR public data; see individual OSDR dataset licenses. diff --git a/release/release_manifest.json b/release/release_manifest.json new file mode 100644 index 0000000..e4c8fc7 --- /dev/null +++ b/release/release_manifest.json @@ -0,0 +1,226 @@ +{ + "$schema": "release_manifest.schema.json", + "schema_version": "0.1.0", + "generated_at": "2026-06-15", + "project": { + "name": "SpaceBio-Bench", + "legacy_name": "GeneLab Benchmark", + "repository": "https://github.com/jang1563/GeneLab_benchmark", + "huggingface_dataset": "https://huggingface.co/datasets/jang1563/genelab-benchmark", + "maintainer": "JangKeun Kim, Weill Cornell Medicine" + }, + "source_control": { + "git_commit_at_manifest_creation": "24c5594165d5f662435ae00a9b09476d1905f30b", + "working_tree_status": "main_based_public_polish_branch" + }, + "release_lanes": [ + { + "lane_id": "v7.1", + "public_label": "canonical historical result surface", + "status": "canonical_historical_result_surface", + "version": "7.1.2", + "date_released": "2026-06-05", + "summary": "The v1-v7 canonical benchmark result surface plus the v7.1.2 documentation, public-card, metadata, and evidence-visibility patch. The patch does not introduce new benchmark result generation.", + "canonical_surfaces": [ + "README.md", + "docs/CANONICAL_RESULTS_V7_1.md", + "docs/hf_dataset_card.md", + "docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md", + "CITATION.cff" + ], + "huggingface": { + "repo_id": "jang1563/genelab-benchmark", + "dataset_card_path": "docs/hf_dataset_card.md", + "revision_status": "remote_current_v7_1_2_public_card_patch" + }, + "citation": { + "cff_path": "CITATION.cff", + "citation_version": "7.1.2", + "status": "software_citation_available" + } + }, + { + "lane_id": "v9_public_bulk", + "public_label": "metadata-only public bulk alpha", + "status": "metadata_only_public_bulk_alpha", + "summary": "The v9 public bulk lane has metadata indices, source inventory, checksum audit, baseline summaries, and a draft data package; it is not a frozen payload release.", + "canonical_surfaces": [ + "docs/v9_hf_dataset_card.md", + "docs/V9_PUBLIC_BULK_ALPHA_CARD_DATAPACKAGE_BOUNDARY_UPDATE.md", + "v9/README.md", + "v9/datapackage.draft.json", + "v9/task_manifest_index.csv", + "v9/task_data_index.csv", + "v9/source_inventory.csv", + "v9/source_checksum_audit.csv" + ], + "huggingface": { + "repo_id": "recommended_separate_v9_repo_when_distribution_expands", + "dataset_card_path": "docs/v9_hf_dataset_card.md", + "revision_status": "not_uploaded_as_frozen_release" + }, + "citation": { + "status": "alpha_not_cited_as_frozen_release" + } + } + ], + "artifacts": [ + { + "artifact_id": "root_readme", + "lane_id": "v7.1", + "role": "github_landing_page_current", + "path": "README.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v7_hf_dataset_card", + "lane_id": "v7.1", + "role": "huggingface_dataset_card_source", + "path": "docs/hf_dataset_card.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v7_hf_dataset_card_longform_archive", + "lane_id": "v7.1", + "role": "preserved_longform_huggingface_dataset_card_before_distribution_focused_rewrite", + "path": "docs/hf_dataset_card_longform_v7_1_archive_2026_06_15.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v7_citation", + "lane_id": "v7.1", + "role": "software_citation", + "path": "CITATION.cff", + "kind": "cff", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "transparency_card_pack", + "lane_id": "v7.1", + "role": "public_scope_and_release_boundary_map", + "path": "docs/SPACEBIOBENCH_TRANSPARENCY_CARD_PACK.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v9_hf_dataset_card", + "lane_id": "v9_public_bulk", + "role": "v9_public_bulk_alpha_dataset_card_source", + "path": "docs/v9_hf_dataset_card.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v9_datapackage_draft", + "lane_id": "v9_public_bulk", + "role": "draft_frictionless_data_package", + "path": "v9/datapackage.draft.json", + "kind": "json", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "v9_task_manifest_index", + "lane_id": "v9_public_bulk", + "role": "task_manifest_index", + "path": "v9/task_manifest_index.csv", + "kind": "csv", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "premium_upgrade_plan", + "lane_id": "v9_public_bulk", + "role": "github_hf_public_surface_upgrade_plan", + "path": "docs/GITHUB_HF_PREMIUM_UPGRADE_PLAN_2026_06_15.md", + "kind": "markdown", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "release_makefile", + "lane_id": "v7.1", + "role": "public_release_helper_targets", + "path": "Makefile", + "kind": "makefile", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "hf_upload_workflow", + "lane_id": "v7.1", + "role": "huggingface_upload_plan_and_smoke_validation", + "path": "scripts/upload_to_hf.py", + "kind": "python", + "checksum_status": "not_recorded" + }, + { + "artifact_id": "readme_longform_v7_1_archive", + "lane_id": "v7.1", + "role": "preserved_longform_root_readme_before_premium_landing_page", + "path": "docs/README_LONGFORM_V7_1_ARCHIVE_2026_06_15.md", + "kind": "markdown", + "checksum_status": "not_recorded" + } + ], + "schemas": [ + { + "schema_id": "release_manifest", + "path": "release/release_manifest.schema.json", + "applies_to": "release/release_manifest.json" + } + ], + "quality_gates": [ + { + "gate_id": "release_manifest_local_path_check", + "status": "implemented", + "description": "Validate that local canonical surfaces, artifacts, and schema paths referenced by this manifest exist." + }, + { + "gate_id": "readme_hf_citation_consistency", + "status": "implemented", + "description": "Check that README, Hugging Face cards, and CITATION.cff report compatible version and status labels." + }, + { + "gate_id": "hf_dry_run_diff", + "status": "implemented", + "description": "Generate a Hugging Face upload diff before modifying the remote dataset repository." + }, + { + "gate_id": "hf_remote_smoke_download", + "status": "implemented", + "description": "After upload, download representative files from the HF repo and validate manifest paths." + }, + { + "gate_id": "status_language_lint", + "status": "planned", + "description": "Flag public text that labels alpha or draft lanes as frozen releases." + }, + { + "gate_id": "make_release_qa", + "status": "implemented", + "description": "Run public release manifest, public-docs consistency, HF upload workflow, and Python compile checks through Makefile." + }, + { + "gate_id": "hpc_public_release_gate", + "status": "implemented", + "description": "Run the public-surface slice of the HPC release gate with scripts/hpc_release_validate.sh --public-only." + } + ], + "open_decisions": [ + { + "decision_id": "public_name_transition", + "question": "Should the public project name shift from GeneLab Benchmark to SpaceBio-Bench while preserving the legacy name for v1-v7?", + "recommended_default": "Use SpaceBio-Bench as the forward-looking platform name and GeneLab Benchmark as the historical v1-v7 alias." + }, + { + "decision_id": "hf_repo_split", + "question": "Should v9 public bulk alpha share the existing Hugging Face dataset repo or move to a separate repo?", + "recommended_default": "Keep the existing repo for v7 public folds and create a separate v9 repo when public distribution expands beyond metadata indices." + }, + { + "decision_id": "python_package_identity", + "question": "Should this repository become an installable Python package with public CLI entrypoints?", + "recommended_default": "Add packaging only after the release manifest and validation commands stabilize." + } + ] +} diff --git a/release/release_manifest.schema.json b/release/release_manifest.schema.json new file mode 100644 index 0000000..09a6601 --- /dev/null +++ b/release/release_manifest.schema.json @@ -0,0 +1,237 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://genelab-benchmark.local/release/release_manifest.schema.json", + "title": "SpaceBio-Bench public release manifest", + "type": "object", + "required": [ + "schema_version", + "generated_at", + "project", + "source_control", + "release_lanes", + "artifacts", + "schemas", + "quality_gates", + "open_decisions" + ], + "properties": { + "schema_version": { + "type": "string" + }, + "generated_at": { + "type": "string" + }, + "project": { + "type": "object", + "required": [ + "name", + "legacy_name", + "repository", + "huggingface_dataset" + ], + "properties": { + "name": { + "type": "string" + }, + "legacy_name": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "huggingface_dataset": { + "type": "string" + } + }, + "additionalProperties": true + }, + "source_control": { + "type": "object", + "required": [ + "git_commit_at_manifest_creation", + "working_tree_status" + ], + "properties": { + "git_commit_at_manifest_creation": { + "type": "string" + }, + "working_tree_status": { + "type": "string" + } + }, + "additionalProperties": true + }, + "release_lanes": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": [ + "lane_id", + "public_label", + "status", + "summary", + "canonical_surfaces" + ], + "properties": { + "lane_id": { + "type": "string" + }, + "public_label": { + "type": "string" + }, + "status": { + "enum": [ + "canonical_historical_result_surface", + "incubating_translational_extension", + "metadata_only_public_bulk_alpha", + "diagnostic_or_draft_lane" + ] + }, + "version": { + "type": "string" + }, + "date_released": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "canonical_surfaces": { + "type": "array", + "items": { + "type": "string" + } + }, + "huggingface": { + "type": "object", + "additionalProperties": true + }, + "citation": { + "type": "object", + "additionalProperties": true + } + }, + "additionalProperties": true + } + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "required": [ + "artifact_id", + "lane_id", + "role", + "path", + "kind", + "checksum_status" + ], + "properties": { + "artifact_id": { + "type": "string" + }, + "lane_id": { + "type": "string" + }, + "role": { + "type": "string" + }, + "path": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "checksum_status": { + "enum": [ + "not_recorded", + "recorded", + "external", + "pending" + ] + }, + "sha256": { + "type": "string" + } + }, + "additionalProperties": true + } + }, + "schemas": { + "type": "array", + "items": { + "type": "object", + "required": [ + "schema_id", + "path", + "applies_to" + ], + "properties": { + "schema_id": { + "type": "string" + }, + "path": { + "type": "string" + }, + "applies_to": { + "type": "string" + } + }, + "additionalProperties": true + } + }, + "quality_gates": { + "type": "array", + "items": { + "type": "object", + "required": [ + "gate_id", + "status", + "description" + ], + "properties": { + "gate_id": { + "type": "string" + }, + "status": { + "enum": [ + "planned", + "implemented", + "partial", + "blocked" + ] + }, + "description": { + "type": "string" + } + }, + "additionalProperties": true + } + }, + "open_decisions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "decision_id", + "question", + "recommended_default" + ], + "properties": { + "decision_id": { + "type": "string" + }, + "question": { + "type": "string" + }, + "recommended_default": { + "type": "string" + } + }, + "additionalProperties": true + } + } + }, + "additionalProperties": true +} diff --git a/scripts/generate_hf_visual_assets.py b/scripts/generate_hf_visual_assets.py index ae2dc63..017787d 100644 --- a/scripts/generate_hf_visual_assets.py +++ b/scripts/generate_hf_visual_assets.py @@ -21,18 +21,18 @@ OUT_PATH = OUT_DIR / "hf_benchmark_summary.png" TISSUE_RESULTS = [ - ("Thymus", 0.948, True), - ("Colon", 0.921, True), - ("Lung", 0.901, True), - ("Kidney", 0.829, True), - ("Eye", 0.823, False), - ("Skin", 0.819, False), - ("Gastrocnemius", 0.776, False), - ("Liver", 0.670, False), + ("Thymus", 0.948, "PCA-LR / KEGG", True), + ("Colon", 0.921, "PCA-LR / KEGG", True), + ("Lung", 0.901, "PCA-LR / Gene", True), + ("Kidney", 0.829, "ElasticNet-LR / Hallmark", True), + ("Eye", 0.823, "PCA-LR / Hallmark", False), + ("Skin", 0.819, "PCA-LR / Gene", False), + ("Gastrocnemius", 0.776, "PCA-LR / Gene", False), + ("Liver", 0.670, "PCA-LR / Gene", False), ] METRICS = [ - ("4", "public GO tasks"), + ("4", "public LOMO tasks"), ("15", "fold packages"), ("8", "tissues"), ("600+", "processed samples"), @@ -70,7 +70,7 @@ def draw_metric_cards(ax): transform=ax.transAxes, ha="left", va="center", - fontsize=24, + fontsize=28, fontweight="bold", color="#14202e", ) @@ -81,51 +81,50 @@ def draw_metric_cards(ax): transform=ax.transAxes, ha="left", va="center", - fontsize=10.5, + fontsize=11.5, color="#465465", ) def draw_right_panel(ax): - add_card(ax, (0.635, 0.095), 0.31, 0.49, radius=0.02, fc="#ffffff") + add_card(ax, (0.635, 0.055), 0.31, 0.53, radius=0.02, fc="#ffffff") ax.text( 0.665, 0.535, - "Review-ready package boundary", + "Self-contained fold package", transform=ax.transAxes, - fontsize=15, + fontsize=17.8, fontweight="bold", color="#14202e", ) bullets = [ - ("Direct HF folds", "features, labels, metadata, fold_info, selected_genes"), - ("Leakage guard", "gene selection is recomputed on training missions only"), - ("Held-out validation", "RR-23 thymus AUROC 0.905; RR-7 skin AUROC 0.885"), - ("Viewer disabled", "high-dimensional matrices are accessed via downloads"), - ("Stable A6 path", "fold_OSD-397_test replaces stale fold_TBD_test"), + ("Direct HF folds", "X/y matrices, metadata, fold_info, selected genes"), + ("Mission-held-out split", "held-out mission is excluded from feature selection"), + ("Public task families", "A2 muscle, A4 thymus, A5 skin, A6 eye"), + ("A6 eye holdout", "fold_OSD-397_test is the public third A6 fold"), ] - y = 0.485 + y = 0.475 for title, body in bullets: ax.text( 0.665, y, title, transform=ax.transAxes, - fontsize=11.5, + fontsize=13.8, fontweight="bold", color="#245b73", ) ax.text( 0.665, - y - 0.033, + y - 0.04, body, transform=ax.transAxes, - fontsize=10.2, + fontsize=12.5, color="#465465", wrap=True, ) - y -= 0.078 + y -= 0.105 def draw_figure(): @@ -137,46 +136,47 @@ def draw_figure(): ax.text( 0.055, 0.93, - "GeneLab Spaceflight Transcriptomics Benchmark", + "SpaceBio-Bench", transform=ax.transAxes, - fontsize=25, + fontsize=34, fontweight="bold", color="#101820", ) ax.text( 0.055, 0.89, - "Cross-mission detection of spaceflight transcriptomic signatures from public NASA OSDR mouse RNA-seq.", + "Mission-held-out transcriptomics benchmark for public NASA OSDR mouse RNA-seq.", transform=ax.transAxes, - fontsize=13.5, + fontsize=15.5, color="#465465", ) ax.text( 0.055, 0.842, - "Version: v7.1.2 | Dataset freeze: 2026-03-01 | Maintainer/citation: JangKeun Kim, Weill Cornell Medicine", + "v7.1.2 public fold package | Dataset freeze: 2026-03-01", transform=ax.transAxes, - fontsize=10.8, + fontsize=12.8, color="#687789", ) ax.text( 0.055, 0.812, - "Public fold package: self-contained features, labels, metadata, and provenance", + "Former public name: GeneLab Benchmark | features, labels, metadata, fold_info, selected genes", transform=ax.transAxes, - fontsize=10.8, + fontsize=12.8, color="#687789", ) draw_metric_cards(ax) - add_card(ax, (0.055, 0.095), 0.54, 0.49, radius=0.02, fc="#ffffff") + # Bar chart card. + add_card(ax, (0.055, 0.055), 0.54, 0.53, radius=0.02, fc="#ffffff") ax.text( 0.085, 0.535, "Best AUROC by tissue", transform=ax.transAxes, - fontsize=15, + fontsize=17, fontweight="bold", color="#14202e", ) @@ -185,50 +185,33 @@ def draw_figure(): 0.505, "Best method-feature row by tissue; detailed methods are tabulated below.", transform=ax.transAxes, - fontsize=10.2, + fontsize=11.3, color="#687789", ) - bx = fig.add_axes([0.115, 0.175, 0.405, 0.285]) + bx = fig.add_axes([0.115, 0.125, 0.405, 0.335]) tissues = [row[0] for row in reversed(TISSUE_RESULTS)] aurocs = [row[1] for row in reversed(TISSUE_RESULTS)] - significant = [row[2] for row in reversed(TISSUE_RESULTS)] + significant = [row[3] for row in reversed(TISSUE_RESULTS)] colors = ["#1b7f8a" if sig else "#8ea0b5" for sig in significant] bx.barh(range(len(tissues)), aurocs, color=colors, height=0.62) bx.axvline(0.776, color="#d97b34", linewidth=1.7, linestyle="--") - bx.text(0.781, 7.48, "PCA-LR mean 0.776", color="#a65f24", fontsize=9.5) + bx.text(0.781, 7.48, "PCA-LR mean 0.776", color="#a65f24", fontsize=10.8) bx.set_xlim(0.55, 1.0) bx.set_yticks(range(len(tissues))) - bx.set_yticklabels(tissues, fontsize=10.5) - bx.set_xlabel("AUROC", fontsize=10.5, color="#465465") - bx.tick_params(axis="x", labelsize=9.5, colors="#465465") + bx.set_yticklabels(tissues, fontsize=11.7) + bx.set_xlabel("AUROC", fontsize=11.6, color="#465465") + bx.tick_params(axis="x", labelsize=10.8, colors="#465465") bx.tick_params(axis="y", length=0, colors="#14202e") bx.grid(axis="x", color="#e3e8ef", linewidth=1) bx.set_axisbelow(True) for spine in bx.spines.values(): spine.set_visible(False) for idx, value in enumerate(aurocs): - bx.text(value + 0.008, idx, f"{value:.3f}", va="center", fontsize=9.8, color="#14202e") + bx.text(value + 0.008, idx, f"{value:.3f}", va="center", fontsize=11.2, color="#14202e") draw_right_panel(ax) - ax.text( - 0.055, - 0.055, - "Classical ML remains the strongest baseline in this release; foundation-model and text-LLM snapshots are included as calibration points.", - transform=ax.transAxes, - fontsize=10.8, - color="#465465", - ) - ax.text( - 0.055, - 0.027, - "Source data: NASA Open Science Data Repository (OSDR). Dataset license: CC-BY-4.0.", - transform=ax.transAxes, - fontsize=9.8, - color="#687789", - ) - OUT_DIR.mkdir(parents=True, exist_ok=True) fig.savefig(OUT_PATH, facecolor=fig.get_facecolor(), bbox_inches="tight", pad_inches=0.08) plt.close(fig) diff --git a/scripts/hpc_release_validate.sh b/scripts/hpc_release_validate.sh index 03eb28d..984f442 100644 --- a/scripts/hpc_release_validate.sh +++ b/scripts/hpc_release_validate.sh @@ -11,10 +11,19 @@ if [[ "$PYTHON_BIN" == "python3" && -x "$REPO_ROOT/.hpc-venv/bin/python" ]]; the PYTHON_BIN="$REPO_ROOT/.hpc-venv/bin/python" fi +RUN_V8_SUMMARY=0 +RUN_PUBLIC_ONLY=0 + for arg in "$@"; do case "$arg" in + --v8-summary) + RUN_V8_SUMMARY=1 + ;; + --public-only) + RUN_PUBLIC_ONLY=1 + ;; -h|--help) - echo "Usage: bash scripts/hpc_release_validate.sh" + echo "Usage: bash scripts/hpc_release_validate.sh [--public-only] [--v8-summary]" exit 0 ;; *) @@ -24,21 +33,39 @@ for arg in "$@"; do esac done -echo "[1/3] Python regression tests" +echo "[1/6] Python regression tests" "$PYTHON_BIN" -m unittest discover -s tests -p 'test_review_fixes.py' -echo "[2/3] Whitespace/conflict-marker diff check" +echo "[2/6] Public release manifest and docs validation" +"$PYTHON_BIN" scripts/validate_release_manifest.py +"$PYTHON_BIN" scripts/validate_public_docs_consistency.py +"$PYTHON_BIN" -m unittest \ + tests/test_release_manifest.py \ + tests/test_public_docs_consistency.py \ + tests/test_hf_upload_workflow.py +"$PYTHON_BIN" -m py_compile \ + scripts/upload_to_hf.py \ + scripts/validate_release_manifest.py \ + scripts/validate_public_docs_consistency.py + +if [[ "$RUN_PUBLIC_ONLY" -eq 1 ]]; then + echo "Public release manifest and docs validation OK" + exit 0 +fi + +echo "[3/6] Whitespace/conflict-marker diff check" git diff --check git diff --cached --check -echo "[3/3] Release hygiene check" +echo "[4/6] Release hygiene check" "$PYTHON_BIN" - <<'PY' +import json from pathlib import Path import subprocess import sys repo = Path.cwd() -forbidden = (".claude/", "__pycache__/") +forbidden = (".claude/", "v8/bridge/geo_cache/", "__pycache__/") max_bytes = 50 * 1024 * 1024 tracked = subprocess.check_output(["git", "ls-files"], text=True).splitlines() @@ -52,6 +79,29 @@ for rel in tracked: elif path.stat().st_size > max_bytes: offenders.append(f"{rel} ({path.stat().st_size} bytes)") +prov_dir = repo / "v8" / "provenance" / "runs" +if prov_dir.exists(): + for manifest in sorted(prov_dir.glob("*.json")): + text = manifest.read_text() + rel = manifest.relative_to(repo) + if "TBD_HPC_RUN" in text: + offenders.append(f"{rel} contains TBD_HPC_RUN") + try: + data = json.loads(text) + except json.JSONDecodeError as exc: + offenders.append(f"{rel} is invalid JSON: {exc}") + continue + if data.get("status") == "draft": + offenders.append(f"{rel} remains draft") + if data.get("status") in {"hpc_validated", "release_candidate", "frozen"}: + if not data.get("generated_at"): + offenders.append(f"{rel} missing generated_at") + validation = data.get("validation", {}) + if validation.get("local_tests_run") is not False: + offenders.append(f"{rel} should record local_tests_run=false") + if validation.get("hpc_tests_run") is not True: + offenders.append(f"{rel} missing hpc_tests_run=true") + if offenders: print("Release hygiene failures:") for item in offenders: @@ -59,3 +109,21 @@ if offenders: sys.exit(1) print("Release hygiene OK") PY + +echo "[5/6] v8 provenance and beta metadata validation" +if [[ -f scripts/validate_v8_provenance.py ]]; then + "$PYTHON_BIN" scripts/validate_v8_provenance.py +else + echo "Skipping v8 provenance validation; scripts/validate_v8_provenance.py not present" +fi + +if [[ "$RUN_V8_SUMMARY" -eq 1 ]]; then + if [[ -f v8/RESULTS_SUMMARY.py ]]; then + echo "[6/6] Regenerate v8 summary" + "$PYTHON_BIN" v8/RESULTS_SUMMARY.py + else + echo "[6/6] Skipping v8 summary regeneration; v8/RESULTS_SUMMARY.py not present" + fi +else + echo "[6/6] Skipping v8 summary regeneration; pass --v8-summary to run it" +fi diff --git a/scripts/upload_to_hf.py b/scripts/upload_to_hf.py index 84efa48..7abaa6b 100644 --- a/scripts/upload_to_hf.py +++ b/scripts/upload_to_hf.py @@ -1,35 +1,33 @@ #!/usr/bin/env python3 -""" -upload_to_hf.py — Upload GeneLab benchmark feature matrices to HuggingFace Dataset - -Uploads train_X.csv and test_X.csv for GO tasks to a HuggingFace Dataset repo. -Labels, metadata, and fold structure (train_y.csv, test_y.csv, fold_info.json, etc.) -are kept in the GitHub repo. Feature matrices are hosted on HuggingFace due to size. - -HuggingFace repo: jang1563/genelab-benchmark +"""Upload SpaceBio-Bench / GeneLab Benchmark public fold packages to HF. -Usage: - python scripts/upload_to_hf.py --task A5 --dry-run - python scripts/upload_to_hf.py --task all - python scripts/upload_to_hf.py --task A2 A4 A5 - python scripts/upload_to_hf.py --card-only # Upload dataset card (README.md) only +The script is designed as a release workflow, not only a file copier: -Authentication: - export HF_TOKEN="hf_..." - python scripts/upload_to_hf.py --task A5 +- dry-run upload plans work without `huggingface_hub` installed; +- release manifests are included in the HF package by default; +- optional remote diffs show create/replace actions against the HF repo; +- optional smoke validation downloads small uploaded files and checks SHA-256. """ +from __future__ import annotations + +import argparse +import datetime as dt +import hashlib +import json import os import sys -import argparse +import tempfile +from dataclasses import dataclass from pathlib import Path +from typing import Any + BASE_DIR = Path(__file__).resolve().parent.parent TASKS_DIR = BASE_DIR / "tasks" - HF_REPO_ID = "jang1563/genelab-benchmark" -# GO tasks only (A1/A3 NO-GO excluded from primary benchmark) +# GO tasks only (A1/A3 NO-GO excluded from the primary public fold package). GO_TASKS = [ "A2_gastrocnemius_lomo", "A4_thymus_lomo", @@ -37,83 +35,399 @@ "A6_eye_lomo", ] -UPLOAD_FILES = ["train_X.csv", "test_X.csv"] +FOLD_PACKAGE_FILES = [ + "train_X.csv", + "test_X.csv", + "train_y.csv", + "test_y.csv", + "train_meta.csv", + "test_meta.csv", + "fold_info.json", + "selected_genes.txt", +] +TASK_ROOT_FILES = ["task_info.json"] +STALE_REMOTE_DIRS = [ + "A6_eye_lomo/fold_TBD_test", +] CARD_SRC = BASE_DIR / "docs" / "hf_dataset_card.md" CARD_ASSETS = [ - (BASE_DIR / "docs" / "assets" / "hf_benchmark_summary.png", "assets/hf_benchmark_summary.png"), + BASE_DIR / "docs" / "assets" / "hf_benchmark_summary.png", ] +RELEASE_METADATA_FILES = [ + (BASE_DIR / "release" / "release_manifest.json", "manifest.json"), + ( + BASE_DIR / "release" / "release_manifest.schema.json", + "metadata/release_manifest.schema.json", + ), +] +SMOKE_SMALL_FILENAMES = { + "README.md", + "manifest.json", + "metadata/release_manifest.schema.json", + "task_info.json", + "fold_info.json", + "selected_genes.txt", +} -def upload_card(api, repo_id: str, dry_run: bool = False) -> None: - """Upload docs/hf_dataset_card.md as README.md to the HF dataset repo.""" - if not CARD_SRC.exists(): - print(f" [SKIP] Dataset card not found: {CARD_SRC}") - return - tag = "[DRY-RUN] " if dry_run else "" - print(f" {tag}Upload: README.md (dataset card, {CARD_SRC.stat().st_size // 1024} KB)") - if not dry_run: +@dataclass(frozen=True) +class UploadEntry: + local_path: Path + repo_path: str + kind: str + + @property + def size_bytes(self) -> int: + return self.local_path.stat().st_size + + @property + def sha256(self) -> str: + return sha256_file(self.local_path) + + def as_plan_row(self, remote_files: set[str] | None = None) -> dict[str, Any]: + action = "upload" + if remote_files is not None: + action = "replace" if self.repo_path in remote_files else "create" + return { + "action": action, + "kind": self.kind, + "repo_path": self.repo_path, + "local_path": self.local_path.relative_to(BASE_DIR).as_posix(), + "size_bytes": self.size_bytes, + "sha256": self.sha256, + } + + +def utc_now() -> str: + return dt.datetime.now(dt.timezone.utc).isoformat().replace("+00:00", "Z") + + +def sha256_file(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def size_label(size_bytes: int) -> str: + size_mb = size_bytes / 1e6 + if size_mb >= 1: + return f"{size_mb:.1f} MB" + return f"{size_bytes / 1024:.1f} KB" + + +def resolve_tasks(values: list[str]) -> list[str]: + if "all" in values: + return GO_TASKS.copy() + + tasks: list[str] = [] + seen: set[str] = set() + for value in values: + if value in GO_TASKS: + matched = [value] + else: + matched = [name for name in GO_TASKS if name.startswith(value)] + if not matched: + print(f"[WARN] Unknown task: {value}. Available: {GO_TASKS}") + continue + for task in matched: + if task not in seen: + tasks.append(task) + seen.add(task) + return tasks + + +def collect_task_entries(task_name: str) -> tuple[list[UploadEntry], list[str]]: + task_dir = TASKS_DIR / task_name + warnings: list[str] = [] + entries: list[UploadEntry] = [] + if not task_dir.exists(): + warnings.append(f"{task_name}: directory not found") + return entries, warnings + + for filename in TASK_ROOT_FILES: + path = task_dir / filename + if path.exists(): + entries.append(UploadEntry(path, f"{task_name}/{filename}", "task_file")) + else: + warnings.append(f"{path.relative_to(BASE_DIR)}: not found") + + for fold_dir in sorted(task_dir.glob("fold_*")): + for filename in FOLD_PACKAGE_FILES: + path = fold_dir / filename + if path.exists(): + entries.append( + UploadEntry( + path, + f"{task_name}/{fold_dir.name}/{filename}", + "task_file", + ) + ) + else: + warnings.append(f"{path.relative_to(BASE_DIR)}: not found") + + return entries, warnings + + +def collect_card_entries() -> tuple[list[UploadEntry], list[str]]: + entries: list[UploadEntry] = [] + warnings: list[str] = [] + if CARD_SRC.exists(): + entries.append(UploadEntry(CARD_SRC, "README.md", "dataset_card")) + else: + warnings.append(f"{CARD_SRC.relative_to(BASE_DIR)}: not found") + + for asset in CARD_ASSETS: + if asset.exists(): + entries.append( + UploadEntry(asset, f"assets/{asset.name}", "dataset_card_asset") + ) + else: + warnings.append(f"{asset.relative_to(BASE_DIR)}: not found") + return entries, warnings + + +def collect_release_metadata_entries() -> tuple[list[UploadEntry], list[str]]: + entries: list[UploadEntry] = [] + warnings: list[str] = [] + for local_path, repo_path in RELEASE_METADATA_FILES: + if local_path.exists(): + entries.append(UploadEntry(local_path, repo_path, "release_metadata")) + else: + warnings.append(f"{local_path.relative_to(BASE_DIR)}: not found") + return entries, warnings + + +def collect_upload_entries( + tasks: list[str], + include_card: bool, + include_release_metadata: bool, +) -> tuple[list[UploadEntry], list[str]]: + entries: list[UploadEntry] = [] + warnings: list[str] = [] + + for task in tasks: + task_entries, task_warnings = collect_task_entries(task) + entries.extend(task_entries) + warnings.extend(task_warnings) + + if include_card: + card_entries, card_warnings = collect_card_entries() + entries.extend(card_entries) + warnings.extend(card_warnings) + + if include_release_metadata: + metadata_entries, metadata_warnings = collect_release_metadata_entries() + entries.extend(metadata_entries) + warnings.extend(metadata_warnings) + + return entries, warnings + + +def import_hf_api(): + try: + from huggingface_hub import HfApi + except ImportError: + print("[ERROR] huggingface_hub not installed.") + print(" Install: pip install huggingface_hub") + sys.exit(1) + return HfApi + + +def get_token(required: bool) -> str | None: + token = os.environ.get("HF_TOKEN") + if not token: + try: + from huggingface_hub import get_token as hf_get_token + + token = hf_get_token() + except Exception: + token = None + if required and not token: + print("[ERROR] No Hugging Face token found.") + print(" Option 1: export HF_TOKEN='hf_...'") + print(" Option 2: huggingface-cli login") + sys.exit(1) + return token + + +def list_remote_files(repo_id: str, token: str | None) -> set[str]: + HfApi = import_hf_api() + api = HfApi(token=token) + try: + return set(api.list_repo_files(repo_id=repo_id, repo_type="dataset")) + except Exception as exc: + print(f"[ERROR] Failed to list HF repo files for {repo_id}: {exc}") + sys.exit(1) + + +def print_plan( + entries: list[UploadEntry], + repo_id: str, + stale_remote_dirs: list[str], + remote_files: set[str] | None, + dry_run: bool, +) -> None: + mode = "DRY-RUN" if dry_run else "UPLOAD" + total_size = sum(entry.size_bytes for entry in entries) + print(f"=== {mode} PLAN → {repo_id} ===") + print(f"Files: {len(entries)} | Total local size: {size_label(total_size)}") + if stale_remote_dirs: + print(f"Stale remote dirs to prune: {len(stale_remote_dirs)}") + print() + + by_kind: dict[str, int] = {} + for entry in entries: + by_kind[entry.kind] = by_kind.get(entry.kind, 0) + 1 + for kind, count in sorted(by_kind.items()): + print(f" {kind}: {count}") + print() + + for entry in entries: + row = entry.as_plan_row(remote_files=remote_files) + print( + f" [{row['action']}] {entry.repo_path} " + f"({entry.kind}, {size_label(entry.size_bytes)}, sha256={entry.sha256[:12]}...)" + ) + for remote_dir in stale_remote_dirs: + print(f" [delete] {remote_dir}/") + + +def write_upload_plan( + path: Path, + repo_id: str, + entries: list[UploadEntry], + stale_remote_dirs: list[str], + remote_files: set[str] | None, +) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + payload = { + "generated_at": utc_now(), + "repo_id": repo_id, + "repo_type": "dataset", + "files": [entry.as_plan_row(remote_files=remote_files) for entry in entries], + "stale_remote_dirs": stale_remote_dirs, + } + path.write_text(json.dumps(payload, indent=2, sort_keys=True) + "\n") + print(f"\nWrote upload plan: {path}") + + +def upload_task_folder(api: Any, task_name: str, repo_id: str) -> int: + task_entries, _ = collect_task_entries(task_name) + if not task_entries: + print(f" [SKIP] {task_name}: no package files found") + return 0 + + allow_patterns = TASK_ROOT_FILES + [f"fold_*/{name}" for name in FOLD_PACKAGE_FILES] + api.upload_folder( + folder_path=str(TASKS_DIR / task_name), + path_in_repo=task_name, + repo_id=repo_id, + repo_type="dataset", + allow_patterns=allow_patterns, + commit_message=f"Upload {task_name} self-contained fold package", + ) + return len(task_entries) + + +def upload_file_entries(api: Any, entries: list[UploadEntry], repo_id: str) -> int: + uploaded = 0 + for entry in entries: api.upload_file( - path_or_fileobj=str(CARD_SRC), - path_in_repo="README.md", + path_or_fileobj=str(entry.local_path), + path_in_repo=entry.repo_path, repo_id=repo_id, repo_type="dataset", + commit_message=f"Upload {entry.repo_path}", ) + uploaded += 1 + print(f" Uploaded: {entry.repo_path}") + return uploaded -def upload_card_assets(api, repo_id: str, dry_run: bool = False) -> int: - """Upload static assets referenced by the Hugging Face dataset card.""" - n_uploaded = 0 - for src, hf_path in CARD_ASSETS: - if not src.exists(): - print(f" [SKIP] Card asset not found: {src}") - continue - size_kb = src.stat().st_size // 1024 - tag = "[DRY-RUN] " if dry_run else "" - print(f" {tag}Upload: {hf_path} (card asset, {size_kb} KB)") - if not dry_run: - api.upload_file( - path_or_fileobj=str(src), - path_in_repo=hf_path, +def prune_stale_remote_dirs(api: Any, repo_id: str, stale_remote_dirs: list[str]) -> None: + for remote_dir in stale_remote_dirs: + print(f" Delete stale remote folder: {remote_dir}/") + try: + api.delete_folder( + path_in_repo=remote_dir, repo_id=repo_id, repo_type="dataset", + commit_message=f"Remove stale {remote_dir}", ) - n_uploaded += 1 - return n_uploaded + except Exception as exc: + print(f" [WARN] Could not delete {remote_dir}/; it may already be absent: {exc}") -def upload_task(api, repo_id: str, task_name: str, dry_run: bool = False) -> int: - """Upload all fold feature matrices for one task. Returns file count.""" - task_dir = TASKS_DIR / task_name - if not task_dir.exists(): - print(f" [SKIP] {task_name}: directory not found") - return 0 +def choose_smoke_entries(entries: list[UploadEntry], limit: int) -> list[UploadEntry]: + candidates = [ + entry + for entry in entries + if entry.size_bytes <= 1_000_000 + and ( + entry.repo_path in SMOKE_SMALL_FILENAMES + or Path(entry.repo_path).name in SMOKE_SMALL_FILENAMES + or entry.kind in {"dataset_card", "dataset_card_asset", "release_metadata"} + ) + ] + priority = { + "release_metadata": 0, + "dataset_card": 1, + "dataset_card_asset": 2, + "task_file": 3, + } + candidates.sort(key=lambda entry: (priority.get(entry.kind, 9), entry.repo_path)) + return candidates[:limit] - n_uploaded = 0 - for fold_dir in sorted(task_dir.glob("fold_*")): - for fname in UPLOAD_FILES: - fpath = fold_dir / fname - if not fpath.exists(): - print(f" [SKIP] {fpath.relative_to(BASE_DIR)}: not found (gitignored?)") - continue - size_mb = fpath.stat().st_size / 1e6 - hf_path = f"{task_name}/{fold_dir.name}/{fname}" - tag = "[DRY-RUN] " if dry_run else "" - print(f" {tag}Upload: {hf_path} ({size_mb:.0f} MB)") - if not dry_run: - api.upload_file( - path_or_fileobj=str(fpath), - path_in_repo=hf_path, + +def validate_remote_files( + repo_id: str, + token: str | None, + entries: list[UploadEntry], + limit: int, +) -> None: + try: + from huggingface_hub import hf_hub_download + except ImportError: + print("[ERROR] huggingface_hub not installed.") + print(" Install: pip install huggingface_hub") + sys.exit(1) + + smoke_entries = choose_smoke_entries(entries, limit=limit) + if not smoke_entries: + print("[WARN] No small files selected for remote smoke validation.") + return + + print(f"\nRemote smoke validation → {repo_id}") + print("-" * 50) + with tempfile.TemporaryDirectory(prefix="spacebiobench_hf_smoke_") as tmpdir: + for entry in smoke_entries: + downloaded = Path( + hf_hub_download( repo_id=repo_id, + filename=entry.repo_path, repo_type="dataset", + token=token, + local_dir=tmpdir, + force_download=True, ) - n_uploaded += 1 - - return n_uploaded + ) + actual = sha256_file(downloaded) + expected = entry.sha256 + if actual != expected: + print( + f"[FAIL] {entry.repo_path}: sha256 mismatch " + f"expected {expected}, got {actual}", + file=sys.stderr, + ) + sys.exit(1) + print(f" [OK] {entry.repo_path} ({size_label(entry.size_bytes)})") -def main(): +def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser( - description="Upload GeneLab benchmark feature matrices to HuggingFace Dataset" + description="Upload SpaceBio-Bench public fold packages to Hugging Face" ) parser.add_argument( "--task", @@ -127,117 +441,168 @@ def main(): parser.add_argument( "--dry-run", action="store_true", - help="Print files that would be uploaded without actually uploading", + help="Print the upload plan without changing the remote repo", + ) + parser.add_argument( + "--remote-diff", + action="store_true", + help="List remote files and label planned uploads as create/replace", + ) + parser.add_argument( + "--write-upload-plan", + type=Path, + help="Write a JSON upload plan with paths, sizes, and SHA-256 digests", ) parser.add_argument( "--repo", default=HF_REPO_ID, - help=f"HuggingFace dataset repo ID (default: {HF_REPO_ID})", + help=f"Hugging Face dataset repo ID (default: {HF_REPO_ID})", + ) + parser.add_argument( + "--private", + action="store_true", + help="Create the HF dataset repo as private if it does not already exist", ) parser.add_argument( "--card-only", action="store_true", - help="Upload only the dataset card (README.md) to HuggingFace, skip feature matrices", + help="Upload only the dataset card and card assets", + ) + parser.add_argument( + "--manifest-only", + action="store_true", + help="Upload only release manifest metadata files", ) parser.add_argument( "--skip-card", action="store_true", - help="Skip dataset card upload (default: card is uploaded with --task all)", + help="Skip dataset card upload during a full package upload", + ) + parser.add_argument( + "--skip-manifest", + action="store_true", + help="Skip release manifest metadata during a full package upload", + ) + parser.add_argument( + "--skip-prune", + action="store_true", + help="Skip deletion of known stale remote folders such as A6 fold_TBD_test", ) - args = parser.parse_args() - repo_id = args.repo + parser.add_argument( + "--validate-remote", + action="store_true", + help=( + "Download small planned files from HF and compare SHA-256; intended " + "for post-upload or already-synced remote checks" + ), + ) + parser.add_argument( + "--smoke-limit", + type=int, + default=12, + help="Maximum number of files to download during --validate-remote", + ) + args = parser.parse_args(argv) - if args.dry_run: - print("=== DRY-RUN MODE (no files will be uploaded) ===\n") + if args.card_only and args.manifest_only: + print( + "[ERROR] --card-only and --manifest-only are mutually exclusive.", + file=sys.stderr, + ) + return 1 - # Card-only mode: upload README.md and exit - if args.card_only: - try: - from huggingface_hub import HfApi - except ImportError: - print("[ERROR] huggingface_hub not installed. Install: pip install huggingface_hub") - sys.exit(1) - token = os.environ.get("HF_TOKEN") - if not token and not args.dry_run: - try: - from huggingface_hub import get_token - token = get_token() - except Exception: - pass - if not token and not args.dry_run: - print("[ERROR] No HuggingFace token found. export HF_TOKEN='hf_...' or huggingface-cli login") - sys.exit(1) - api = HfApi(token=token) if not args.dry_run else None - print(f"\nUploading dataset card -> {repo_id}") - print("-" * 50) - upload_card(api, repo_id, dry_run=args.dry_run) - upload_card_assets(api, repo_id, dry_run=args.dry_run) - return + tasks = [] if args.card_only or args.manifest_only else resolve_tasks(args.task) + if not tasks and not args.card_only and not args.manifest_only: + print("No valid tasks specified. Exiting.") + return 1 - # Resolve task list - if "all" in args.task: - tasks = GO_TASKS - else: - # Allow short names like "A5" as well as full names - tasks = [] - for t in args.task: - if t in GO_TASKS: - tasks.append(t) - else: - # Try prefix match - matched = [name for name in GO_TASKS if name.startswith(t)] - if matched: - tasks.extend(matched) - else: - print(f"[WARN] Unknown task: {t}. Available: {GO_TASKS}") - if not tasks: - print("No valid tasks specified. Exiting.") - sys.exit(1) - - # HuggingFace API (lazy import so script is usable without huggingface_hub installed) - try: - from huggingface_hub import HfApi - except ImportError: - print("[ERROR] huggingface_hub not installed.") - print(" Install: pip install huggingface_hub") - sys.exit(1) + include_card = args.card_only or (not args.manifest_only and not args.skip_card) + include_release_metadata = args.manifest_only or ( + not args.card_only and not args.skip_manifest + ) + stale_remote_dirs = ( + [] + if args.skip_prune or args.card_only or args.manifest_only + else STALE_REMOTE_DIRS + ) - token = os.environ.get("HF_TOKEN") - if not token and not args.dry_run: - # Fall back to huggingface-cli cached login - try: - from huggingface_hub import get_token - token = get_token() - except Exception: - pass - if not token and not args.dry_run: - print("[ERROR] No HuggingFace token found.") - print(" Option 1: export HF_TOKEN='hf_...'") - print(" Option 2: huggingface-cli login") - sys.exit(1) + entries, warnings = collect_upload_entries( + tasks=tasks, + include_card=include_card, + include_release_metadata=include_release_metadata, + ) + for warning in warnings: + print(f"[WARN] {warning}") + if not entries: + print("No files selected. Exiting.") + return 1 + + token = None + remote_files = None + if args.remote_diff: + token = get_token(required=False) + remote_files = list_remote_files(args.repo, token=token) + + print_plan( + entries=entries, + repo_id=args.repo, + stale_remote_dirs=stale_remote_dirs, + remote_files=remote_files, + dry_run=args.dry_run, + ) + + if args.write_upload_plan: + write_upload_plan( + path=args.write_upload_plan, + repo_id=args.repo, + entries=entries, + stale_remote_dirs=stale_remote_dirs, + remote_files=remote_files, + ) - api = HfApi(token=token) if not args.dry_run else None - # Ensure repo exists (create if needed) if not args.dry_run: - api.create_repo(repo_id=repo_id, repo_type="dataset", private=True, exist_ok=True) + HfApi = import_hf_api() + token = token or get_token(required=True) + api = HfApi(token=token) + api.create_repo( + repo_id=args.repo, + repo_type="dataset", + private=args.private, + exist_ok=True, + ) - total = 0 - for task in tasks: - print(f"\nUploading {task} -> {repo_id}") - print("-" * 50) - n = upload_task(api, repo_id, task, dry_run=args.dry_run) - total += n - print(f" -> {n} files") + if stale_remote_dirs: + print(f"\nPruning stale remote paths → {args.repo}") + print("-" * 50) + prune_stale_remote_dirs(api, args.repo, stale_remote_dirs=stale_remote_dirs) - # Upload dataset card with full uploads (unless skipped) - if not args.skip_card: - print(f"\nUploading dataset card -> {repo_id}") - print("-" * 50) - upload_card(api, repo_id, dry_run=args.dry_run) - upload_card_assets(api, repo_id, dry_run=args.dry_run) + total_task_files = 0 + for task in tasks: + print(f"\nUploading {task} → {args.repo}") + print("-" * 50) + count = upload_task_folder(api, task, args.repo) + total_task_files += count + print(f" → {count} task files") + + non_task_entries = [entry for entry in entries if entry.kind != "task_file"] + if non_task_entries: + print(f"\nUploading metadata/card files → {args.repo}") + print("-" * 50) + upload_file_entries(api, non_task_entries, args.repo) + + print(f"\nUploaded {len(entries)} planned files ({total_task_files} task files).") + + if args.validate_remote: + token = token or get_token(required=False) + validate_remote_files( + repo_id=args.repo, + token=token, + entries=entries, + limit=args.smoke_limit, + ) - print(f"\nTotal: {total} feature files {'(dry-run)' if args.dry_run else 'uploaded'}.") + return 0 if __name__ == "__main__": - main() + raise SystemExit(main()) diff --git a/scripts/validate_public_docs_consistency.py b/scripts/validate_public_docs_consistency.py new file mode 100644 index 0000000..a1a3bcc --- /dev/null +++ b/scripts/validate_public_docs_consistency.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +"""Validate public README, Hugging Face card, and citation consistency.""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path +from typing import Any + + +REPO_ROOT = Path(__file__).resolve().parents[1] +README = REPO_ROOT / "README.md" +HF_CARD = REPO_ROOT / "docs" / "hf_dataset_card.md" +CITATION = REPO_ROOT / "CITATION.cff" +RELEASE_MANIFEST = REPO_ROOT / "release" / "release_manifest.json" + + +def load_json(path: Path) -> Any: + return json.loads(path.read_text()) + + +def parse_cff_scalar(text: str, key: str) -> str | None: + pattern = re.compile(rf"^{re.escape(key)}:\s*\"?([^\"\n]+)\"?\s*$", re.MULTILINE) + match = pattern.search(text) + return match.group(1).strip() if match else None + + +def parse_front_matter(text: str) -> dict[str, str]: + if not text.startswith("---\n"): + return {} + end = text.find("\n---\n", 4) + if end == -1: + return {} + values: dict[str, str] = {} + for line in text[4:end].splitlines(): + if not line or line.startswith(" ") or line.lstrip().startswith("-"): + continue + if ":" not in line: + continue + key, value = line.split(":", 1) + values[key.strip()] = value.strip().strip('"') + return values + + +def require_contains(errors: list[str], label: str, text: str, expected: str) -> None: + if expected not in text: + errors.append(f"{label}: missing expected text {expected!r}") + + +def require_absent(errors: list[str], label: str, text: str, forbidden: str) -> None: + if forbidden in text: + errors.append(f"{label}: stale or forbidden text present {forbidden!r}") + + +def validate_public_docs() -> list[str]: + errors: list[str] = [] + manifest = load_json(RELEASE_MANIFEST) + readme = README.read_text() + hf_card = HF_CARD.read_text() + citation = CITATION.read_text() + hf_front_matter = parse_front_matter(hf_card) + + lanes = {lane["lane_id"]: lane for lane in manifest["release_lanes"]} + v7 = lanes.get("v7.1", {}) + v9 = lanes.get("v9_public_bulk", {}) + + citation_version = v7.get("citation", {}).get("citation_version") + if citation_version: + actual_version = parse_cff_scalar(citation, "version") + if actual_version != citation_version: + errors.append( + f"CITATION.cff: version {actual_version!r} does not match " + f"release manifest citation_version {citation_version!r}" + ) + + require_contains(errors, "README.md", readme, "# SpaceBio-Bench") + require_contains(errors, "README.md", readme, "Former public name: **GeneLab Benchmark**") + require_contains(errors, "README.md", readme, "v7.1 GeneLab Benchmark") + require_contains(errors, "README.md", readme, "release/release_manifest.json") + require_contains(errors, "README.md", readme, "https://huggingface.co/datasets/jang1563/genelab-benchmark") + require_absent(errors, "README.md", readme, "Version: v7.0 (2026-04-12)") + require_absent(errors, "README.md", readme, "Status: **v1–v7 Complete**") + + expected_pretty_name = "SpaceBio-Bench / GeneLab Benchmark v7.1.2 Public Fold Package" + if hf_front_matter.get("pretty_name") != expected_pretty_name: + errors.append( + "docs/hf_dataset_card.md: pretty_name does not match expected " + f"{expected_pretty_name!r}" + ) + if hf_front_matter.get("license") != "cc-by-4.0": + errors.append("docs/hf_dataset_card.md: expected license cc-by-4.0") + if hf_front_matter.get("viewer") != "false": + errors.append("docs/hf_dataset_card.md: expected viewer: false") + + require_contains(errors, "README.md", readme, "v7.1.2 public-card/metadata/evidence-visibility") + require_contains(errors, "docs/hf_dataset_card.md", hf_card, "Public status: **v7.1.2 public-card/metadata/evidence-visibility patch") + require_contains(errors, "docs/hf_dataset_card.md", hf_card, "Dataset freeze: **2026-03-01**") + require_contains(errors, "docs/hf_dataset_card.md", hf_card, "repo_id = \"jang1563/genelab-benchmark\"") + require_contains(errors, "docs/hf_dataset_card.md", hf_card, "docs/v9_hf_dataset_card.md") + + if v7.get("public_label"): + require_contains(errors, "README.md", readme.lower(), v7["public_label"].lower()) + require_contains(errors, "docs/hf_dataset_card.md", hf_card.lower(), v7["public_label"].lower()) + if v9.get("public_label"): + require_contains(errors, "README.md", readme.lower(), v9["public_label"].lower()) + require_contains(errors, "docs/hf_dataset_card.md", hf_card.lower(), v9["public_label"].lower()) + + return errors + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + description="Validate public README, HF card, and citation consistency" + ) + parser.parse_args(argv) + + errors = validate_public_docs() + if errors: + print(f"[FAIL] public docs consistency: {len(errors)} issue(s)", file=sys.stderr) + for error in errors: + print(f" - {error}", file=sys.stderr) + return 1 + + print("[OK] public docs consistency") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/validate_release_manifest.py b/scripts/validate_release_manifest.py new file mode 100644 index 0000000..78f2fd4 --- /dev/null +++ b/scripts/validate_release_manifest.py @@ -0,0 +1,256 @@ +#!/usr/bin/env python3 +"""Validate the public release manifest. + +This checker intentionally uses only the Python standard library so it can run +inside lightweight release gates and clean checkouts. +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from pathlib import Path +from typing import Any + + +REPO_ROOT = Path(__file__).resolve().parents[1] +DEFAULT_MANIFEST = REPO_ROOT / "release" / "release_manifest.json" +HEX40 = re.compile(r"^[0-9a-f]{40}$") +HEX64 = re.compile(r"^[0-9a-f]{64}$") +LANE_STATUSES = { + "canonical_historical_result_surface", + "incubating_translational_extension", + "metadata_only_public_bulk_alpha", + "diagnostic_or_draft_lane", +} +CHECKSUM_STATUSES = {"not_recorded", "recorded", "external", "pending"} +GATE_STATUSES = {"planned", "implemented", "partial", "blocked"} + + +def load_json(path: Path) -> Any: + try: + return json.loads(path.read_text()) + except json.JSONDecodeError as exc: + raise ValueError(f"invalid JSON: {exc}") from exc + + +def repo_path(value: str) -> Path | None: + if not value or value.startswith(("http://", "https://")): + return None + if "*" in value: + return None + return REPO_ROOT / value + + +def require_mapping(errors: list[str], where: str, value: Any) -> bool: + if not isinstance(value, dict): + errors.append(f"{where}: expected object, got {type(value).__name__}") + return False + return True + + +def require_list(errors: list[str], where: str, value: Any) -> bool: + if not isinstance(value, list): + errors.append(f"{where}: expected array, got {type(value).__name__}") + return False + return True + + +def require_fields( + errors: list[str], + where: str, + mapping: dict[str, Any], + fields: tuple[str, ...], +) -> None: + for field in fields: + if field not in mapping: + errors.append(f"{where}: missing required key {field}") + + +def check_existing_path(errors: list[str], where: str, value: Any) -> None: + if not isinstance(value, str): + errors.append(f"{where}: expected string path") + return + path = repo_path(value) + if path is None: + return + if not path.exists(): + errors.append(f"{where}: path does not exist: {value}") + + +def validate_release_manifest(data: Any) -> list[str]: + errors: list[str] = [] + if not require_mapping(errors, "manifest", data): + return errors + + require_fields( + errors, + "manifest", + data, + ( + "schema_version", + "generated_at", + "project", + "source_control", + "release_lanes", + "artifacts", + "schemas", + "quality_gates", + "open_decisions", + ), + ) + + if data.get("schema_version") != "0.1.0": + errors.append("manifest.schema_version: expected 0.1.0") + + project = data.get("project") + if require_mapping(errors, "project", project): + require_fields( + errors, + "project", + project, + ("name", "legacy_name", "repository", "huggingface_dataset"), + ) + repository = project.get("repository") + if not isinstance(repository, str) or not repository.startswith("https://github.com/"): + errors.append("project.repository: expected GitHub URL") + hf_dataset = project.get("huggingface_dataset") + if not isinstance(hf_dataset, str) or "huggingface.co/datasets/" not in hf_dataset: + errors.append("project.huggingface_dataset: expected Hugging Face dataset URL") + + source_control = data.get("source_control") + if require_mapping(errors, "source_control", source_control): + commit = source_control.get("git_commit_at_manifest_creation") + if not isinstance(commit, str) or not HEX40.match(commit): + errors.append("source_control.git_commit_at_manifest_creation: expected 40-char git SHA") + + lanes = data.get("release_lanes") + lane_ids: set[str] = set() + if require_list(errors, "release_lanes", lanes): + for index, lane in enumerate(lanes): + where = f"release_lanes[{index}]" + if not require_mapping(errors, where, lane): + continue + require_fields( + errors, + where, + lane, + ("lane_id", "public_label", "status", "summary", "canonical_surfaces"), + ) + lane_id = lane.get("lane_id") + if not isinstance(lane_id, str) or not lane_id: + errors.append(f"{where}.lane_id: expected non-empty string") + elif lane_id in lane_ids: + errors.append(f"{where}.lane_id: duplicate lane id {lane_id}") + else: + lane_ids.add(lane_id) + if lane.get("status") not in LANE_STATUSES: + errors.append(f"{where}.status: unsupported status {lane.get('status')!r}") + surfaces = lane.get("canonical_surfaces") + if require_list(errors, f"{where}.canonical_surfaces", surfaces): + for surface_index, surface in enumerate(surfaces): + check_existing_path( + errors, + f"{where}.canonical_surfaces[{surface_index}]", + surface, + ) + + artifacts = data.get("artifacts") + artifact_ids: set[str] = set() + if require_list(errors, "artifacts", artifacts): + for index, artifact in enumerate(artifacts): + where = f"artifacts[{index}]" + if not require_mapping(errors, where, artifact): + continue + require_fields( + errors, + where, + artifact, + ("artifact_id", "lane_id", "role", "path", "kind", "checksum_status"), + ) + artifact_id = artifact.get("artifact_id") + if not isinstance(artifact_id, str) or not artifact_id: + errors.append(f"{where}.artifact_id: expected non-empty string") + elif artifact_id in artifact_ids: + errors.append(f"{where}.artifact_id: duplicate artifact id {artifact_id}") + else: + artifact_ids.add(artifact_id) + lane_id = artifact.get("lane_id") + if isinstance(lane_id, str) and lane_ids and lane_id not in lane_ids: + errors.append(f"{where}.lane_id: unknown lane id {lane_id}") + if artifact.get("checksum_status") not in CHECKSUM_STATUSES: + errors.append( + f"{where}.checksum_status: unsupported value " + f"{artifact.get('checksum_status')!r}" + ) + check_existing_path(errors, f"{where}.path", artifact.get("path")) + sha256 = artifact.get("sha256") + if sha256 is not None and (not isinstance(sha256, str) or not HEX64.match(sha256)): + errors.append(f"{where}.sha256: expected 64-char hex digest") + + schemas = data.get("schemas") + if require_list(errors, "schemas", schemas): + for index, schema in enumerate(schemas): + where = f"schemas[{index}]" + if not require_mapping(errors, where, schema): + continue + require_fields(errors, where, schema, ("schema_id", "path", "applies_to")) + check_existing_path(errors, f"{where}.path", schema.get("path")) + + gates = data.get("quality_gates") + if require_list(errors, "quality_gates", gates): + for index, gate in enumerate(gates): + where = f"quality_gates[{index}]" + if not require_mapping(errors, where, gate): + continue + require_fields(errors, where, gate, ("gate_id", "status", "description")) + if gate.get("status") not in GATE_STATUSES: + errors.append(f"{where}.status: unsupported value {gate.get('status')!r}") + + decisions = data.get("open_decisions") + if require_list(errors, "open_decisions", decisions): + for index, decision in enumerate(decisions): + where = f"open_decisions[{index}]" + if not require_mapping(errors, where, decision): + continue + require_fields( + errors, + where, + decision, + ("decision_id", "question", "recommended_default"), + ) + + return errors + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description="Validate release/release_manifest.json") + parser.add_argument( + "--manifest", + type=Path, + default=DEFAULT_MANIFEST, + help=f"Release manifest path (default: {DEFAULT_MANIFEST.relative_to(REPO_ROOT)})", + ) + args = parser.parse_args(argv) + + try: + data = load_json(args.manifest) + except ValueError as exc: + print(f"[FAIL] {args.manifest}: {exc}", file=sys.stderr) + return 1 + + errors = validate_release_manifest(data) + if errors: + print(f"[FAIL] {args.manifest}: {len(errors)} issue(s)", file=sys.stderr) + for error in errors: + print(f" - {error}", file=sys.stderr) + return 1 + + print(f"[OK] {args.manifest}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/test_hf_upload_workflow.py b/tests/test_hf_upload_workflow.py new file mode 100644 index 0000000..b6ba590 --- /dev/null +++ b/tests/test_hf_upload_workflow.py @@ -0,0 +1,70 @@ +import json +import subprocess +import sys +import tempfile +import unittest +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] +UPLOAD_SCRIPT = REPO_ROOT / "scripts" / "upload_to_hf.py" + + +class HuggingFaceUploadWorkflowTests(unittest.TestCase): + def run_upload_plan(self, *args: str) -> tuple[subprocess.CompletedProcess[str], dict]: + with tempfile.TemporaryDirectory() as tmpdir: + plan_path = Path(tmpdir) / "upload_plan.json" + proc = subprocess.run( + [ + sys.executable, + str(UPLOAD_SCRIPT), + *args, + "--dry-run", + "--write-upload-plan", + str(plan_path), + ], + cwd=REPO_ROOT, + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=False, + ) + payload = json.loads(plan_path.read_text()) if plan_path.exists() else {} + return proc, payload + + def test_card_only_dry_run_plan_has_card_files(self): + proc, payload = self.run_upload_plan("--card-only") + + self.assertEqual(proc.returncode, 0, proc.stderr) + repo_paths = {row["repo_path"] for row in payload["files"]} + self.assertIn("README.md", repo_paths) + self.assertIn("assets/hf_benchmark_summary.png", repo_paths) + self.assertNotIn("manifest.json", repo_paths) + + def test_manifest_only_dry_run_plan_has_release_metadata(self): + proc, payload = self.run_upload_plan("--manifest-only") + + self.assertEqual(proc.returncode, 0, proc.stderr) + repo_paths = {row["repo_path"] for row in payload["files"]} + self.assertEqual( + repo_paths, + {"manifest.json", "metadata/release_manifest.schema.json"}, + ) + + def test_task_dry_run_plan_includes_task_card_and_manifest(self): + proc, payload = self.run_upload_plan("--task", "A5", "--skip-prune") + + self.assertEqual(proc.returncode, 0, proc.stderr) + repo_paths = {row["repo_path"] for row in payload["files"]} + self.assertIn("A5_skin_lomo/task_info.json", repo_paths) + self.assertIn("A5_skin_lomo/fold_RR-7_test/fold_info.json", repo_paths) + self.assertIn("README.md", repo_paths) + self.assertIn("manifest.json", repo_paths) + + first = payload["files"][0] + self.assertIn("sha256", first) + self.assertIn("size_bytes", first) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_public_docs_consistency.py b/tests/test_public_docs_consistency.py new file mode 100644 index 0000000..6d34d36 --- /dev/null +++ b/tests/test_public_docs_consistency.py @@ -0,0 +1,29 @@ +import subprocess +import sys +import unittest +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] + + +class PublicDocsConsistencyTests(unittest.TestCase): + def test_public_docs_consistency_script_passes(self): + proc = subprocess.run( + [ + sys.executable, + str(REPO_ROOT / "scripts" / "validate_public_docs_consistency.py"), + ], + cwd=REPO_ROOT, + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=False, + ) + + self.assertEqual(proc.returncode, 0, proc.stderr) + self.assertIn("[OK]", proc.stdout) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_release_manifest.py b/tests/test_release_manifest.py new file mode 100644 index 0000000..7a15d18 --- /dev/null +++ b/tests/test_release_manifest.py @@ -0,0 +1,56 @@ +import json +import subprocess +import sys +import unittest +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] + + +class ReleaseManifestTests(unittest.TestCase): + def test_release_manifest_validator_passes_current_manifest(self): + proc = subprocess.run( + [ + sys.executable, + str(REPO_ROOT / "scripts" / "validate_release_manifest.py"), + "--manifest", + str(REPO_ROOT / "release" / "release_manifest.json"), + ], + cwd=REPO_ROOT, + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=False, + ) + + self.assertEqual(proc.returncode, 0, proc.stderr) + self.assertIn("[OK]", proc.stdout) + + def test_release_manifest_declares_public_release_lanes(self): + manifest = json.loads((REPO_ROOT / "release" / "release_manifest.json").read_text()) + lanes = {lane["lane_id"]: lane for lane in manifest["release_lanes"]} + + self.assertEqual( + lanes["v7.1"]["status"], + "canonical_historical_result_surface", + ) + self.assertEqual( + lanes["v9_public_bulk"]["status"], + "metadata_only_public_bulk_alpha", + ) + self.assertIn("docs/hf_dataset_card.md", lanes["v7.1"]["canonical_surfaces"]) + self.assertIn("docs/v9_hf_dataset_card.md", lanes["v9_public_bulk"]["canonical_surfaces"]) + + def test_release_manifest_artifacts_reference_known_lanes(self): + manifest = json.loads((REPO_ROOT / "release" / "release_manifest.json").read_text()) + lane_ids = {lane["lane_id"] for lane in manifest["release_lanes"]} + + for artifact in manifest["artifacts"]: + self.assertIn(artifact["lane_id"], lane_ids) + artifact_path = REPO_ROOT / artifact["path"] + self.assertTrue(artifact_path.exists(), artifact["path"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_review_fixes.py b/tests/test_review_fixes.py index cec7904..19bcb5b 100644 --- a/tests/test_review_fixes.py +++ b/tests/test_review_fixes.py @@ -14,6 +14,14 @@ class ReviewFixTests(unittest.TestCase): def read_repo_text(self, relative_path: str) -> str: return (REPO_ROOT / relative_path).read_text() + def skip_unless_paths_exist(self, *relative_paths: str) -> None: + missing = [rel for rel in relative_paths if not (REPO_ROOT / rel).exists()] + if missing: + self.skipTest( + "branch-specific files are not present in this checkout: " + + ", ".join(missing) + ) + def load_module(self, dotted_path: str): return importlib.import_module(dotted_path) @@ -159,7 +167,8 @@ def test_root_eye_scripts_use_stable_public_label(self): self.assertIn('list(mission = "MHU-1", dir = "MHU-2", glds = "GLDS-289", osd = "OSD-289")', run_fgsea) self.assertIn('list(mission = "OSD-397", dir = "TBD", glds = "GLDS-397", osd = "OSD-397")', run_fgsea) self.assertIn('"A6|A6_eye_lomo|RR-1 RR-3 OSD-397|3"', hpc_submit) - self.assertIn("| Eye | OSD-100, 194, 397 | RR-1, RR-3, OSD-397 | 37 |", root_readme) + self.assertIn("v7.1 GeneLab Benchmark", root_readme) + self.assertIn("docs/hf_dataset_card.md", root_readme) def test_eye_docs_use_stable_osd397_label(self): hf_card = self.read_repo_text("docs/hf_dataset_card.md") @@ -258,10 +267,10 @@ def test_fm_docs_use_current_scgpt_and_model_count_language(self): outline = self.read_repo_text("docs/PAPER_OUTLINE.md") results_summary = self.read_repo_text("evaluation/RESULTS_SUMMARY.md") - self.assertIn("4 gene-expression foundation models + 3 text LLMs evaluated", readme) - self.assertIn("| scGPT | 12L Transformer, 33M human cells | 0.666 | -0.093 |", readme) - self.assertIn("Foundation / Language Models | 4 gene-expression FMs + 3 text LLMs", hf_card) - self.assertIn("scGPT | 0.666 (6-tissue mean, v1)", hf_card) + self.assertIn("4 gene-expression foundation models, 3 text LLMs", readme) + self.assertIn("Tested gene-expression foundation models underperform", readme) + self.assertIn("foundation-model comparisons", hf_card) + self.assertIn("Tested gene-expression foundation models underperform", hf_card) self.assertIn("Classical ML wins 4/6 tissues vs scGPT and 6/6 tissues vs Geneformer.", paper) self.assertIn("| scGPT vs Baseline mean delta | -0.093 | 4/6 Baseline wins |", paper) self.assertIn("https://github.com/jang1563/GeneLab_benchmark", paper) @@ -276,7 +285,7 @@ def test_submission_docs_match_current_v1_task_surface_and_thresholds(self): readme = self.read_repo_text("README.md") submission = self.read_repo_text("docs/submission_format.md") - self.assertIn("| 95% CI lower | Bootstrap CI (N=2000) lower bound | > 0.600 |", readme) + self.assertIn("AUROC, bootstrap confidence interval, permutation p-value", readme) self.assertIn("| **Go/No-Go** | AUROC > 0.700 AND CI lower > 0.600 |", submission) self.assertIn("| `A6` | Eye | 3 | 37 | ~21k genes (log2 normalized) |", submission) self.assertIn("| `B6` | Eye | RR-1, RR-3, OSD-397 | 6 | `tasks/B6_eye_cross_mission/` |", submission) @@ -287,9 +296,9 @@ def test_submission_docs_match_current_v1_task_surface_and_thresholds(self): def test_root_readme_repository_map_avoids_stale_hard_coded_counts(self): readme = self.read_repo_text("README.md") - self.assertIn("tasks/ <- Public task inputs (benchmark + sensitivity tasks)", readme) - self.assertIn("v2 analysis and runner scripts", readme) - self.assertIn("v4 result JSONs + SHAP/WGCNA outputs", readme) + self.assertIn("tasks/ Public v1 LOMO task inputs and selected fold packages", readme) + self.assertIn("v2/ ... v7/ Completed historical benchmark layers", readme) + self.assertIn("release/ Machine-readable public release manifest", readme) self.assertNotIn("Public task inputs (17 directories)", readme) self.assertNotIn("v1 pipeline scripts (35 Python/R/shell)", readme) self.assertNotIn("19 Python scripts", readme) @@ -298,14 +307,10 @@ def test_root_readme_repository_map_avoids_stale_hard_coded_counts(self): def test_root_readme_includes_v7_in_status_structure_and_changelog(self): readme = self.read_repo_text("README.md") - self.assertIn("Version: v7.1.2 public-card/metadata/evidence-visibility patch (2026-06-05) | Canonical results: v7.1 | Dataset freeze: 2026-03-01", readme) - self.assertIn("Status: **v1-v7 Complete; public-review card pack ready**", readme) - self.assertIn("## Reviewer Fast Path", readme) - self.assertIn("docs/SPACEBIOBENCH_SYSTEM_CARD.md", readme) - self.assertIn("docs/SPACEBIOBENCH_CLAIM_REGISTER.md", readme) - self.assertIn("| **v7.0** | Unified/foundation-model benchmarking: scPRINT2, GNN/WGCNA graph baselines, cross-method synthesis, and signal hierarchy analysis | **Complete** | `v7/` |", readme) - self.assertIn("├── v7/ <- Unified/foundation-model benchmarking", readme) - self.assertIn("| v7.0 | 2026-04-12 | Unified benchmark layer complete:", readme) + self.assertIn("| v7.1 GeneLab Benchmark | Canonical historical result surface |", readme) + self.assertIn("v2/ ... v7/ Completed historical benchmark layers", readme) + self.assertIn("Former public name: **GeneLab Benchmark**", readme) + self.assertIn("release/release_manifest.json", readme) self.assertNotIn("v7 Graph Neural Networks In Progress", readme) def test_public_release_metadata_uses_v7_consistently(self): @@ -313,83 +318,22 @@ def test_public_release_metadata_uses_v7_consistently(self): hf_card = self.read_repo_text("docs/hf_dataset_card.md") citation = self.read_repo_text("CITATION.cff") - self.assertIn("Version: v7.1.2 public-card/metadata/evidence-visibility patch (2026-06-05) | Canonical results: v7.1 | Dataset freeze: 2026-03-01", readme) - self.assertIn("Canonical v7.1 documentation source:", readme) - self.assertIn("note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01}", readme) - self.assertIn("Version: v7.1.2 public-card/metadata/evidence-visibility patch | Canonical results: v7.1 | Dataset freeze: 2026-03-01", hf_card) - self.assertIn("note = {v7.1.2 documentation, public-card, metadata, and evidence-visibility patch over canonical v7.1 results; data freeze 2026-03-01}", hf_card) - self.assertIn(" - 100M