docs: update README with MVP spec and architecture
This commit is contained in:
parent
11828a2138
commit
4b9418f8c4
1 changed files with 115 additions and 2 deletions
117
README.md
117
README.md
|
|
@ -1,3 +1,116 @@
|
|||
# mutascope
|
||||
# 🧬 MutaScope
|
||||
|
||||
Mutation detection tool
|
||||
**Nanopore mutation detection platform** — upload FASTQ reads, get nonsynonymous variant reports.
|
||||
|
||||
[](https://git.nixlab.pl/hermes-team/mutascope/pipelines)
|
||||
|
||||
---
|
||||
|
||||
## What it does
|
||||
|
||||
1. **Upload** nanopore FASTQ reads + select reference genome
|
||||
2. **Pipeline** automatically filters, aligns, calls variants, and annotates
|
||||
3. **Report** with interactive mutation table, heatmaps, and CSV/VCF export
|
||||
|
||||
## Pipeline
|
||||
|
||||
```
|
||||
FASTQ → NanoFilt → minimap2 → Clair3 → SnpEff → Report
|
||||
(filter) (align) (call) (annotate)
|
||||
```
|
||||
|
||||
**Tools:**
|
||||
| Step | Tool | Purpose |
|
||||
|------|------|---------|
|
||||
| Quality filtering | NanoFilt | Remove low-quality reads (<Q8, <500bp) |
|
||||
| Alignment | minimap2 `-ax map-ont` | Map reads to reference genome |
|
||||
| Variant calling | Clair3 (deep learning) | SNV + indel calling, ONT-optimized |
|
||||
| Annotation | SnpEff | Gene/effect annotation, nonsynonymous filter |
|
||||
|
||||
**Reference genomes:** hg38 (human), hg19 (human legacy), mm10 (mouse)
|
||||
|
||||
---
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Frontend (Next.js 15) → API (FastAPI) → Redis Queue → Worker Pods (K8s)
|
||||
│
|
||||
NanoFilt → minimap2 → Clair3 → SnpEff
|
||||
│
|
||||
S3 (object store)
|
||||
PostgreSQL (metadata)
|
||||
```
|
||||
|
||||
## Stack
|
||||
|
||||
| Layer | Technology |
|
||||
|-------|-----------|
|
||||
| Frontend | Next.js 15 + Tailwind CSS + shadcn/ui |
|
||||
| Backend API | FastAPI + PostgreSQL + Redis |
|
||||
| Pipeline | NanoFilt, minimap2, Clair3, SnpEff |
|
||||
| Infrastructure | Kubernetes, S3-compatible storage, Docker |
|
||||
|
||||
---
|
||||
|
||||
## MVP Scope
|
||||
|
||||
See the [Plane project board](https://plane.nixlab.pl) for the full backlog.
|
||||
|
||||
**Sprint 1 — Foundation** (Mar 16–29)
|
||||
- Monorepo scaffolding, CI/CD, database schema, K8s manifests
|
||||
- Pipeline tools validation spike
|
||||
|
||||
**Sprint 2 — Core Pipeline** (Mar 30 – Apr 12)
|
||||
- FASTQ upload, reference genome selection, job submission
|
||||
- Full pipeline worker: NanoFilt → minimap2 → Clair3 → SnpEff
|
||||
|
||||
**Sprint 3 — Reports & Export** (Apr 13–26)
|
||||
- Interactive mutation table with filtering/sorting
|
||||
- Heatmap visualization, CSV + VCF export
|
||||
- Job history page
|
||||
|
||||
**Sprint 4 — Auth & Hardening** (Apr 27 – May 10)
|
||||
- User accounts, data isolation, security audit
|
||||
- E2E tests, performance testing, documentation
|
||||
|
||||
---
|
||||
|
||||
## Local Development
|
||||
|
||||
```bash
|
||||
# Prerequisites: Docker, Docker Compose, make
|
||||
|
||||
git clone https://git.nixlab.pl/hermes-team/mutascope.git
|
||||
cd mutascope
|
||||
cp .env.example .env # configure environment
|
||||
make dev # start all services
|
||||
|
||||
# Services:
|
||||
# Frontend: http://localhost:3000
|
||||
# API: http://localhost:8000/docs
|
||||
# Redis UI: http://localhost:8001
|
||||
```
|
||||
|
||||
## Team
|
||||
|
||||
| Role | Agent |
|
||||
|------|-------|
|
||||
| Product Owner | po@hermes-team.local |
|
||||
| Scrum Master | sm@hermes-team.local |
|
||||
| Architect | architect@hermes-team.local |
|
||||
| Developer | dev@hermes-team.local |
|
||||
| QA Engineer | qa@hermes-team.local |
|
||||
|
||||
---
|
||||
|
||||
## Tool Citations
|
||||
|
||||
- **NanoFilt**: De Coster et al., Bioinformatics 2018
|
||||
- **minimap2**: Li H., Bioinformatics 2018
|
||||
- **Clair3**: Zheng et al., Nature Computational Science 2022
|
||||
- **SnpEff**: Cingolani et al., Fly 2012
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue