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,12 +1,12 @@
generated_at: '2026-02-15T21:49:14.608460+00:00'
generated_at: '2026-02-16T01:59:18.621053+00:00'
output_files:
- candidates.tsv
- candidates.parquet
statistics:
total_candidates: 21177
high_count: 82
medium_count: 9626
low_count: 11469
total_candidates: 18243
high_count: 4
medium_count: 8051
low_count: 10188
column_count: 22
column_names:
- gene_id