Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6.4 KiB
Executable File
6.4 KiB
Executable File
bbav20311 分析脚本规范性评估报告
生成时间: 2026-03-30 01:45 评估标准: 以 run_phylogeny.py 为模板
评估标准(8项要素)
| 要素 | 说明 |
|---|---|
| 1. 标准文档字符串 | 清晰的输入输出说明 |
| 2. get_tool_versions() | 获取工具版本信息 |
| 3. compute_file_hash() | 计算文件SHA256哈希 |
| 4. validate_previous_stage() | 验证上游manifest |
| 5. prepare_directories() | 创建标准目录结构 |
| 6. 生成manifest.json | 符合manifest_v1.schema.json |
| 7. 生成report.md | 人可读分析报告 |
| 8. 可复现性信息 | cmd历史、参数、版本等 |
评估结果
1. run_phylogeny.py (标准模板) ✅
评分: 10/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ✅ validate_identify_output() (验证上游)
- ✅ prepare_directories()
- ✅ 生成manifest.json
- ✅ 生成report.md
- ✅ 可复现性信息完整
2. run_genome_prepare.py
评分: 7/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ❌ 缺失: validate_previous_stage() (无上游)
- ✅ prepare_directories() (在类中)
- ⚠️ 部分: manifest.json生成简单
- ❌ 缺失: report.md生成
- ⚠️ 部分: 可复现性信息不完整
需修订:
- 完善manifest.json格式(符合schema)
- 添加report.md生成
- 完善可复现性信息
3. run_identify.py
评分: 8/10
- ✅ 标准文档字符串
- ✅ get_tool_versions() (通过run_cmd)
- ✅ compute_file_hash()
- ❌ 缺失: validate_previous_stage() (无上游,但应验证输入)
- ❌ 缺失: prepare_directories() (分散在代码中)
- ✅ 生成manifest.json
- ✅ 生成report.md
- ✅ 可复现性信息
需修订:
- 添加prepare_directories()函数
- 统一目录创建逻辑
4. run_motif.py
评分: 7/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ⚠️ 部分: 有resolve_protein_fasta()但非标准validate
- ❌ 缺失: prepare_directories()
- ✅ 生成manifest.json
- ✅ 生成report.md
- ⚠️ 部分: 可复现性信息
需修订:
- 添加prepare_directories()
- 标准化validate_previous_stage()
- 完善可复现性信息
5. run_domain.py
评分: 7/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ⚠️ 部分: 有find_latest_manifest()但非标准validate
- ❌ 缺失: prepare_directories()
- ✅ 生成manifest.json
- ✅ 生成report.md
- ⚠️ 部分: 可复现性信息
需修订:
- 添加prepare_directories()
- 标准化validate_previous_stage()
- 完善可复现性信息
6. run_promoter.py
评分: 8/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ❌ 缺失: validate_previous_stage() (需要phylogeny产物)
- ❌ 缺失: prepare_directories()
- ✅ 生成manifest.json
- ✅ 生成report.md
- ✅ 可复现性信息
需修订:
- 添加prepare_directories()
- 添加validate_phylogeny_output()
- 添加figures字段到manifest
7. run_expression.py
评分: 4/10 ⚠️ 最不完整
- ⚠️ 部分: 简单文档字符串
- ❌ 缺失: get_tool_versions()
- ❌ 缺失: compute_file_hash()
- ❌ 缺失: validate_previous_stage()
- ❌ 缺失: prepare_directories()
- ❌ 缺失: manifest.json生成
- ❌ 缺失: report.md生成
- ❌ 缺失: 可复现性信息
需大幅修订:
- 重写为标准结构
- 添加所有缺失要素
8. run_karyotype.py
评分: 6/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ⚠️ 部分: validate_inputs()但非标准validate_previous_stage
- ✅ prepare_directories()
- ❌ 缺失: manifest.json生成
- ❌ 缺失: report.md生成
- ❌ 缺失: 可复现性信息
需修订:
- 添加manifest.json生成
- 添加report.md生成
- 添加可复现性信息
9. run_synteny.py
评分: 6/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ⚠️ 部分: validate_inputs()但非标准
- ❌ 缺失: prepare_directories()
- ❌ 缺失: manifest.json生成
- ❌ 缺失: report.md生成
- ⚠️ 部分: 可复现性信息
需修订:
- 添加prepare_directories()
- 添加manifest.json生成
- 添加report.md生成
- 完善可复现性信息
10. run_interspecies_synteny.py
评分: 6/10
- ✅ 标准文档字符串
- ✅ get_tool_versions()
- ✅ compute_file_hash()
- ❌ 缺失: validate_previous_stage()
- ✅ prepare_directories()
- ❌ 缺失: manifest.json生成
- ❌ 缺失: report.md生成
- ⚠️ 部分: 可复现性信息
需修订:
- 添加manifest.json生成
- 添加report.md生成
- 完善可复现性信息
修订优先级排序
🔴 P0 - 高优先级(基础依赖)
| 顺序 | 脚本 | 评分 | 原因 |
|---|---|---|---|
| 1 | run_genome_prepare.py | 7/10 | 所有分析的起点 |
| 2 | run_identify.py | 8/10 | 核心鉴定步骤 |
| 3 | run_phylogeny.py | 10/10 | 已是标准,无需修订 |
🟡 P1 - 中优先级(主要分析)
| 顺序 | 脚本 | 评分 | 原因 |
|---|---|---|---|
| 4 | run_motif.py | 7/10 | 依赖identify |
| 5 | run_domain.py | 7/10 | 依赖identify |
| 6 | run_promoter.py | 8/10 | 依赖phylogeny |
🟢 P2 - 低优先级(进阶分析)
| 顺序 | 脚本 | 评分 | 原因 |
|---|---|---|---|
| 7 | run_synteny.py | 6/10 | 进阶分析 |
| 8 | run_karyotype.py | 6/10 | 依赖synteny |
| 9 | run_interspecies_synteny.py | 6/10 | 进阶分析 |
| 10 | run_expression.py | 4/10 | 独立流程,需大幅重写 |
修订计划总览
Phase 1: 基础阶段 (P0)
- run_genome_prepare.py - 完善manifest和report
- run_identify.py - 添加prepare_directories
Phase 2: 核心分析阶段 (P1)
- run_motif.py - 标准化结构
- run_domain.py - 标准化结构
- run_promoter.py - 添加依赖验证
Phase 3: 进阶分析阶段 (P2)
- run_synteny.py - 完整manifest和report
- run_karyotype.py - 完整manifest和report
- run_interspecies_synteny.py - 完整manifest和report
- run_expression.py - 重写为标准结构
Phase 4: MAS集成
- 创建Stage适配器层
- 连接RAG API
- 多智能体联动
评估完成,准备开始修订