5.2 KiB
Executable File
5.2 KiB
Executable File
bbav5 分析流程代码依赖分析
以"进化树分析"为例,串完整流程
阶段1: 前端调用
用户点击"进化树分析"按钮
↓
Vue3 前端 → POST /api/execute (stage="phylogeny")
↓
apps/web/vue3/main.py → execute_stage()
必须保留:
apps/web/vue3/main.py- FastAPI 主入口apps/web/vue3/index.html- Vue3 前端页面
阶段2: API 层处理
apps/web/vue3/main.py
↓
检查 stage 是否在 ASYNC_STAGES 中
↓
调用 run_stage_sync() 或同步执行
↓
from apps.web.pipeline_backend import run_stage, JobInfo
必须保留:
apps/web/vue3/main.py- API 端点定义apps/web/pipeline_backend.py- 后端 pipeline 核心
阶段3: Pipeline 后端
apps/web/pipeline_backend.py → run_stage()
↓
stage == "phylogeny"
↓
导入 apps/cli/run_phylogeny.py
↓
构建命令行参数
↓
subprocess 执行
必须保留:
apps/web/pipeline_backend.py- stage 路由和参数处理apps/cli/run_phylogeny.py- 进化树分析脚本
阶段4: 分析脚本执行
apps/cli/run_phylogeny.py
↓
1. 读取 input/{job_id}/Ft.SPL.final_members.pep.fa
2. 运行 MAFFT 多序列比对
3. 运行 IQ-TREE 建树
4. 生成输出到 workspace/{job_id}/final/
- Ft.SPL.pep.msa.fa
- Ft.SPL.tree.nwk
- Ft.SPL.phylogeny_report.md
- Ft.SPL.phylogeny.manifest.json
必须保留:
apps/cli/run_phylogeny.py- 进化树分析apps/cli/run_identify.py- 基因家族鉴定(前置依赖)apps/cli/run_motif.py- Motif分析apps/cli/run_domain.py- 结构域分析apps/cli/run_structure.py- 基因结构apps/cli/run_promoter.py- 启动子分析apps/cli/run_synteny.py- 共线性分析apps/cli/run_karyotype.py- 核型分析apps/cli/run_expression.py- 表达分析apps/cli/run_pep.py- 蛋白特征apps/cli/run_*.py- 其他分析脚本
阶段5: 依赖的 gfa_core 模块
apps/cli/run_phylogeny.py
↓
from gfa_core.api_clients import ...
from gfa_core.reproducibility_v2 import ReproducibilityManager
必须保留:
gfa_core/api_clients.py- API客户端(PlantCARE等)gfa_core/reproducibility_v2.py- 可复现性管理gfa_core/pipelines/*.py- pipeline 工具函数
阶段6: Agent 系统(LangGraph 迁移目标)
用户自然语言输入
↓
Orchestrator (LangGraph)
↓
RouterAgent → PlanningAgent → ExecutionAgent
↓
调用 apps/cli/run_*.py
必须保留(迁移到 LangGraph):
gfa_core/mas/agents/*.py- 9个Agentbase.py- Agent 基类router.py- 意图路由planning.py- 任务规划execution.py- 任务执行knowledge.py- 知识检索diagnosis.py- 错误诊断validator.py- 结果验证result_parser.py- 结果解析learning.py- 学习优化discovery.py- 科学发现
gfa_core/mas/core/orchestrator.py- 编排器(参考代码)gfa_core/mas/llm/- LLM管理gfa_core/mas/tools/- 工具注册gfa_core/mas/cost_tracker.py- 成本追踪
阶段7: Skills 系统
apps/cli/run_*.py
↓
skills/{stage}/run.py
必须保留:
skills/*/run.py- 各阶段技能实现skills/*/templates/- 报告模板
阶段8: 配置文件
加载配置
↓
config/
prompts/
必须保留:
config/- 配置文件prompts/- Agent 提示词.env- 环境变量
必须保留的文件类型总结
1. 前端层
apps/web/vue3/main.py- FastAPIapps/web/vue3/index.html- Vue3apps/web/pipeline_backend.py- Pipeline后端
2. CLI 分析脚本(11个阶段)
apps/cli/run_identify.pyapps/cli/run_phylogeny.pyapps/cli/run_motif.pyapps/cli/run_domain.pyapps/cli/run_structure.pyapps/cli/run_promoter.pyapps/cli/run_synteny.pyapps/cli/run_karyotype.pyapps/cli/run_pep.pyapps/cli/run_expression.pyapps/cli/run_*.py(其他)
3. Agent 系统(LangGraph 迁移)
gfa_core/mas/agents/*.py(9个Agent)gfa_core/mas/core/*.pygfa_core/mas/llm/*.pygfa_core/mas/tools/*.py
4. 核心模块
gfa_core/api_clients.pygfa_core/reproducibility_v2.pygfa_core/pipelines/*.py
5. Skills
skills/*/- 所有技能目录
6. 配置
config/prompts/.env
7. 微信集成(确认保留)
wechat_*.py
可以删除的文件类型(待确认)
1. 测试文件
test_*.py(26个)
2. Demo 文件
demo_*.py
3. 旧 RAG 实现
kb/目录langchain_agent.py
4. 备份文件
backup/目录*.backup.**.bak
5. 日志和临时文件
*.log(非必要)__pycache__/*.pyc
6. 文档和报告
REVISION_*.mde2e_test_report.mdEXECUTION_LOG.md项目记录/(确认是否保留)
待确认问题
- test_*.py - 是否全部删除?还是保留部分核心测试?
- kb/ - 旧 RAG 实现,是否删除?(gene-family-mas-v2 已替代)
- langchain_agent.py - 实验性代码,是否删除?
- 项目记录/ - 历史文档,是否保留?
- REVISION_*.md - 修订记录,是否保留?
- codeMiaoshu/ - 代码描述,是否保留?
- paper/ - 文献 PDF,是否保留?