代谢物数据库管理系统 - 存储、浏览和搜索代谢物数据,支持从 AllCCS 在线爬取数据。
- 📊 代谢物浏览 - 分页浏览、分类筛选、关键词搜索
- 🔍 精确搜索 - 按分子式、精确质量(支持容差)搜索
- 🕷️ 数据爬取 - 从 AllCCS 数据库在线爬取代谢物数据
- 🗄️ 数据管理 - 批量删除、全部清空
- Docker Desktop
- Docker Compose
# Windows
start.bat
# Linux / macOS
docker compose up -d --build启动后访问:
- 前端界面: http://localhost:5173
- 后端 API: http://localhost:8000
- API 文档: http://localhost:8000/docs
# Windows
stop.bat
# Linux / macOS
docker compose down访问 http://localhost:5173 进入主页,可以:
- 按分类(Superclass/Class/Subclass)筛选
- 搜索代谢物名称
- 点击查看详情和分子结构
- 按分子式搜索: 输入如
C6H12O6 - 按精确质量搜索: 输入质量值和容差(ppm)
访问 http://localhost:5173/admin 进入管理页面:
- 设置爬取数量(最多 10000 条/次)
- 点击"开始爬取"
- 查看实时进度
- 数据来源: AllCCS
在管理页面可以:
- 搜索和浏览已有数据
- 选择并批量删除
- 清空全部数据
| 组件 | 技术 |
|---|---|
| 后端 | FastAPI + SQLAlchemy (async) + PostgreSQL |
| 前端 | Vue 3 + TypeScript + Element Plus |
| 部署 | Docker Compose |
DeepMet2.0/
├── backend/ # FastAPI 后端
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── models/ # 数据模型
│ │ ├── schemas/ # Pydantic 模式
│ │ └── services/ # 业务逻辑
│ └── alembic/ # 数据库迁移
├── frontend/ # Vue 3 前端
│ └── src/
│ ├── api/ # API 客户端
│ ├── views/ # 页面组件
│ └── components/
├── docker-compose.yml
├── start.bat # Windows 启动脚本
└── stop.bat # Windows 停止脚本
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/metabolites |
分页获取列表 |
| GET | /api/metabolites/{id} |
获取详情 |
| GET | /api/metabolites/search/mass |
按质量搜索 |
| GET | /api/metabolites/search/formula |
按分子式搜索 |
| DELETE | /api/metabolites/{id} |
删除单条 |
| POST | /api/metabolites/batch-delete |
批量删除 |
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/scraper/start |
开始爬取 |
| GET | /api/scraper/status |
获取进度 |
| GET | /api/scraper/stats |
数据统计 |
| DELETE | /api/scraper/data |
清空数据 |
修改 docker-compose.yml 中的端口映射:
ports:
- "其他端口:5173" # 前端
- "其他端口:8000" # 后端数据库数据保存在 Docker volume postgres_data 中,删除容器不会丢失数据。
清除所有数据:
docker compose down -vMIT