Overview
This guide explains how to create a custom Cell Culture application compatible with your own data format. The Cell Culture App framework (cell_culture_app_core) provides a flexible, reusable architecture that can be extended to work with different data sources and formats.
Architecture Overview
The Cell Culture App follows a modular architecture with seven main components you need to implement:
Your Custom App
├── 1. Load Data Task (data ingestion - YOUR IMPLEMENTATION)
├── 2. State Manager (session state - extends CellCultureState)
├── 3. Recipe Class (data model - extends CellCultureRecipe)
├── 4. Functions Steps (helper functions - YOUR IMPLEMENTATION)
├── 5. New Recipe Page (UI for data upload - YOUR IMPLEMENTATION)
├── 6. Main App (Streamlit app wiring - YOUR IMPLEMENTATION)
└── 7. Translation Files (en.json, fr.json - YOUR IMPLEMENTATION)
Core Framework (cell_culture_app_core):
- Provides reusable UI pages (selection, quality check, visualizations, analyses)
- Abstract base classes for state and recipe management
- Common analysis workflows (PCA, UMAP, Feature Extraction, ML models)
Your Custom Implementation (7 components):
- Load Data Task: Reads YOUR data format and converts to standardized ResourceSet
- State Manager: Defines tags and constants specific to your data
- Recipe Class: Extracts metadata from your scenarios with custom methods
- Functions Steps: Helper functions for recipe management, table display, file info
- New Recipe Page: UI for uploading/selecting your specific file formats
- Main App: Wires together all pages with StreamlitRouter
- Translation Files: Internationalization (en.json, fr.json)