问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

化学分子结构表达详解:SMILES、SMARTS与InChI

创作时间:
作者:
@小白创作中心

化学分子结构表达详解:SMILES、SMARTS与InChI

引用
1
来源
1.
https://www.bilibili.com/read/mobile?id=39834306

化学分子结构的表达方式多种多样,其中一维线性表达因其在处理大量分子时的存储和操作优势而备受青睐。本文将重点介绍SMILES、SMARTS和InChI等主流的一维线性表达方法,帮助读者深入了解这些表达方式的基本规则、应用场景以及各自的优缺点。

一维线性表达的含义及类型

一维结构表达主要采用线性符号表示法(Line Notation),即利用线性的字符或数字组合来表示化合物结构,这样很容易被计算机储存和处理。常见的线性符号表示法包括SMILES、SLN和ROSDAL等。

  • SMILES (Simplified Molecular Input Line Entry System)格式是目前化学信息学中的主流表达方法。
  • SLN(SYBYL Linear Notation)是Tripos公司为其分子模拟和药物设计软件SYBYL开发的线性表达方式,与SMILES相似,可视为SMILES的改进版。
  • ROSDAL曾用于Beilstein系统的分子结构表示,但现在已较少使用。

SMILES基本规则

SMILES(Simplified Molecular Input Line Entry System)是一种用于描述分子结构的简化线性输入系统,由美国环境保护局的David Weininger在1986年提出。这种格式通过字符串来编码分子结构,此后,该系统不断得到扩充和完善,特别是Daylight化学信息系统公司对此做出了重要贡献。

SMILES的应用非常广泛,它作为一种独立于硬件和软件的数据交换语言,不需要图形界面即可在多种在线服务和数据传输系统中使用,这使得它成为化学结构输入的重要工具。

  • 原子表示:原子通常以大写元素符号表示(省略氢原子),芳香结构原子则以小写元素符号表示。比如,环已烷C6H12被表示为:C1CCCCC1,而苯C6H6则表示为:clcccccl。
  • 键的表示:相邻原子依次排放在一起,单键通常省略,双键和三键分别以“=”和“#”表示,芳香键以“:”表示,也可省略。比如,乙炔 HC

    CH 被表示为:C#C。
  • 分支和环的表示:分支部分放在括号内,环则打开,并赋予断开键两端的原子以相同的数值。比如,异丁酸(CH3)2CHCOOH被表示为:CC(C)C(=O)O。
  • 离子表示:离子用方括号括起,用元素符号和电荷表示,“十”表示正电荷、“一”表示负电荷,电荷数跟在正负号之后。如果该原子与氢原子相连,则氢原子写在元素符号后面。比如:铵离子(NH4+)被表示为[NH4+],氢氧根离子(OH-)被表示为[OH-],四价钛离子(Ti4+)被表示为[Ti+4]或[Ti++++]。
  • 立体化学信息
  • 顺反异构:双键两侧的结构分别用符号“/”和“\”来表示。例如,F/C=C/F或者F\C=C\F表示反二氟乙烯,它的两个氟原子位于双键的两侧;而F/C=C\F或者F\C=C/F则表示顺二氟乙烯,它的两个氟原子位于双键的同一侧。再比如:Cl/C=C/Br(反式),CI/C=C\Br(顺式)。
  • 旋光异构:手性碳原子用@(逆时针)或@@(顺时针)表示,围绕在手性中心周围的原子可以从标识符@或@@表示中得到原子的顺序。比如:丙氨酸,普通SMILES式为NC(C)C(=O)O,或者可以写为NCHC(=O)O。而L-丙氨酸则应表示为NC@@HC(=O)O,标示符@@表明,从氮原子(N)处沿着连接氮原子和手性中心碳原子的键看去,取代基氢原子(H)、甲基(C)和羧基(C(=O)O)按顺时针顺序出现。请注意:这里取代基列出的顺序非常重要,与@或@@符号要保持一致,因此,L-丙氨酸也可以表示为NC@HC,即如果从N原子沿N-C键看去,取代基氢原子(H)、羧基(C(=O)O)和甲基(C)按逆时针顺序出现。相应地,D-丙氨酸可以表示为:NC@HC(=0)O或者 NC@@HC。

SMARTS格式

SMARTS(SMILES ARbitrary Target Specification)是SMILES的一个扩展,由David Weininger开发,用于描述更复杂的化学结构模式。与SMILES不同,SMARTS不仅能够描述一个确切的分子结构,还能定义一个结构的模式,从而在化学数据库中进行精确的搜索和匹配。

  • 通配符的使用:SMARTS通过使用通配符如*(任何原子)、A(任何脂肪族原子)、a(任何芳香族原子)等,可以表示一类原子或化学键。
  • 逻辑运算符:SMARTS允许使用逻辑运算符如&(和)、|(或)、!(非)等,来组合不同的结构特征,实现复杂的结构查询。
  • 环搜索:SMARTS能够表示环的存在,例如r6表示一个六元环,这在寻找特定环结构的化合物时非常有用。
  • 距离和连接性:SMARTS可以指定原子之间的距离和连接性,例如C-0表示碳原子和氧原子之间有一个单键。

InChI表达式

InChI(International Chemical Identifier,国际化学标识符)是一种由国际纯粹与应用化学联合会(IUPAC)和美国化学文摘社(Chemical Abstracts Service, CAS)共同开发的分子结构的标准化表示方法。InChI的目的是为每一种化学物质提供一个唯一的、机器可读的标识符,以解决SMILES表达式可能存在的非唯一性问题。

  • 唯一性:每个分子结构无论其排列方式如何,都会有一个唯一的InChI编码,这保证了在不同数据库和文献中的一致性。
  • 层次结构:InChI编码由多个部分组成,包括分子公式、连接表、立体化学信息等,这些部分按照一定的层次结构排列。
  • 立体化学:InChI能够精确地表示分子的立体化学,包括顺反异构和旋光异构,这对于手性分子的识别尤为重要。
  • 距离和连接性:SMARTS可以指定原子之间的距离和连接性,例如C-0表示碳原子和氧原子之间有一个单键。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号