Skip to content

Commit 5589614

Browse files
committed
wip: framework done
1 parent 862851a commit 5589614

File tree

12 files changed

+286
-2
lines changed

12 files changed

+286
-2
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,8 @@ _site/
55
# Ignore folders generated by Bundler
66
.bundle/
77
vendor/
8+
.DS_Store
9+
**/.DS_Store
10+
11+
public/
12+
resources/
370 KB
Loading

assets/images/gradient-mobile.webp

4.65 KB
Loading
74.6 KB
Loading

assets/jsconfig.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": ".",
4+
"paths": {
5+
"*": [
6+
"../../../../../Library/Caches/hugo_cache/modules/filecache/modules/pkg/mod/github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/[email protected]/package/dist/cjs/*",
7+
"../../../../../Library/Caches/hugo_cache/modules/filecache/modules/pkg/mod/github.com/twbs/[email protected]+incompatible/js/*"
8+
]
9+
}
10+
}
11+
}

content/docs/_index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
weight: 999
3+
title: "BDIViz Documentations"
4+
subtitle: "Explore our guides and examples to deploy and improve your data integration workflow with BDIViz."
5+
description: "Explore our guides and examples to deploy and improve your data integration workflow with BDIViz."
6+
icon: "article"
7+
date: "2025-04-19T22:16:51-04:00"
8+
lastmod: "2025-04-19T22:16:51-04:00"
9+
draft: false
10+
toc: true
11+
---

content/docs/get-started/_index.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
weight: 999
3+
title: "Get Started"
4+
description: "Start your first BDIViz workflow."
5+
icon: "rocket"
6+
date: "2025-04-19T13:38:17-04:00"
7+
lastmod: "2025-04-19T13:38:17-04:00"
8+
draft: false
9+
toc: true
10+
---
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
weight: 200
3+
title: "Explore Matches"
4+
description: "Once the files finished loading, you will be presented with the main BDIViz interface."
5+
icon: "zoom_in"
6+
date: "2025-04-19T13:38:17-04:00"
7+
lastmod: "2025-04-19T13:38:17-04:00"
8+
draft: false
9+
toc: true
10+
---
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
weight: 100
3+
title: "Upload Your Data"
4+
description: "Start a new schema matching task by upload your data files."
5+
icon: "upload"
6+
date: "2025-04-19T13:38:17-04:00"
7+
lastmod: "2025-04-19T13:38:17-04:00"
8+
draft: false
9+
toc: true
10+
---
11+
12+
## Start a New Matching Task
13+
14+
Click the rightmost button labeled "New Matching Task" to begin. This will open the file upload interface (see screenshot below).
15+
16+
![new-matching-task-gif](images/new-matching-task.gif)
17+
18+
You will see three drop boxes stacked from top to bottom:
19+
20+
- **Source CSV File** – for your raw dataset
21+
22+
- **Target CSV File** – for the reference standard dataset
23+
24+
- **Target Schema JSON File** – for metadata and attribute definitions
25+
26+
To begin exploring schema matches, you’ll first need to upload these three types of files. These provide the information needed to visualize and compare your source dataset with a standardized target schema.
27+
28+
## Upload Source CSV File
29+
30+
Select a local .csv file that contains your raw or unaligned biomedical dataset.
31+
32+
Example:
33+
```csv
34+
Case_ID, Gender, Ethnicity_Self_Identify, Path_Stage_Reg_Lymph_Nodes_pN
35+
C1234, Male, Asian, pN1
36+
C5678, Female, White, pN2
37+
C1111, Unknown, Unknown, pNX
38+
```

content/docs/overview.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
weight: 300
3+
title: "Overview"
4+
description: "BDIViz: An Interactive Visualization System for Biomedical Schema Matching with LLM-Supported Validation"
5+
icon: "circle"
6+
date: "2025-04-19T13:38:17-04:00"
7+
lastmod: "2025-04-19T13:38:17-04:00"
8+
draft: false
9+
toc: true
10+
---
11+
12+
13+
## :gear: Getting Started
14+
15+
First, install the required dependencies:
16+
17+
```bash
18+
npm i .
19+
```
20+
21+
22+
Then, run the development server:
23+
24+
```bash
25+
npm run dev
26+
```
27+
28+
## :gear: Introduction
29+
30+
**BDIViz** is an interactive web-based application developed as part of the ARPA-H ASKEM project to support schema matching and value mapping tasks in biomedical data integration. It provides users with a rich visual interface—including heatmaps, explanations, and value comparisons—to streamline the process of aligning raw biomedical datasets with standardized data schemas such as the Genomic Data Commons (GDC) and Proteomic Data Commons (PDC).
31+
32+
**BDIViz** is model agnostic, meaning it can be used with any schema matching model. It is designed to work with the [BDI-Kit](https://github.com/VIDA-NYU/bdi-kit) module, which is a Python library that provides a set of tools for schema matching and value mapping tasks. The BDI-Kit module includes a variety of schema matching algorithms, including supervised and unsupervised methods, as well as tools for data preprocessing and feature extraction.
33+
34+
## :gear: Features
35+
36+
- 🔍 **Interactive Heatmap** for exploring source-target column match candidates
37+
- 📊 **Value Comparison Table** using fuzzy matching on raw values
38+
- 🤖 **LLM-Powered Agent Panel** for dynamic match explanations and feedback
39+
-**Timeline View** to trace user actions (accept, reject, discard)
40+
- 🎯 **Control Panel** for adjusting similarity threshold and navigating source columns
41+
- 📤 **Export Curated Mappings** as JSON or CSV for downstream use
42+
43+
## :camera: Demo
44+
Video demo:
45+
[![BDIViz Demo](https://img.youtube.com/vi/1eAbDicO0oXIbbVg56m3H8xdNDDsBGBLI/0.jpg)](https://drive.google.com/file/d/1RY3XjRmLIkBNjcZWkUZhG3vA-ZvPc6Ug/view?usp=drive_link)
46+
<!-- [BDIViz Demo](https://drive.google.com/file/d/1eAbDicO0oXIbbVg56m3H8xdNDDsBGBLI/view?usp=drive_link) -->
47+
48+
Live Demo:
49+
https://bdiviz-dev.users.hsrn.nyu.edu/dashboard/
50+
51+
52+
<!-- ## :gear: Sequence Diagram
53+
```mermaid
54+
55+
sequenceDiagram
56+
actor U as User
57+
box Lightyellow BDI-Viz
58+
participant B as React App
59+
participant S as Flask Server
60+
end
61+
62+
U->>B: Input Source/Target csv
63+
B->>S: Request Schema Matching
64+
Note right of S: Default Model
65+
S->>B: Response Matching Candidates
66+
67+
U->>B: Accept/Reject/Refine Matches
68+
B->>S: [Agent] Digest User Actions
69+
S->>B: [Agent] Possible Reasons
70+
Note left of B: Reason 1: Exact Match <br>Reason 2: Value Similarity <br>Reason 3: Prefix/Suffix Match <br>Reason 4: Synonym Match <br>Reason 5: etc.
71+
B->>U: What do you think is the best reason for this action?
72+
U->>B: Select Reason 3
73+
B->>S: [Agent] Update Model/Dataset
74+
Note right of S: FT Model 3
75+
S->>B: Response Matching Candidates
76+
``` -->

0 commit comments

Comments
 (0)