https://github.com/kaczmarj/seq2view
Browser-based visualization of data
https://github.com/kaczmarj/seq2view
Last synced: 2 months ago
JSON representation
Browser-based visualization of data
- Host: GitHub
- URL: https://github.com/kaczmarj/seq2view
- Owner: kaczmarj
- License: apache-2.0
- Created: 2020-09-17T16:18:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-14T18:19:01.000Z (over 4 years ago)
- Last Synced: 2025-02-10T02:33:32.007Z (4 months ago)
- Language: Vue
- Size: 516 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# seq2view
Browser-based visualization of data.
## Usage
### Docker Compose
If Docker Compose is available, run the following to start the client and server.
```
docker-compose up
```and open a browser to http://localhost.
### Without Docker Compose
Instructions below are for development purposes only. **Not for production**.
1. Install server dependencies (recommended to use a virtual environment)
```
python -m venv server/venv
./server/venv/bin/python -m pip install --no-cache-dir -U pip
./server/venv/bin/python -m pip install --no-cache-dir -r requirements.txt
```
1. Install client dependencies
```
cd client
npm install
```
1. Run development server in one terminal
```
cd server
PYTHONDONTWRITEBYTECODE=1 \
SEQ2VIEW_DATASET_0001=/path/to/data/processed_ohdsi_sequences.h5 \
./venv/bin/uvicorn server:app
```Environment variables prefixed with `SEQ2VIEW_DATASET_` tell the server where to find HDF5 datasets. The variable `SEQ2VIEW_DATASET_0001` gives the dataset the ID `0001` in the server.
1. Run client in another terminal
```
npm run --prefix=client serve
```Open browser to http://localhost:8080/
## Architecture
This project utilizes a server-client archicture. The server provides data in JSON format and is implemented using Python, FastAPI, H5py, and NumPy. The client provides the browser-based visualization and fetches data from the server. VueJS, Vuetify, D3, and Axios help make this happen.