| Title: | Anatomical and Clinical Knowledge Graph for Physiological Data |
|---|---|
| Description: | Centralized annotation hub providing anatomical ontology, muscle/bone metadata, nerve innervation, clinical codes (ICD-10, ICF), and knowledge graph queries for the physio-ecosystem. |
| Authors: | Matsui Lab [aut, cre] |
| Maintainer: | Matsui Lab <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.0 |
| Built: | 2026-05-16 05:16:20 UTC |
| Source: | https://github.com/x-biosignal/PhysioAnnotationHub |
Get bone annotations
getBoneAnnotation(bones = NULL, hub = NULL, fuzzy = TRUE)getBoneAnnotation(bones = NULL, hub = NULL, fuzzy = TRUE)
bones |
Character vector of bone names (NULL for all) |
hub |
AnnotationHub object |
fuzzy |
Logical; use fuzzy matching (default TRUE) |
data.frame of bone annotations
Get clinical codes for muscles
getClinicalCodes(muscles, system = c("icd10", "icf"), hub = NULL)getClinicalCodes(muscles, system = c("icd10", "icf"), hub = NULL)
muscles |
Character vector of muscle names |
system |
Character; "icd10" or "icf" (default "icd10") |
hub |
AnnotationHub object |
data.frame of matching clinical codes
Get muscle annotations
getMuscleAnnotation(muscles = NULL, hub = NULL, fuzzy = TRUE)getMuscleAnnotation(muscles = NULL, hub = NULL, fuzzy = TRUE)
muscles |
Character vector of muscle names (NULL for all) |
hub |
AnnotationHub object |
fuzzy |
Logical; use fuzzy matching (default TRUE) |
data.frame of muscle annotations
Get nerve annotations
getNerveAnnotation(nerves = NULL, hub = NULL)getNerveAnnotation(nerves = NULL, hub = NULL)
nerves |
Character vector of nerve names (NULL for all) |
hub |
AnnotationHub object |
data.frame of nerve annotations
Tests whether a set of muscles is enriched for specific annotations (actions, innervation, body regions) compared to the full set.
kgEnrichment( muscles, annotation_type = c("action", "nerve", "body_region", "spinal_level"), hub = NULL )kgEnrichment( muscles, annotation_type = c("action", "nerve", "body_region", "spinal_level"), hub = NULL )
muscles |
Character vector of muscle names (query set) |
annotation_type |
Character; "action", "nerve", "body_region", "spinal_level" |
hub |
AnnotationHub object |
data.frame with term, count, expected, fold_enrichment, p_value
Get KG neighbors of an entity
kgNeighbors(entity, depth = 1, hub = NULL)kgNeighbors(entity, depth = 1, hub = NULL)
entity |
Character; entity name |
depth |
Integer; traversal depth (default 1) |
hub |
AnnotationHub object |
data.frame of all triples within depth hops
Find shortest path between two entities in the KG
kgShortestPath(from, to, hub = NULL, max_depth = 5)kgShortestPath(from, to, hub = NULL, max_depth = 5)
from |
Character; source entity name |
to |
Character; target entity name |
hub |
AnnotationHub object |
max_depth |
Integer; maximum search depth (default 5) |
List with path (entities), predicates, and depth
Loads all annotation data into a cached environment for fast repeated queries.
loadAnnotationHub(reload = FALSE)loadAnnotationHub(reload = FALSE)
reload |
Logical; force reload even if cached (default FALSE) |
An AnnotationHub object (list) with muscle, bone, nerve, kg, clinical data
Print method for PhysioAnnotationHub
## S3 method for class 'PhysioAnnotationHub' print(x, ...)## S3 method for class 'PhysioAnnotationHub' print(x, ...)
x |
A PhysioAnnotationHub object |
... |
Additional arguments (ignored) |
Invisibly returns x
Query the Knowledge Graph by triple pattern
queryKG(subject = NULL, predicate = NULL, object = NULL, hub = NULL, exact = FALSE)queryKG(subject = NULL, predicate = NULL, object = NULL, hub = NULL, exact = FALSE)
subject |
Character or NULL; entity name pattern (grep) |
predicate |
Character or NULL; relation type (exact or grep) |
object |
Character or NULL; target entity pattern (grep) |
hub |
AnnotationHub object (loaded if NULL) |
exact |
Logical; use exact matching instead of grep (default FALSE) |
data.frame of matching triples