Files
2026-08-21 11:06:49 +08:00

138 lines
4.2 KiB
Markdown
Executable File

# 2026-03-27 修订记录 - Promoter分析可视化完善
## 项目
bbav20311 - Promoter分析模块
## 今日完成内容
### 1. Promoter分析核心功能增强
#### 1.1 unknown/Unnamed元件过滤
- **问题**: PlantCARE输出包含大量"unknown"和"Unnamed__X"元件
- **解决**: 在`parse_plantcare_output()`中添加过滤逻辑
- **效果**: 4,271 → 3,699有效元件(过滤572个)
- **输出**: `plantCARE_output_filtered.tab`, `filtered_elements_stats.txt`
#### 1.2 启动子分析报告生成
- **新增**: `generate_promoter_report()`函数
- **内容**:
- 分析概览、Top 20元件、13类别统计
- 生物学解读(激素、胁迫、TF结合等)
- 高级分析: 富集分析、共现模式、复杂度评分
- **输出**: `{prefix}.promoter_report.md`
#### 1.3 高级分析功能
| 分析类型 | 函数 | 输出文件 | 结果 |
|---------|------|---------|------|
| 亚家族富集 | `calculate_enrichment()` | `{prefix}_enrichment_analysis.txt` | 160个富集对 |
| 元件共现 | `calculate_cooccurrence()` | `{prefix}_cooccurrence_analysis.txt` | 1,819个显著对 |
| 复杂度评分 | `calculate_promoter_complexity()` | `{prefix}_promoter_complexity.txt` | 23个基因分析 |
### 2. 增强可视化 (8种图表)
#### 2.1 最终版本V4
**脚本**: `scripts/promoter_v4_final.R`
| 编号 | 图表类型 | 说明 |
|------|----------|------|
| 01 | 三合一组合 | 外部树图+7分类结构+红绿热图 |
| 02 | 7大分类细分 | 每类Top 10元件 |
| 03 | 全热图 | 全基因×全元件,红绿配色 |
| 04 | 堆叠图 | 7分类堆叠 |
#### 2.2 关键改进
- **进化树图**: 使用`pdftoppm`将PDF转为PNG读取,保留原有样式
- **红绿配色**: RdYlGn调色板
- `#d73027`(深红) → `#fc8d59`(橙红) → `#fee08b`(黄)
- `#d9ef8b`(浅绿) → `#91cf60`(绿) → `#1a9850`(深绿)
- **图例**: 热图右侧显示Count图例
#### 2.3 7大分类定义
| 分类 | 颜色 | 包含元件 |
|------|------|---------|
| Core promoter | #e41a1c | TATA, CAAT, Inr |
| Light response | #377eb8 | G-box, GT1, I-box |
| Hormone signaling | #4daf4a | ABRE, GA, JA, SA, Auxin, Ethylene |
| Stress response | #984ea3 | DRE, LTR, ARE, STRE |
| TF binding | #ff7f00 | MYB, MYC, WRKY |
| Development | #f781bf | RY, AAGAA, CAT |
| Other | #999999 | 未分类 |
### 3. 修改的文件
#### Python代码
- `apps/cli/run_promoter.py`
- 添加`should_filter_element()`
- 添加`categorize_element()`
- 添加`generate_promoter_report()`
- 添加`calculate_enrichment()`
- 添加`calculate_cooccurrence()`
- 添加`calculate_promoter_complexity()`
#### R代码
- `scripts/promoter_v4_final.R` (最终版本)
#### 修订记录文档
- `REVISION_PROMOTER_20250327.md`
- `REVISION_PROMOTER_V2_20250327.md`
- `REVISION_PROMOTER_V3_20250327.md`
- `REVISION_PROMOTER_V4_20250327.md`
- `REVISION_PROMOTER_V4_FINAL_20250327.md`
### 4. 生物学发现 (Ft.SPL示例)
#### 元件分布
- Core promoter: 2,565 (69.3%) - TATA-box(1,460), CAAT-box(852)
- Hormone signaling: 255 (6.9%)
- Light response: 188 (5.1%)
- Stress response: 177 (4.8%)
- TF binding: 196 (5.3%)
#### 共现模式
- CAAT-box + MYB: 23基因
- CAAT-box + TATA-box: 23基因
- Hub元件: Box 4, CAAT-box, MYB (各75连接)
#### 复杂度
- 平均: 241.4分
- 最高: FtPinG0006337300 (361.44分)
- 所有基因均为"Very High"复杂度
### 5. 运行方式
```bash
# Python分析
python apps/cli/run_promoter.py \
--input-dir input/job_xxx \
--workspace workspace/job_xxx \
--prefix Ft.SPL
# R可视化
Rscript scripts/promoter_v4_final.R \
[树PDF] [分组文件] [启动子文件] [描述文件] [输出前缀]
```
## 测试状态
```
✅ Syntax check: PASSED
✅ Filter function: 572 elements filtered
✅ Categorization: 13 categories assigned
✅ Report generation: SUCCESS
✅ Enrichment analysis: 160 pairs
✅ Co-occurrence analysis: 1,819 pairs
✅ Complexity scoring: 23 genes
✅ R visualization: 8/8 files generated
✅ External tree PDF reading: SUCCESS
✅ Red-green color scheme: RdYlGn applied
```
## 时间
- 开始: 2026-03-27 10:56
- 完成: 2026-03-27 20:30
- 总时长: ~10小时
## 备注
- 使用test4py311环境运行R脚本
- 需要R包: tidyverse, ggtree, treeio, ape, patchwork, aplot, RColorBrewer
- 系统依赖: pdftoppm (用于PDF转PNG)