生成模型:Gemini-2.0-Flash-Thinking-Exp,生成时间:2025-04-07T13:05:00Z 。
SMILES (Simplified Molecular Input Line Entry System, 简化分子线性输入系统) 是一种用于以 简洁的文本字符串 来描述分子结构的表示方法。它可以被计算机程序理解和处理,同时也能被人相对容易阅读和书写。
你可以把 SMILES 看作是分子的“文字编码”,就像 DNA 的序列是遗传信息的文字编码一样。
核心概念:
- 线性表示: SMILES 将分子的二维或三维结构信息压缩到一个单行的文本字符串中。
- 基于图论: 它基于化学图论,将分子视为原子和化学键组成的图。
- 广泛应用: SMILES 在化学信息学、药物发现、化学数据库等领域被广泛使用,用于分子搜索、数据存储、模型构建等。
为什么使用 SMILES ?
- 计算机可读性: 计算机很容易解析和处理文本字符串,这使得 SMILES 成为计算机程序处理分子结构的理想格式。
- 简洁性: SMILES 字符串通常比绘制分子的图形更简洁,尤其是对于复杂的分子。
- 标准化: SMILES 是一种标准化的表示方法,确保不同的软件和数据库能够一致地理解分子结构。
- 易于存储和传输: 文本字符串比图形数据更方便存储、传输和分享。
- 支持自动化处理: 可以利用程序自动生成、解析和转换 SMILES 字符串,方便大规模的化学数据处理。
SMILES 的基本语法:
-
原子符号: 使用标准的化学元素符号来表示原子,例如:
C
:碳原子O
:氧原子N
:氮原子Cl
:氯原子H
:氢原子 (通常在非末端碳原子上省略)
-
化学键: 用符号表示原子之间的化学键:
-
:单键 (默认情况下,两个相邻原子之间如果没有明确指定键类型,则默认为单键)=
:双键#
:三键:
:芳香键
-
分支结构 (支链): 使用括号
()
来表示分叉结构 (支链)。例如,异丙醇:CC(C)O
,括号内的C
和O
是连在第一个C
碳原子上的支链。 -
环状结构 (环): 使用数字来标记环的闭合点。例如,环己烷:
C1CCCCC1
,数字1
表示第一个和最后一个碳原子连接形成环。 -
同位素、电荷、手性等信息 (更高级): SMILES 还支持表示同位素 (例如
[13C]
), 电荷 (例如[O-]
,[NH4+]
), 手性 (例如@
,@@
) 等更高级的分子信息。 这些属于更进阶的 SMILES 语法。
一些简单的 SMILES 例子:
- 水 (H₂O):
O
- 甲烷 (CH₄):
C
- 乙烷 (C₂H₆):
CC
- 乙烯 (C₂H₄):
C=C
- 乙醇 (CH₃CH₂OH):
CCO
或C-C-O
- 苯 (C₆H₆): 你可以有几种表示方法,例如:
c1ccccc1
(使用小写c
表示芳香碳原子)C1=CC=CC=C1
(显式表示双键和单键交替)[c]1[c][c][c][c][c]1
(使用方括号[]
和小写c
更明确地表示芳香碳)
- 阿司匹林:
CC(=O)Oc1ccccc1C(=O)O
在线工具和资源:
有很多在线工具和资源可以帮助你理解和生成 SMILES 字符串:
- Online SMILES Translator: 很多在线化学结构编辑器都带有 SMILES 转换功能。你可以在网上搜索 “SMILES translator” 或 “chemical structure editor online”。
- RDKit (开源化学信息学软件库): RDKit 是一个强大的 Python 库,可以用于处理 SMILES 字符串,包括解析、生成、验证和分子指纹计算等等。
- Open Babel (开源化学格式转换工具): Open Babel 可以进行多种化学文件格式之间的转换,也包括 SMILES。
总结:
SMILES 是一种强大且通用的分子结构文本表示方法。 学习 SMILES 的基本语法可以帮助你理解和处理化学信息,尤其是在计算机辅助的化学研究中。 它是连接化学世界和计算机世界的桥梁。
如果你想深入学习 SMILES,可以查阅更详细的 SMILES 规范文档,或者学习一些化学信息学相关的工具和库,例如 RDKit。