Downloads · 30 days
0
lighteternal/psychgnn-all-tested-pairs-model
psychgnn-all-tested-pairs-model is a tabular classification model from lighteternal. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as cc-by-4.0.
This repository contains a heterogeneous graph neural network trained on all tested SNP-disorder pairs on the published psychiatric graph panel.
Downloads · 30 days
0
Access
Public
Updated Apr 8, 2026
Repo size
8.1 MB
Likes
0
Public
Click a slice to open those files.
.pt1.6 MB · 99%
From the Hugging Face model README
This repository contains a heterogeneous graph neural network trained on all tested SNP-disorder pairs on the published psychiatric graph panel.
The model predicts whether a tested SNP-disorder pair is:
null, ornon-null (suggestive or genome-wide significant)This is a variant-level research model. It is not a clinical model.
The training target is all-tested-pairs cross-disorder association prediction:
sig_tier ∈ {suggestive, gws}sig_tier == nullHeld-out GWS edges are removed from message passing so the graph encoder does not see the target edge directly.
The checkpoint was trained on:
The harmonized dataset was derived from public OpenMed / PGC Hugging Face repositories, including:
The modeled disorder panel contains 11 disorder groups:
This evaluation covers all 11 disorders.
The encoder is a heterogeneous GraphSAGE-style architecture over:
This release uses:
12820.15Decoder heads:
No disorder-disorder edges are used in the graph for this release.
Best hyperparameters:
12820.155e-41e-5Checkpoint metadata:
745The positive class is defined as suggestive ∪ gws, so this model is trained as a binary tested-pair classifier rather than an ordinal multi-tier model.
Graph metadata for this release:
18,9791,2051122,68765,63405e-8100,000 bpPrimary all-tested-pairs benchmark:
0.98170.92760.98140.86470.98830.9223Per-disorder results:
| Disorder | AUROC | AP | Test pairs | Positive test pairs |
|---|---|---|---|---|
| ADHD | 0.9860 | 0.9109 | 2188 | 239 |
| Anxiety | 0.9665 | 0.9250 | 2146 | 632 |
| Autism | 0.9978 | 0.9043 | 2473 | 53 |
| Bipolar | 0.9605 | 0.9309 | 2240 | 675 |
| BPD | 0.9830 | 0.6608 | 1921 | 49 |
| Eating disorders | 0.9985 | 0.8026 | 2483 | 4 |
| MDD | 0.9754 | 0.8904 | 2569 | 336 |
| OCD | 0.9427 | 0.6659 | 2148 | 80 |
| PTSD | 0.9998 | 0.8333 | 2491 | 2 |
| Schizophrenia | 0.9866 | 0.9957 | 2732 | 2086 |
| Substance use | 0.9982 | 0.9916 | 679 | 100 |
Some disorders still have very small positive test counts, so their AP values should be interpreted cautiously.
| Baseline | Test AUROC | Test AP |
|---|---|---|
| Disorder prevalence | 0.8852 | 0.6022 |
| Variant prevalence | 0.3740 | 0.1616 |
| Additive prior | 0.8170 | 0.5460 |
| Low-rank SVD | 0.5099 | 0.2408 |
1,428 gws, 168 suggestive, 12,994 null2,729 gws, 1,486 suggestive, 10,097 null93 gws, 262 suggestive, 16,138 null3,091 gws, 1,412 suggestive, 10,437 null135 gws, 193 suggestive, 12,484 null7 gws, 25 suggestive, 16,533 null1,019 gws, 1,225 suggestive, 14,888 null35 gws, 501 suggestive, 13,793 null15 gws, 16,599 null13,474 gws, 436 suggestive, 4,307 null661 gws, 11 suggestive, 3,862 nullThe checkpoint expects:
These are provided by the associated public graph artifact.
For a scored (variant, disorder) pair, the model produces:
non-null vs nullThe binary link score is the primary output of this release.
Minimal checkpoint loading:
import torch
from huggingface_hub import hf_hub_download
ckpt_path = hf_hub_download(
"lighteternal/psychgnn-all-tested-pairs-model",
"model.pt",
repo_type="model",
)
checkpoint = torch.load(ckpt_path, map_location="cpu", weights_only=False)
print(checkpoint["hyperparams"])
print(checkpoint["feature_dims"])
print(checkpoint["report"]["all_tested_split"]["macro_ap"])
To run inference, instantiate a heterogeneous GraphSAGE-style model matching the architecture above, load the checkpoint state dict, and score variant-disorder pairs against lighteternal/psychgnn-psychiatric-graph.
model.ptevaluation_report.jsonReasonable uses:
Inappropriate uses: