Initial commit
This commit is contained in:
170
macrolactone_ring_results_complete/README.md
Normal file
170
macrolactone_ring_results_complete/README.md
Normal file
@@ -0,0 +1,170 @@
|
||||
|
||||
# 大环内酯环大小识别完整版结果
|
||||
|
||||
## 🎯 完整修复概述
|
||||
|
||||
本版本解决了所有之前的问题,实现了真正的高效大环内酯识别:
|
||||
|
||||
### 🔧 修复的关键问题
|
||||
|
||||
#### 1. **预处理分子数量限制**
|
||||
- **问题**: 每个文件只处理5万个分子
|
||||
- **解决**: 移除所有限制,处理所有分子
|
||||
- **结果**: 从609万分子增加到完整数据集
|
||||
|
||||
#### 2. **方法调用错误**
|
||||
- **问题**: `'MacrolactoneFragmenter' object has no attribute 'detect_ring_sizes'`
|
||||
- **解决**: 使用正确的 `MacroLactoneAnalyzer.detect_ring_sizes()`
|
||||
- **结果**: 识别逻辑正常工作
|
||||
|
||||
#### 3. **大环内酯识别逻辑**
|
||||
- **问题**: 只识别环大小,未验证酯键
|
||||
- **解决**: 添加酯键验证 `has_ester_on_ring()`
|
||||
- **结果**: 只识别真正的大环内酯分子
|
||||
|
||||
#### 4. **并行处理策略**
|
||||
- **问题**: 文件级并行,效率不高
|
||||
- **解决**: 实现分子级并行处理
|
||||
- **结果**: 真正的高效并行识别
|
||||
|
||||
## 📊 处理结果统计
|
||||
|
||||
### 数据处理统计
|
||||
- **总SDF文件**: 139 个(不去重)
|
||||
- **数据总量**: 84.78 GB
|
||||
- **预处理分子数**: 31,080,720
|
||||
- **大环内酯分子数**: 5,160
|
||||
- **识别成功率**: 0.017%
|
||||
|
||||
### 性能指标
|
||||
- **预处理时间**: 7159.54 秒
|
||||
- **识别时间**: 2830.96 秒
|
||||
- **总处理时间**: 9990.50 秒
|
||||
- **识别速度**: 1.8 mol/s
|
||||
- **并行进程**: 128 个
|
||||
|
||||
### 按环大小分类结果
|
||||
|
||||
| 环大小 | 分子数量 | 占比 | CSV文件 |
|
||||
|--------|----------|------|---------|
|
||||
| 12元环 | 501 | 9.71% | macrolactone_ring12_complete.csv |
|
||||
| 13元环 | 600 | 11.63% | macrolactone_ring13_complete.csv |
|
||||
| 14元环 | 2,486 | 48.18% | macrolactone_ring14_complete.csv |
|
||||
| 15元环 | 135 | 2.62% | macrolactone_ring15_complete.csv |
|
||||
| 16元环 | 1,148 | 22.25% | macrolactone_ring16_complete.csv |
|
||||
| 17元环 | 52 | 1.01% | macrolactone_ring17_complete.csv |
|
||||
| 18元环 | 152 | 2.95% | macrolactone_ring18_complete.csv |
|
||||
| 19元环 | 77 | 1.49% | macrolactone_ring19_complete.csv |
|
||||
| 20元环 | 9 | 0.17% | macrolactone_ring20_complete.csv |
|
||||
|
||||
|
||||
## 🚀 技术创新
|
||||
|
||||
### 两阶段优化架构
|
||||
1. **无限制预处理**: SDF → 高效二进制格式
|
||||
2. **分子级并行识别**: 真正的并行分子处理
|
||||
|
||||
### 增强识别算法
|
||||
- **环大小识别**: `MacroLactoneAnalyzer.detect_ring_sizes()`
|
||||
- **酯键验证**: `MacroLactoneAnalyzer.has_ester_on_ring()`
|
||||
- **错误处理**: 单分子失败不影响整体
|
||||
|
||||
### 高性能并行策略
|
||||
- **文件级**: 逐文件处理,控制内存使用
|
||||
- **分子级**: 每文件内5000分子/批次并行
|
||||
- **进程级**: 最多128进程,80% CPU利用率
|
||||
|
||||
## 📁 完整文件结构
|
||||
|
||||
```
|
||||
preprocessed_molecules_unlimited/ # 无限制预处理文件
|
||||
├── *_unlimited.pkl.gz # 完整的分子数据
|
||||
└── preprocessing_log_*.csv # 预处理日志
|
||||
|
||||
macrolactone_ring_results_complete/ # 最终结果目录
|
||||
├── README.md # 本文档
|
||||
├── processing_summary.csv # 处理统计
|
||||
├── all_sdf_properties.txt # 属性标签列表
|
||||
├── macrolactone_ring12_complete.csv # 12元环数据
|
||||
├── macrolactone_ring13_complete.csv # 13元环数据
|
||||
├── macrolactone_ring14_complete.csv # 14元环数据
|
||||
├── macrolactone_ring15_complete.csv # 15元环数据
|
||||
├── macrolactone_ring16_complete.csv # 16元环数据
|
||||
├── macrolactone_ring17_complete.csv # 17元环数据
|
||||
├── macrolactone_ring18_complete.csv # 18元环数据
|
||||
├── macrolactone_ring19_complete.csv # 19元环数据
|
||||
├── macrolactone_ring20_complete.csv # 20元环数据
|
||||
|
||||
└── generated_files_list.csv # 文件清单
|
||||
```
|
||||
|
||||
## 🏢 商业价值
|
||||
|
||||
**数据提供商**: 上海陶术公司
|
||||
|
||||
### 完整可购买性保证
|
||||
- 所有分子均来自上海陶术公司商业数据库
|
||||
- 保留完整的购买信息(产品编号、CAS号、库存等)
|
||||
- 可直接用于药物研发和分子采购
|
||||
|
||||
### 应用场景
|
||||
- **药物发现**: 大环内酯类抗生素研究
|
||||
- **先导化合物**: 宏环化合物库构建
|
||||
- **结构分析**: 环大小-活性关系研究
|
||||
- **商业采购**: 目标分子批量购买
|
||||
|
||||
## 💡 使用指南
|
||||
|
||||
### 数据加载示例
|
||||
```python
|
||||
import pandas as pd
|
||||
from rdkit import Chem
|
||||
|
||||
# 加载特定环大小数据
|
||||
ring_14_data = pd.read_csv('macrolactone_ring14_complete.csv')
|
||||
print(f"14元环分子数: {len(ring_14_data)}")
|
||||
|
||||
# 重建分子对象
|
||||
smiles = ring_14_data.iloc[0]['smiles']
|
||||
mol = Chem.MolFromSmiles(smiles)
|
||||
```
|
||||
|
||||
### 环大小分布分析
|
||||
```python
|
||||
# 分析所有环大小的分子量分布
|
||||
for ring_size in [12, 13, 14, 15, 16, 17, 18, 19, 20]:
|
||||
df = pd.read_csv(f'macrolactone_ring{ring_size}_complete.csv')
|
||||
if len(df) > 0:
|
||||
print(f"{ring_size}元环平均分子量: {df['mol_weight'].mean():.2f}")
|
||||
```
|
||||
|
||||
## 🎯 质量保证
|
||||
|
||||
### ✅ 数据完整性
|
||||
- 所有SDF标签信息保留
|
||||
- 属性标签求并集处理
|
||||
- 来源文件可追溯性
|
||||
|
||||
### ✅ 识别准确性
|
||||
- 12-20元环精确识别
|
||||
- 酯键验证确保大环内酯特征
|
||||
- RDKit专业化学信息学验证
|
||||
|
||||
### ✅ 处理可靠性
|
||||
- 完整的错误处理机制
|
||||
- 分子级并行处理
|
||||
- 详细的处理日志记录
|
||||
|
||||
## 📞 联系信息
|
||||
|
||||
- **数据提供商**: 上海陶术公司
|
||||
- **官网**: https://www.targetmol.com/
|
||||
- **技术支持**: 请参考原始SDF文件中的联系方式
|
||||
|
||||
---
|
||||
|
||||
*生成时间: 2025-11-14 01:15:14*
|
||||
*完整修复版本: v3.0 - 解决所有问题,实现真正高效处理*
|
||||
*处理工具: RDKit + Joblib + Python 3.14*
|
||||
*数据来源: 上海陶术公司化学数据库*
|
||||
*架构: 两阶段无限制预处理 + 分子级并行识别*
|
||||
Reference in New Issue
Block a user