跳转至

16S 微生物分析

API 端点

⚠️ 重要: 16S 流水线使用 /api/16s/ 前缀(无 v1),与系统其他 API 的 /api/v1/ 不一致。

健康检查

GET /api/16s/health

响应示例:

{
  "status": "healthy",
  "database": "connected",
  "pipeline": "loaded",
  "jobs_in_memory": 0
}

样本管理

POST /api/16s/samples      # 创建样本(需要 request body)
GET  /api/16s/samples       # 列出样本(需要 request body)
GET  /api/16s/samples/{sample_id}  # 获取样本详情
DELETE /api/16s/samples/{sample_id}  # 删除样本

分析任务

POST /api/16s/analyze      # 提交分析任务
GET  /api/16s/analyze/{job_id}  # 查询任务状态
GET  /api/16s/analyze/{job_id}/results  # 获取结果
POST /api/16s/analyze/{job_id}/cancel   # 取消任务
GET  /api/16s/jobs         # 列出任务
GET  /api/16s/export/{job_id}  # 导出结果

模拟 PDF

POST /api/16s/simulate-pdf  # 模拟生成 PDF 报告

工作流程

创建样本 → 提交分析 → 查询状态 → 获取结果 → 导出报告

完整示例

1. 创建样本

curl -X POST http://localhost/api/16s/samples \
  -H "Content-Type: application/json" \
  -d '{"name": "测试样本", "sequencing_type": "PE150"}'

2. 提交分析

curl -X POST http://localhost/api/16s/analyze \
  -H "Content-Type: application/json" \
  -d '{"request": {"sample_id": "样本ID", "fastq_files": ["file1.fq", "file2.fq"]}}'

3. 查询状态

curl "http://localhost/api/16s/analyze/your_job_id"

4. 获取结果

curl "http://localhost/api/16s/analyze/your_job_id/results"