DeepPhe-Viz-v2
January 13, 2026 ยท View on GitHub
A visualization platform for DeepPhe cancer phenotype data.
Project Overview
DeepPhe-Viz is a web-based application designed to visualize and interact with cancer phenotype data processed by the DeepPhe system. It provides researchers and clinicians with an intuitive interface to explore complex datasets, facilitating better understanding and analysis of cancer phenotypes.
Features
- ๐ Interactive data visualization
- ๐ Advanced filtering and search
- ๐พ Direct SQLite database access (no IndexedDB)
- ๐ Optimized performance with caching
- ๐ฑ Responsive design
- ๐ Secure deployment options
Development
Prerequisites
- Node.js (v18.x or higher)
- npm (v8.x or higher)
- Modern web browser (Chrome, Firefox, Edge recommended)
Installation
- Clone the repository:
git clone https://github.com/DeepPhe/DeepPhe-Viz-v2.git
cd DeepPhe-Viz-v2
- Install dependencies:
npm install
- Start the development server:
npm start
-
Visit http://localhost:3000/ to see the visualization.
-
To stop the server, press
Ctrl + Cin the terminal.
Production Deployment
๐ณ Docker Deployment (Recommended)
# Build and run with Docker Compose
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the application
docker-compose down
Your app will be running at: http://localhost:3000 (or your server IP:3000)
๐ง Manual Docker Commands
# Build the Docker image
docker build -t deepphe-visualizer .
# Run the container
docker run -d -p 3000:3000 --name deepphe-viz deepphe-visualizer
# View logs
docker logs -f deepphe-viz
# Stop and remove
docker stop deepphe-viz && docker rm deepphe-viz
Build for Production
npm run build
This creates an optimized production build in the build/ directory.
Project Structure
Viz2/
โโโ public/ # Static files
โ โโโ demopatients.sqlite # SQLite database
โโโ src/
โ โโโ components/ # React components
โ โโโ utils/
โ โ โโโ db/
โ โ โโโ sqlite_client.js # SQLite database client
โ โโโ App.js
โโโ build/ # Production build (generated)
โโโ server.js # Express server
โโโ Dockerfile # Docker configuration
โโโ docker-compose.yml # Docker Compose setup
Database
The application uses SQLite for data storage:
- File:
demopatients.sqlite - Location:
public/directory - Access: Direct SQL queries via
sql.js
Testing
# Run unit tests
npm test
# Run SQLite client tests
npm test -- sqlite_client.test.js
Scripts
| Command | Description |
|---|---|
npm start | Start development server |
npm run build | Build for production |
npm test | Run tests |
Environment Variables
Create a .env file for custom configuration:
PORT=3000
NODE_ENV=production
Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
License
See LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request