5.6 KiB
Executable File
5.6 KiB
Executable File
系统发育提取 v4 使用说明
功能特性
v4版本是完整版,支持:
- ✅ 从PDF提取基础信息
- ✅ 自动从Europe PMC API获取补充材料
- ✅ 解析Excel提取完整分组
- ✅ 智能合并PDF和补充材料数据
- ✅ 自动计算并提升confidence score
安装依赖
# 安装pandas和openpyxl
pip3 install pandas openpyxl --break-system-packages
使用方法
基本用法
python extract_phylogeny_v4.py <pdf路径> --pmcid <PMCID>
示例
1. 番茄P450(需要补充材料)
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(不需要补充材料)
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. 指定输出目录
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)
{
"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)
{
"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分钟,可能是网络问题,建议:
- 重试
- 手动下载(见下方)
Q3: 没有PMCID怎么办?
可以不提供PMCID:
python extract_phylogeny_v4.py "论文.pdf"
但这样无法获取补充材料,confidence可能较低。
Q4: 如何手动下载补充材料?
如果自动下载失败,可以手动:
- 访问: https://www.ncbi.nlm.nih.gov/pmc/articles/{PMCID}/
- 找到 "Supplementary data" 部分
- 下载 "Additional file 1"
- 放到输出目录,命名为
{PMCID}_MOESM1_ESM.xlsx
技术细节
Europe PMC API
端点: https://www.ebi.ac.uk/europepmc/webservices/rest/{PMCID}/supplementaryFiles
方法: GET
返回: ZIP文件(包含所有补充材料)
自动触发条件
if confidence_score < 85 and pmcid:
fetch_supplementary_files()
置信度计算
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% |
下一步计划
- 批量处理: 支持一次处理多篇论文
- 缓存机制: 避免重复下载
- 更多期刊: 支持非PMC论文
- 可视化: 生成系统发育树
版本: v4.0 更新日期: 2026-03-30 作者: xialab的幸运星 🧬🤖