fix: deduplicate gene_symbol in scoring to prevent non-canonical ID inflation

gene_universe contains 1,539 gene_symbols mapping to multiple Ensembl IDs
(3,033 excess). Non-canonical IDs lack data in some evidence tables, causing
weighted_sum/available_weight to inflate their composite scores.

Fix: after scoring SQL, keep one row per gene_symbol with the most
evidence_count (tiebreak by composite_score DESC). 22,604 → 19,555 genes.

Results: HIGH 82→4, all top 20 now have 5-6 layers with expression data.
Validation PASSED (CDH23 98.3rd percentile, median known gene 83.3%).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 10:02:32 +08:00
parent b151faa80a
commit a228a56984
10 changed files with 236 additions and 3192 deletions

View File

@@ -1,7 +1,7 @@
# Pipeline Reproducibility Report
**Run ID:** `093b405b-5a20-4f35-b5b8-04f02451789d`
**Timestamp:** 2026-02-15T21:49:14.940206+00:00
**Run ID:** `f5587e39-163b-418c-8ac2-593b47323f34`
**Timestamp:** 2026-02-16T01:59:18.969516+00:00
**Pipeline Version:** 0.1.0
## Parameters
@@ -39,7 +39,7 @@
## Tier Statistics
- **Total Candidates:** 21177
- **HIGH:** 82
- **MEDIUM:** 9626
- **LOW:** 11469
- **Total Candidates:** 18243
- **HIGH:** 4
- **MEDIUM:** 8051
- **LOW:** 10188