Data Management
Overview
The gobrave data model is project-centric and designed for reproducible workflow input assembly.
Core Data Objects
- Dataset: logical collection of biological assets
- Sample: biological sample metadata record
- File: physical or logical file metadata
- Relations:
- project <-> dataset
- dataset <-> sample
- dataset <-> file
- sample <-> file
API Surface
Data endpoints are exposed under /api/v1 and grouped as:
/data/dataset/*/data/project-dataset/*/data/file/*/data/sample/*/data/dataset-file/*/data/sample-file/*/data/dataset-sample/*
Typical Data Workflow
- Create project.
- Create datasets.
- Register samples and files.
- Bind sample/file roles (for example FASTQ_R1, FASTQ_R2).
- Link assets into dataset relationships.
- Build workflow input selectors from these relations.
Workflow Integration
The workflow engine can resolve structured inputs from managed data:
- sample collections
- role-grouped files per sample
- standalone reference files
This allows workflows to be template-driven while preserving project-level traceability.
Data Integrity Notes
- IDs are generated by the backend and used for relationship joins.
- Delete/update operations are validated through repository and service layers.
- Use paginated list APIs for large projects.
Best Practices
- Define a consistent file role taxonomy before bulk import.
- Keep dataset boundaries meaningful to one analysis objective.
- Use project-scoped list APIs to avoid cross-project leakage.
- Keep workflow input contracts aligned with data role conventions.