Single-Cell Skin & Appendages Integrated Database
Unifying the world's single-cell skin transcriptomics data in one place.
scSAID is a comprehensive web platform for exploring single-cell RNA sequencing (scRNA-seq) data from skin and appendage tissues. We aggregate, harmonize, and visualize data from over 1,000,000 cells across 600+ samples, spanning both human and mouse species in healthy and disease conditions.
Whether you're investigating keratinocyte differentiation, immune cell infiltration in psoriasis, or hair follicle stem cell dynamics — scSAID gives you the tools to explore it all.
| Feature | Description |
|---|---|
| Browse | Explore datasets with advanced filtering, sorting, and pagination |
| Gene Search | Query expression patterns across cell types and conditions |
| Interactive Visualization | Embedded UMAP plots with real-time cell type exploration |
| DEG Analysis | Filter differentially expressed genes by p-value, fold change, and cell type |
| CellPhoneDB | Visualize cell-cell communication networks and receptor interactions |
| Enrichment Analysis | Gene set enrichment using MSigDB pathways |
| Gene Set Scoring | Score cells using Reactome pathways with AUCell, GSVA, or mean expression |
| Data Export | Download filtered results as Excel files |
┌─────────────────────────────────────────────────────────┐
│ Frontend │
│ JSP · CSS3 · JavaScript · ECharts · DataTables│
├─────────────────────────────────────────────────────────┤
│ Backend │
│ Java Servlets · Apache POI · Python Dash │
├─────────────────────────────────────────────────────────┤
│ Infrastructure │
│ Maven · Tomcat 9 · Nginx · GitHub Actions │
└─────────────────────────────────────────────────────────┘
# Clone the repository
git clone https://github.com/Dostoyevsky7/SkinDB_web.git
cd SkinDB_web
# Make Maven wrapper executable
chmod +x mvnw
# Run locally
./mvnw tomcat7:runOpen http://localhost:8080 in your browser.
src/main/
├── java/
│ ├── Servlet/ # HTTP request handlers
│ ├── Utils/ # Data processing utilities
│ └── Entity/ # Data models
├── webapp/
│ ├── CSS/ # Design system & component styles
│ ├── JS/ # Interactive charts & micro-interactions
│ ├── images/ # Static assets
│ ├── WEB-INF/ # Configuration & data files
│ └── *.jsp # Page templates
└── resources/
└── mapping.json # Field mappings
- Java 11+
- Maven 3.6+
The enrichment and gene set scoring modules are embedded via iframes expecting same-origin paths:
/enrichment/→ Dash app onlocalhost:8051/gene-scoring/→ Dash app onlocalhost:8052
Configure your nginx reverse proxy to forward these paths:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location /enrichment/ {
proxy_pass http://127.0.0.1:8051/enrichment/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /gene-scoring/ {
proxy_pass http://127.0.0.1:8052/gene-scoring/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}Use a process manager (systemd, supervisor, pm2) to keep Dash apps running.
Zhejiang University · ZJE
Built with care for skin biology research
