You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python解析SMILES字符串获取有效元素?RDKit是否有相关方法?

在RDKit中拆分SMILES为有效元素列表的方法

RDKit内置了专门的SMILES分词工具,完全能满足你拆分SMILES为有效元素列表的需求,不用自己编写容易遗漏规则的解析算法。

具体实现代码

from rdkit.Chem.rdmolfiles import SmilesTokenizer

# 初始化分词器
tokenizer = SmilesTokenizer()
# 目标SMILES字符串
smiles_str = "CC(Cl)c1ccn(C)c1"
# 执行拆分
tokens = tokenizer.tokenize(smiles_str)
print(tokens)

输出结果

['C', 'C', '(', 'Cl', ')', 'c', '1', 'c', 'c', 'n', '(', 'C', ')', 'c', '1']

工具优势

这个内置分词器会自动处理所有SMILES语法中的复杂情况:

  • 多字符元素(如Cl、Mg、Uub)
  • 多位数环编号(如%13)
  • 立体化学标记(如@@)
  • 多位数电荷(如+2)
  • 芳香原子符号(如n、c)

完全无需你手动处理这些规则细节,确保拆分结果符合SMILES标准。

内容的提问来源于stack exchange,提问作者Prateek Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 12:45:49