Skip to content

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

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

    Cross-DC Guide

  • YAML Dashboard Sync


    Version control dashboards with bidirectional YAML sync

    YAML Sync Guide


System Design

Technical architecture and security features.

Page Description
Architecture Technical overview of Depictio's microservices
Security Security features and code execution 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.