[ PROMPT_NODE_26440 ]
conformers_module
[ SKILL_DOCUMENTATION ]
# Datamol 构象模块参考
`datamol.conformers` 模块提供了用于生成和分析 3D 分子构象的工具。
## 构象生成
### `dm.conformers.generate(mol, n_confs=None, rms_cutoff=None, minimize_energy=True, method='ETKDGv3', add_hs=True, ...)`
生成 3D 分子构象。
- **参数**:
- `mol`: 输入分子
- `n_confs`: 要生成的构象数量(若为 None,则根据可旋转键自动确定)
- `rms_cutoff`: 用于过滤相似构象的 RMS 阈值(单位:埃,用于去除重复项)
- `minimize_energy`: 应用 UFF 能量最小化(默认:True)
- `method`: 嵌入方法 - 选项:
- `'ETDG'` - 实验扭转距离几何
- `'ETKDG'` - 带有额外基础知识的 ETDG
- `'ETKDGv2'` - 增强版 2
- `'ETKDGv3'` - 增强版 3(默认,推荐)
- `add_hs`: 在嵌入前添加氢原子(默认:True,对质量至关重要)
- `random_seed`: 设置随机种子以保证可重复性
- **返回**:带有嵌入构象的分子
- **示例**:
python
mol = dm.to_mol("CCO")
mol_3d = dm.conformers.generate(mol, n_confs=10, rms_cutoff=0.5)
conformers = mol_3d.GetConformers() # 访问所有构象
## 构象聚类
### `dm.conformers.cluster(mol, rms_cutoff=1.0, already_aligned=False, centroids=False)`
按 RMS 距离对构象进行分组。
- **参数**:
- `rms_cutoff`: 聚类阈值(单位:埃,默认:1.0)
- `already_aligned`: 构象是否已预先对齐
- `centroids`: 返回质心构象 (True) 还是聚类组 (False)
- **返回**:聚类信息或质心构象
- **用例**:识别不同的构象家族
### `dm.conformers.return_centroids(mol, conf_clusters, centroids=True)`
从聚类中提取代表性构象。
- **参数**:
- `conf_clusters`: 来自 `cluster()` 的聚类索引序列
- `centroids`: 返回单个分子 (True) 还是分子列表 (False)
- **返回**:质心构象
## 构象分析
### `dm.conformers.rmsd(mol)`
计算所有构象之间的成对 RMSD 矩阵。
- **要求**:至少 2 个构象
- **返回**:RMSD 值的 NxN 矩阵
- **用例**:量化构象多样性
### `dm.conformers.sasa(mol, n_jobs=1, ...)`
使用 FreeSASA 计算溶剂可及表面积 (SASA)。
- **参数**:
- `n_jobs`: 多构象并行化
- **返回**:数组