Skip to content

Comments

Feat/integrate pheno bench#26

Merged
shloknatarajan merged 3 commits intomainfrom
feat/integrate-pheno_bench
Nov 4, 2025
Merged

Feat/integrate pheno bench#26
shloknatarajan merged 3 commits intomainfrom
feat/integrate-pheno_bench

Conversation

@vincent65
Copy link
Collaborator

integrate phenotype benchmark into scaffold

Phenotype benchmark:

  1. Field Comparison: Compares 10 core annotation fields with weighted importance:

    • High priority (1.5-2.0×): Phenotype, Drug(s), Direction of effect, Alleles
    • Standard (1.0×): Gene, Variant/Haplotypes, Is/Is Not associated
    • Lower priority (0.5×): Phenotype Category, When treated with
  2. Similarity Matching: Each field comparison uses:

    • Exact match → 1.0
    • Substring match → 0.8
    • Token-based Jaccard similarity → 0.0-1.0
  3. Annotation Matching: Handles many-to-one scenarios where multiple predicted annotations can match a single ground truth

  4. Score Calculation: Returns average weighted similarity across all ground truth annotations (0-100 scale)

Scaffold

  • AnnotationBenchmark now calls phenotype benchmark evaluators with minimal changes

Notes / Concerns

  • My current phenotype benchmark supports multiple annotations passed in at the same time and single pair annotations. My only question is about the input originally being List[Dict] for get_var_pheno_ann_score. Are we expected to retrieve the ground truth ourselves from the benchmark_annotations.json? From my understanding we only get the model generated annotaitons as input. This means we would also need the pmcid to be passed in as well to the evaluate function so we can compare against the ground truth.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes shouldn't be made on the benchmark_annotations.json, make a new file if needed

@shloknatarajan shloknatarajan merged commit a027c29 into main Nov 4, 2025
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants