Features¶
Overview¶
Depictio is built to address the challenges of visualizing and analyzing large-scale bioinformatics datasets generated by production workflows like nf-core, WorkflowHub, or the Snakemake Workflow Catalog. It provides a user-friendly interface for creating interactive dashboards that can be shared with collaborators, making it easier to explore and interpret complex data.
Dashboard & Components¶
User-facing features for building and interacting with dashboards.
| Page | Description |
|---|---|
| Dashboards | Dashboard modes, layouts, tabs, and organization |
| Components | Guide to available component types and configuration |
| Interactive Selection Filtering | Filter components via scatter plot and table row selections |
-
Dashboards
Learn about dashboard modes, tabs, and layouts
-
Components
Explore available component types (figures, tables, cards, etc.)
-
Interactive Selection
Filter by selecting points or rows directly on visualizations
Data Integration¶
Features for connecting, filtering, and synchronizing data across collections.
| Page | Description |
|---|---|
| Cross-DC Filtering | Link data collections for interactive filtering |
| YAML Dashboard Sync | Bidirectional YAML sync for IaC and version control |
-
Cross-DC Filtering
Link data collections for interactive filtering across components
-
YAML Dashboard Sync
Version control dashboards with bidirectional YAML sync
System Design¶
Technical architecture and security features.
| Page | Description |
|---|---|
| Architecture | Technical overview of Depictio's microservices |
| Security | Security features and code execution restrictions |
-
Architecture
Technical overview of the microservices architecture
-
Security
Security features, authentication, and code restrictions
Key Capabilities¶
- Interactive Dashboards for real-time data exploration
- Scalable Architecture for handling large datasets
- Cross-Collection Filtering for linked data exploration
- YAML Dashboard Sync for Infrastructure-as-Code workflows and version control
- Data Integration from multiple sources
- User Management for secure access control
- Security Features with restricted code execution and comprehensive protection
- Customizable Components for tailored visualizations
System Architecture¶
Depictio consists of several integrated components:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Dash UI │────▶│ FastAPI │────▶│ MongoDB │
│ (Frontend) │ │ (Backend) │ │ (Database) │
└──────┬──────┘ └──────┬──────┘ └─────────────┘
│ │
│ ├───────────▶┌─────────────┐
│ │ │ MinIO │
│ │ │ (Storage) │
│ │ └─────────────┘
│ │
│ └───────────▶┌─────────────┐
│ │ Redis │
│ │ (Cache) │
│ └──────▲──────┘
│ │
└──────────────────▶┌─────────────┐─────┘
│ Celery │
│ (Workers) │
└─────────────┘
Component Connections:
| Connection | Description |
|---|---|
| Dash → FastAPI | API calls for data retrieval, authentication, and CRUD operations |
| Dash → Celery | Background callbacks for long-running operations |
| FastAPI → MongoDB | Document storage for metadata, users, projects, and configurations |
| FastAPI → MinIO | Object storage for Delta tables, files, and dashboard screenshots |
| FastAPI → Redis | Caching, session storage, and task result backend |
| Celery → Redis | Task queue and results backend for background job processing |
- Frontend (Plotly Dash) - Interactive dashboard interface
- Backend API (FastAPI) - Data processing and business logic
- Database (MongoDB) - Metadata and configuration storage
- Storage (MinIO/S3) - Data files and Delta Lake tables
- Cache (Redis) - Caching layer and task queue backend
- Workers (Celery) - Distributed task queue for background processing
Explore the detailed documentation to learn more about each feature and how they work together to provide a comprehensive visualization platform.