Skip to content

Welcome to BrainDataPortal Docs!

BrainDataPortal is a comprehensive platform for single-cell, spatial transcriptomics, and other omics data visualization and exploration. This documentation will guide you through the installation and data preparation processes.

Overview

  • This is project designed for the brain multi-modal data visualization and exploration.
  • The supported assays include: scRNAseq, scATACseq, Visium Spatial Transcriptomics, xQTL, GWAS.
  • The backend is running on FastAPI and uvicorn.
  • The frontend is built with React and Vite.
  • The data is stored in SQLite3 and JSON files.
  • Use zustand for state management, and Material UI for web page layout design

Directory structure

BrainDataPortal/
|-- Backend/
|   |-- main.py                         ## The main entry of the backend
|   |-- db.py                           ## The database connection and management
|   |-- settings.py                     ## The configuration of the backend
|   |-- requirements.txt                ## The required libraries of the backend
|   |-- funcs/                          ## This folder contains request handler functions of the backend
|   |   |-- get_data.py                 ## The request handler functions for data
|   |   |-- utils.py                    ## The utils functions
|   |   `-- ...
|   |-- models/                         ## This folder contains database models of the backend
|   |   |-- dataset.py                  ## The dataset model/table
|   |   `-- ...
|   |-- routes/                         ## This folder contains routes endpoints of requests
|   |   |-- api_routes.py                
|   |   |-- qtl_routes.py
|   |   |-- visium_routes.py
|   |   `-- ...
|   |-- SampleSheets/                   ## Upload sample sheets here when adding new datasets
|   |   |-- Sample_snRNAseq.csv
|   |   `-- ...
|   |-- datasets/                       ## The datasets are stored here
|   |   |-- dataset_1/
|   |   |   |-- meta_cell.json
|   |   |   |-- meta_sample.json
|   |   |   |-- ...
|   |   `-- ...
|   |-- bdp_db.db                        ## The database file
|   `-- ...
|-- Frontend
|   |-- index.html                      ## The entry page of the frontend
|   |-- vite.config.js                  ## The vite configuration file
|   |-- package.json                    ## The dependencies and dev/build settings of the frontend
|   |-- env/                            ## The environment variables
|   |   |-- .env                        ## The global environment variables
|   |   |-- .env.development            ## The development environment variables
|   |   `-- .env.production             ## The production environment variables
|   |-- src/                            ## The source code of the frontend
|   |   |-- App.jsx                     ## Define the routes of the frontend
|   |   |-- index.css                   ## The global styles of the frontend
|   |   |-- main.jsx                   ## The entry file of the frontend
|   |   |-- components/                 ## The components of the frontend
|   |   |   `-- ...
|   |   |-- pages/                      ## The pages of the frontend
|   |   |   `-- ...
|   |   |-- utils/                      ## The fucntional utils
|   |   |   `-- ...
|   |   |-- store/                      ## The stores for state management
|   |   |-- api/                        ## The api for data fetching
|   |   `-- ...
|   `-- ...
`-- README.md

Video demo

Gene view UMAP

VisiumST view

Get Started