Files
PlantAI-dev/memory/2026-03-30-compliance-assessment.md
2026-08-21 11:06:49 +08:00

6.4 KiB
Executable File
Raw Permalink Blame History

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生成
  • ⚠️ 部分: 可复现性信息不完整

需修订:

  1. 完善manifest.json格式(符合schema)
  2. 添加report.md生成
  3. 完善可复现性信息

3. run_identify.py

评分: 8/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions() (通过run_cmd)
  • ✅ compute_file_hash()
  • ❌ 缺失: validate_previous_stage() (无上游,但应验证输入)
  • ❌ 缺失: prepare_directories() (分散在代码中)
  • ✅ 生成manifest.json
  • ✅ 生成report.md
  • ✅ 可复现性信息

需修订:

  1. 添加prepare_directories()函数
  2. 统一目录创建逻辑

4. run_motif.py

评分: 7/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ⚠️ 部分: 有resolve_protein_fasta()但非标准validate
  • ❌ 缺失: prepare_directories()
  • ✅ 生成manifest.json
  • ✅ 生成report.md
  • ⚠️ 部分: 可复现性信息

需修订:

  1. 添加prepare_directories()
  2. 标准化validate_previous_stage()
  3. 完善可复现性信息

5. run_domain.py

评分: 7/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ⚠️ 部分: 有find_latest_manifest()但非标准validate
  • ❌ 缺失: prepare_directories()
  • ✅ 生成manifest.json
  • ✅ 生成report.md
  • ⚠️ 部分: 可复现性信息

需修订:

  1. 添加prepare_directories()
  2. 标准化validate_previous_stage()
  3. 完善可复现性信息

6. run_promoter.py

评分: 8/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ❌ 缺失: validate_previous_stage() (需要phylogeny产物)
  • ❌ 缺失: prepare_directories()
  • ✅ 生成manifest.json
  • ✅ 生成report.md
  • ✅ 可复现性信息

需修订:

  1. 添加prepare_directories()
  2. 添加validate_phylogeny_output()
  3. 添加figures字段到manifest

7. run_expression.py

评分: 4/10 ⚠️ 最不完整

  • ⚠️ 部分: 简单文档字符串
  • ❌ 缺失: get_tool_versions()
  • ❌ 缺失: compute_file_hash()
  • ❌ 缺失: validate_previous_stage()
  • ❌ 缺失: prepare_directories()
  • ❌ 缺失: manifest.json生成
  • ❌ 缺失: report.md生成
  • ❌ 缺失: 可复现性信息

需大幅修订:

  1. 重写为标准结构
  2. 添加所有缺失要素

8. run_karyotype.py

评分: 6/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ⚠️ 部分: validate_inputs()但非标准validate_previous_stage
  • ✅ prepare_directories()
  • ❌ 缺失: manifest.json生成
  • ❌ 缺失: report.md生成
  • ❌ 缺失: 可复现性信息

需修订:

  1. 添加manifest.json生成
  2. 添加report.md生成
  3. 添加可复现性信息

9. run_synteny.py

评分: 6/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ⚠️ 部分: validate_inputs()但非标准
  • ❌ 缺失: prepare_directories()
  • ❌ 缺失: manifest.json生成
  • ❌ 缺失: report.md生成
  • ⚠️ 部分: 可复现性信息

需修订:

  1. 添加prepare_directories()
  2. 添加manifest.json生成
  3. 添加report.md生成
  4. 完善可复现性信息

10. run_interspecies_synteny.py

评分: 6/10

  • ✅ 标准文档字符串
  • ✅ get_tool_versions()
  • ✅ compute_file_hash()
  • ❌ 缺失: validate_previous_stage()
  • ✅ prepare_directories()
  • ❌ 缺失: manifest.json生成
  • ❌ 缺失: report.md生成
  • ⚠️ 部分: 可复现性信息

需修订:

  1. 添加manifest.json生成
  2. 添加report.md生成
  3. 完善可复现性信息

修订优先级排序

🔴 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
  • 多智能体联动

评估完成,准备开始修订