Files
PlantAI-rag/docs/analysis/extract_phylogeny_v4_README.md
2026-07-10 17:59:59 +08:00

277 lines
5.6 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 系统发育提取 v4 使用说明
## 功能特性
v4版本是完整版,支持:
1. ✅ 从PDF提取基础信息
2. ✅ 自动从Europe PMC API获取补充材料
3. ✅ 解析Excel提取完整分组
4. ✅ 智能合并PDF和补充材料数据
5. ✅ 自动计算并提升confidence score
---
## 安装依赖
```bash
# 安装pandas和openpyxl
pip3 install pandas openpyxl --break-system-packages
```
---
## 使用方法
### 基本用法
```bash
python extract_phylogeny_v4.py <pdf路径> --pmcid <PMCID>
```
### 示例
#### 1. 番茄P450(需要补充材料)
```bash
python extract_phylogeny_v4.py \
"/home/xia-lab/gene-family-mas-v2/paper/ceshi/番茄p450基因家族BMCgenomics2020.pdf" \
--pmcid PMC6367802
```
**预期结果**:
- 初始confidence: 40/100
- 下载补充材料后: 100/100
- 提取到52个分组
#### 2. 短柄AP2(不需要补充材料)
```bash
python extract_phylogeny_v4.py \
"/home/xia-lab/gene-family-mas-v2/paper/ceshi/短柄AP2s12864-016-2968-8.pdf" \
--pmcid PMC4986339
```
**预期结果**:
- 初始confidence: 100/100
- 跳过补充材料下载
- 直接提取成功
#### 3. 指定输出目录
```bash
python extract_phylogeny_v4.py \
"论文.pdf" \
--pmcid PMC1234567 \
--output-dir ./my_results
```
---
## 输出文件
运行后会生成以下文件:
```
evaluation/auto_results/
├── {论文名}_v4.json # 完整结果(包含所有分组详情)
├── {论文名}_v4_report.json # 简化报告
├── {论文名}_supplementary.zip # 下载的补充材料(如果有)
└── {PMCID}_MOESM1_ESM.xlsx # 解压的Excel文件(如果有)
```
---
## 结果字段说明
### 完整结果 (_v4.json)
```json
{
"pdf_name": "番茄p450基因家族BMCgenomics2020",
"pmcid": "PMC6367802",
"gene_family": "P450",
"species": "Solanum lycopersicum",
"total_genes": 233,
"total_groups": 52,
"groups": {
"Group_71": ["CYP71D184", "CYP71D185", ...],
"Group_72": ["CYP72A51", "CYP72A172", ...],
...
},
"confidence_score": 100,
"confidence_level": "high",
"source": "pdf+supplementary",
"supplementary_file": "12864_2019_5483_MOESM1_ESM.xlsx",
"validation": {
"gene_coverage": 1.0,
"group_coverage": 1.0
}
}
```
### 简化报告 (_v4_report.json)
```json
{
"pdf_name": "番茄p450基因家族BMCgenomics2020",
"pmcid": "PMC6367802",
"confidence_score": 100,
"confidence_level": "high",
"gene_family": "P450",
"species": "Solanum lycopersicum",
"total_genes": 233,
"total_groups": 52,
"source": "pdf+supplementary",
"has_supplementary": true
}
```
---
## 工作流程
```
输入: PDF + PMCID
↓
步骤1: 从PDF提取基础信息
- 基因家族名
- 物种名
- 总基因数
↓
步骤2: 计算初始置信度
- 如果 >= 85: 直接输出
- 如果 < 85: 继续步骤3
↓
步骤3: 获取补充材料
- 从Europe PMC API下载ZIP
- 解压提取Excel
- 解析Excel获取分组
↓
步骤4: 合并数据
- PDF基础信息
+ Excel分组详情
↓
步骤5: 重新计算置信度
- 通常从40提升到100
↓
输出: 完整结果
```
---
## 支持的期刊
| 期刊 | PMCID格式 | 补充材料可用性 |
|:---|:---|:---|
| BMC Genomics | PMC6367802 | ✅ 可用 |
| BMC Plant Biology | PMCxxxxxxx | ✅ 可用 |
| Frontiers in Plant Science | PMCxxxxxxx | ✅ 可用 |
| PLOS ONE | PMCxxxxxxx | ✅ 可用 |
| Nature Communications | PMCxxxxxxx | ✅ 可用 |
---
## 常见问题
### Q1: 如何找到PMCID?
**方法1**: 从PubMed页面查找
- 访问 https://pubmed.ncbi.nlm.nih.gov/
- 搜索论文标题
- 在页面右侧找到 "PMCID"
**方法2**: 从论文PDF
- 通常在第一页或致谢部分
- 格式: PMC6367802
**方法3**: 从DOI
- 访问 https://www.ncbi.nlm.nih.gov/pmc/
- 搜索DOI
### Q2: 下载很慢怎么办?
补充材料ZIP文件通常较大(10-100MB),下载时间:
- 快: 10-30秒
- 慢: 1-2分钟
如果超过2分钟,可能是网络问题,建议:
1. 重试
2. 手动下载(见下方)
### Q3: 没有PMCID怎么办?
可以不提供PMCID:
```bash
python extract_phylogeny_v4.py "论文.pdf"
```
但这样无法获取补充材料,confidence可能较低。
### Q4: 如何手动下载补充材料?
如果自动下载失败,可以手动:
1. 访问: https://www.ncbi.nlm.nih.gov/pmc/articles/{PMCID}/
2. 找到 "Supplementary data" 部分
3. 下载 "Additional file 1"
4. 放到输出目录,命名为 `{PMCID}_MOESM1_ESM.xlsx`
---
## 技术细节
### Europe PMC API
```
端点: https://www.ebi.ac.uk/europepmc/webservices/rest/{PMCID}/supplementaryFiles
方法: GET
返回: ZIP文件(包含所有补充材料)
```
### 自动触发条件
```python
if confidence_score < 85 and pmcid:
fetch_supplementary_files()
```
### 置信度计算
```python
score = 0
if total_genes > 0: score += 20
if gene_family: score += 10
if species: score += 10
if groups: score += 30
if coverage >= 0.95: score += 30
```
---
## 版本对比
| 功能 | v2 | v3 | v4 |
|:---|:---|:---|:---|
| PDF提取 | ✅ | ✅ | ✅ |
| Confidence分数 | ❌ | ✅ | ✅ |
| Basis字段 | ❌ | ✅ | ✅ |
| 自动获取补充材料 | ❌ | ❌ | ✅ |
| Excel解析 | ❌ | ❌ | ✅ |
| 完整分组提取 | ⚠️ | ⚠️ | ✅ |
| 番茄P450成功率 | 40% | 40% | 100% |
---
## 下一步计划
1. **批量处理**: 支持一次处理多篇论文
2. **缓存机制**: 避免重复下载
3. **更多期刊**: 支持非PMC论文
4. **可视化**: 生成系统发育树
---
*版本: v4.0*
*更新日期: 2026-03-30*
*作者: xialab的幸运星 🧬🤖*