[ PROMPT_NODE_26808 ]
api_guide
[ SKILL_DOCUMENTATION ]
# Medchem API 参考
所有 medchem 模块和函数的综合参考。
## 模块:medchem.rules
### 类:RuleFilters
基于多条药物化学规则过滤分子。
**构造函数:**
python
RuleFilters(rule_list: List[str])
**参数:**
- `rule_list`: 要应用的规则名称列表。请参阅下方的可用规则。
**方法:**
python
__call__(mols: List[Chem.Mol], n_jobs: int = 1, progress: bool = False) -> Dict
- `mols`: RDKit 分子对象列表
- `n_jobs`: 并行作业数(-1 使用所有核心)
- `progress`: 显示进度条
- **返回**: 包含每条规则结果的字典
**示例:**
python
rfilter = mc.rules.RuleFilters(rule_list=["rule_of_five", "rule_of_cns"])
results = rfilter(mols=mol_list, n_jobs=-1, progress=True)
## 模块:medchem.rules.basic_rules
可应用于单个分子的独立规则函数。
#### rule_of_five()
python
rule_of_five(mol: Union[str, Chem.Mol]) -> bool
用于口服生物利用度的 Lipinski 五规则。
**标准:**
- 分子量 ≤ 500 Da
- LogP ≤ 5
- 氢键供体 ≤ 5
- 氢键受体 ≤ 10
**参数:**
- `mol`: SMILES 字符串或 RDKit 分子对象
**返回:** 如果分子通过所有标准则返回 True
#### rule_of_three()
python
rule_of_three(mol: Union[str, Chem.Mol]) -> bool
用于片段筛选库的三规则。
**标准:**
- 分子量 ≤ 300 Da
- LogP ≤ 3
- 氢键供体 ≤ 3
- 氢键受体 ≤ 3
- 可旋转键 ≤ 3
- 极性表面积 ≤ 60 Ų
#### rule_of_oprea()
python
rule_of_oprea(mol: Union[str, Chem.Mol]) -> bool
用于从命中到先导化合物优化的 Oprea 类先导标准。
**标准:**
- 分子量: 200-350 Da
- LogP: -2 到 4
- 可旋转键 ≤ 7
- 环 ≤ 4
#### rule_of_cns()
python
rule_of_cns(mol: Union[str, Chem.Mol]) -> bool
CNS(中枢神经系统)药物相似性规则。
**标准:**
- 分子量 ≤ 450 Da
- LogP: -1 到 5
- 氢键供体 ≤ 2
- TPSA ≤ 90 Ų
#### rule_of_leadlike_soft()
python
rule_of_leadlike_soft(mol: Union[str, Chem.Mol]) -> bool
软性类先导标准(更宽松)。
**标准:**
- 分子量: 250-450 Da
- LogP: -3 到 4
- 可旋转键 ≤ 10
#### rule_of_leadlike_strict()
python
rule_of_leadlike_strict(mol: Union[str, Chem.Mol]) -> bool
严格类先导标准(更严苛)。
**标准:**
- 分子量: 200-350 Da
- LogP: -2 到 3.5
- 可旋转键 ≤ 7
- 环: 1-3
#### rule_of_veber()
pytho