YannisTevissen's picture
Expand factual dataset and benchmark descriptions
1f2fdd0 verified
Raw
History Blame Contribute Delete
6.29 kB
from __future__ import annotations
import gradio as gr
import pandas as pd
RESOURCES = [
{
"Dataset": "Upper-limb Kinect movement",
"What it contains": "3D coordinates for nine upper-body joints, task events, movement features, and benchmark tables",
"People / samples": "18 adults with SMA type III + 19 controls",
"Access": "Open download",
"Available files": "Four PLOS supplements and four derived tables",
"Repository": "https://huggingface.co/datasets/YannisTevissen/sma-upper-limb-kinect",
},
{
"Dataset": "Spinal-stimulation figure data",
"What it contains": "Gait, EMG, strength, stimulation settings, and response measurements",
"People / samples": "3 adults with SMA type III",
"Access": "Open download",
"Available files": "CSV and spreadsheets for main and extended figures",
"Repository": "https://huggingface.co/datasets/YannisTevissen/sma-spinal-stimulation-figure-data",
},
{
"Dataset": "BforSMA reported biomarkers",
"What it contains": "Reported protein, metabolite, and transcript results",
"People / samples": "Study reports 108 children with SMA + 22 controls",
"Access": "Open reported results",
"Available files": "Five tables, two appendices, and one list",
"Repository": "https://huggingface.co/datasets/YannisTevissen/sma-bforsma-reported-biomarkers",
},
{
"Dataset": "GSE108094 motor-neuron RNA-seq",
"What it contains": "Differential expression, alternative splicing, GEO metadata, and SRA run metadata",
"People / samples": "8 libraries from 4 cell lines",
"Access": "Open download",
"Available files": "Two processed outputs, three family-metadata files, and one run inventory",
"Repository": "https://huggingface.co/datasets/YannisTevissen/sma-gse108094-motor-neuron-rnaseq",
},
{
"Dataset": "TREAT-NMD SMA registry",
"What it contains": "Harmonized clinical-registry schema",
"People / samples": "International registry network",
"Access": "Application required",
"Available files": "Public 120-item core schema; participant data by reviewed enquiry",
"Repository": "https://www.treat-nmd.org/what-we-do/core-datasets/sma/",
},
{
"Dataset": "Cure SMA Clinical Data Registry",
"What it contains": "Natural history, treatments, and outcomes",
"People / samples": "More than 1,000 reported participants",
"Access": "Application required",
"Available files": "Registry information; participant data through a governed process",
"Repository": "https://www.curesma.org/impact-report/",
},
{
"Dataset": "JEWELFISH digital measures",
"What it contains": "Touchscreen, motion, respiratory, and upper-limb signals",
"People / samples": "116 reported participants",
"Access": "Sponsor controlled",
"Available files": "Study description; participant-level sensor streams not public",
"Repository": "https://www.sciencedirect.com/science/article/pii/S0960896623001797",
},
]
FRAME = pd.DataFrame(RESOURCES)
def filter_resources(access: str, search: str):
result = FRAME
if access != "All":
result = result[result["Access"] == access]
if search.strip():
needle = search.strip().lower()
result = result[
result.astype(str).apply(lambda row: row.str.lower().str.contains(needle).any(), axis=1)
]
return result
with gr.Blocks(title="Open SMA Data Explorer") as demo:
gr.Markdown(
"""
# Open SMA Data Explorer 🧬
A catalogue of SMA research datasets by modality, cohort, available files, and access level.
These resources describe specific study populations and experimental settings.
"""
)
with gr.Tab("Find datasets"):
with gr.Row():
access = gr.Dropdown(
choices=["All", "Open download", "Open reported results", "Application required", "Sponsor controlled"],
value="All",
label="Access",
)
search = gr.Textbox(label="Search", placeholder="Try motion, RNA, gait, biomarker…")
table = gr.Dataframe(
value=FRAME,
headers=list(FRAME.columns),
datatype=["str"] * len(FRAME.columns),
interactive=False,
wrap=True,
)
access.change(filter_resources, [access, search], table)
search.change(filter_resources, [access, search], table)
with gr.Tab("Kinect benchmark"):
gr.Markdown(
"""
## Reach-intent classification
The Kinect records a stick figure while one button appears and the person reaches for it.
**Input:** the first 25%, 50%, or 100% of that movement.
**Question:** which of the ten buttons are they reaching toward?
**Answer:** a number from 0 to 9.
We test three versions:
1. **Generic** — learn from other people, then meet a completely new person.
2. **Personalized** — see one or five examples from the new person first.
3. **Across visits** — learn from their first visit and test months later.
The provided evaluation reports overall accuracy, macro target recall, and SMA/control slices at each
movement checkpoint. Participant folds prevent recordings from the same person appearing in both
training and test data.
"""
)
gr.Markdown(
"[Open the benchmark dataset](https://huggingface.co/datasets/YannisTevissen/sma-upper-limb-kinect)"
)
with gr.Tab("Responsible use"):
gr.Markdown(
"""
- These cohorts are small and incomplete representations of SMA.
- Controlled-access participant data are not included in the catalogue repository.
- Results should not be used for diagnosis, prognosis, or treatment decisions.
- Dataset cards record source citations, terms, file sizes, and checksums.
"""
)
if __name__ == "__main__":
demo.launch()