簡化分子線性輸入規範

Infobox file format|name=SMILES|extension=.smi|mime=chemical/x-daylight-smiles|owner=|genre=化學文件格式|container for=|contained by=|extended from=|extended to=|creatorcode=
環丙沙星的 SMILES 生成算法：打開環，然後寫成一條主鏈上的分支形式
簡化分子線性輸入規範（Simplified molecular input line entry specification，簡稱SMILES），是一種用ASCII字符串明確描述分子結構的規範。
SMILES字符串可以被大多數分子編輯軟件導入並轉換成二維圖形或分子的三維模型。轉換成二維圖形可以使用Helson的“結構圖生成算法”（Structure Diagram Generation algorithms）。
最初的 SMILES 規範始於 1980 年代，已經被多次修改和擴展。 2007 年，開源化學社區開發了一個名為 OpenSMILES 的開放標準。

**歷史**
最初的 SMILES 規範由David Weininger在1980年代在德盧斯的 USEPA大陸生態部實驗室發起。    感謝他們在早期開發中的貢獻：“Gilman Veith 和 Rose Russo (USEPA) 以及 Albert Leo 和Corwin Hansch (Pomona College) 支持這項工作，以及 Arthur Weininger (Pomona; Daylight CIS) 和 Jeremy Scofield (Cedar River Software, Renton, WA) 為系統編程提供幫助。” 環境保護署資助了開發 SMILES 的初始項目。  
它已被其他人或組織修改和擴展，例如日光化學信息系統（Daylight Chemical Information Systems）。2007 年，Blue Obelisk開源化學社區開發了一個名為“OpenSMILES”的開放標準。其他字符串符號表示方法包括 Wiswesser Line Notation (WLN)、 ROSDAL和SLN (Tripos Inc)。
2006年7月，IUPAC引入了InChI作為公式表示的標準。通常認為SMILES比InChI具有更易於人類可讀的優點；它還擁有廣泛的軟件支持基礎，具有廣泛的理論支持（例如圖論）。

**術語**
術語SMILES是指用於編碼分子結構的行符號，特定實例應嚴格稱為 SMILES 字符串。然而，術語SMILES也常用於指單個SMILES字符串和多個SMILES字符串。確切的含義通常從上下文中顯而易見。當應用於SMILES時，術語“規範”和“異構”可能會導致一些混淆。這些術語描述了SMILES字符串的不同屬性，並不相互排斥。
可以為一個分子通常具有多個同樣有效的SMILES字符串。例如，CCO、OCC和C(O)C都指定了乙醇的結構。為給定的分子生成相同的SMILES字符串的算法已經被開發完畢；這些算法在許多可能的字符串中只選擇其中一個。依賴於用於生成它的規範化算法，這個SMILES對於每個結構都是唯一的，這個SMILES被稱為規範SMILES。這些算法首先將SMILES轉換為分子結構的內部表示；然後算法會檢查該結構並生成唯一的SMILES字符串。下面是一些包含用於生成規範SMILES的算法的工具，包括Daylight Chemical Information Systems、OpenEye Scientific Software 、MEDIT 、Chemical Computing Group 、MolSoft LLC 和Chemistry Development Kit的算法。規範 SMILES 的一個常見應用是索引並確保數據庫中分子的唯一性。
描述CANGEN算法的原始論文聲稱可以為表示分子的圖形生成唯一的 SMILES 字符串，但該算法在許多簡單情況下都失敗了（例如cuneane 、1,2-二環丙基乙烷）並且被認為不能使用正確的方法典型地表示圖形。目前沒有跨商業軟件的系統比較來測試這些軟件包中是否存在此類缺陷。
SMILES符號允許指定四面體中心的配置和雙鍵幾何形狀。這些是不能僅由連接性指定的結構特徵，因此編碼此信息的SMILES稱為異構SMILES。這些規則的一個顯著特徵是它們允許對手性進行嚴格的部分說明。術語異構SMILES也適用於指定異構體的SMILES。

**基於圖的定義**
就基於圖的計算過程而言，SMILES 是通過深度優先遍歷分子結構式的中遇到的符號節點獲得的字符串。首先去除圖內的氫原子，然後打開環以將其變成生成樹。在環中斷的地方插入包含數字後綴的標籤（相同數字的節點表示該兩個原子相連）。括號用於表示支鏈。
生成的 SMILES 形式取決於選擇：- 選擇打破週期的化學鍵- 用於深度優先遍歷的起始原子- 順序規則

**SMILES 定義為上下文無關語言的字符串**
從形式語言理論的角度來看，SMILES 是一個詞。 SMILES 可以用上下文無關的解析器解析。基於相似分子具有相似特性的化學信息學的主要原理，這種表示的使用一直用於預測生化特性（包括毒性和生物降解性）。預測模型實現了句法模式識別方法（涉及定義分子距離）  ，以及基於統計模式識別的更強大的方案。 

**典範SMILES**
典範SMILES保證每個化學分子只有一個SMILES表達式，常用於分子數據庫的索引。

**記法**

**原子**
原子由方括號中的化學元素的標準縮寫表示，例如Au表示金。在以下原子的常見情況下可以省略括號：
# 屬於B 、 C 、 N 、 O 、 P 、 S 、 F 、 Cl 、 Br或I的“有機子集”
# 沒有形式電荷
# 具有 SMILES 化合價模型所暗示的氫的數量（通常是它們的正常化合價，但對於 N 和 P，它是 3 或 5，對於 S，它是 2、4 或 6）
# 是正常同位素
# 不是手性中心
所有其他元素必須用括號括起來，並明確顯示電荷和氫。例如，水的 SMILES 可以寫為O或OH2 。氫也可以寫成一個單獨的原子；水也可以寫成HOH 。
使用括號時，如果括號中的原子與一個或多個氫鍵合，則添加符號H ，如果大於 1，則添加氫原子數，然後添加符號+表示正電荷或-表示負電荷。例如， NH4+表示銨( + ）。如果有多個電荷，通常寫為數字；但是，也可以根據離子的電荷多次重複該符號：對於鈦(IV) Ti 4+ ，可以寫為Ti+4或Ti++++ 。因此，氫氧根陰離子（- ) 由OH-表示，水合氫陽離子 (H3O+)是OH3+ ，鈷(III)陽離子(Co 3+ )是Co+3或Co+++ 。

**化學鍵**
使用其中一個符號表示鍵. - = # $ : / \ 。
除非另有說明，否則脂肪族化合物原子之間的鍵被假定為單鍵，並且通過 SMILES 字符串中的鄰接來暗示。雖然單鍵可以寫為- ，但通常省略。例如，乙醇的 SMILES 可以寫成CCO 、 CC-O或C-CO ，但通常寫成CCO 。
雙鍵、三鍵和四鍵分別用符號= 、 #和$表示，如 SMILES O=C=O （二氧化碳）、 C#N （氰化氫HCN）和Ga+$As- （砷化鎵）。
另一種鍵是“不成鍵”，用 表示., 表示兩個部分沒有粘合在一起。例如，氯化鈉水溶液可寫為Na+.Cl-顯示解離。
芳香味化合物的芳香鍵可以用: ，見下面的環。
與雙鍵相鄰的單鍵可以使用/或\表示立體化學構型；見下面的立體化學。

**環**
為了形成無環結構，需要在所有環的任意點（某些特定的選擇可能會使結果更簡明）打斷。添加數字標籤以顯示不相鄰原子之間的連接性。
例如，環己烷和二噁烷可以分別寫成C1CCCCC1和O1CCOCC1。我們將第二個環的順序編為2，例如，十氫化萘可以寫為C1CCCC2C1CCCC2。
這是一些符合SMILES規範但很少用的環號編碼方法：- 環號的順序可以是任意的- 在環結束之後可以重用環號- 可以使用0作為環號
但是這通常會使SMILES更難閱讀。例如，環己基環己烷通常寫為C1CCCCC1C2CCCCC2，但也可能寫為C0CCCCC0C0CCCCC0。
單個原子後的多個數字表示多個閉環鍵。例如，十氫化萘的另一種SMILES符號是C1CCCC2CCCCC12，其中最終的碳同時結束了環1和環2。
如果需要兩位數的環號，則標籤前面有%，因此C%12是環12的單個閉環鍵。
環號前面可以有一個化學鍵符號用以指示閉環鍵的類型。例如，環丙烯通常寫作C1=CC1，但如果選擇雙鍵作為閉環鍵，則可以寫作C=1CC1、C1CC=1或C=1CC=1（儘量使用C1=CC1)。不可以對同一個閉環鍵指定多種類型，因此C=1CC-1是非法的。Ring-closing bonds may not be used to denote multiple bonds. For example, C1C1is not a valid alternative to C=C for ethylene. However, they may be used with non-bonds; C1.C2.C12is a peculiar but legal alternative way to write propane, more commonly writtenCCC.閉環鍵不能用於表示多重鍵。例如乙烯，C1C1不是C=C的有效替代品。但它們可以與不成鍵一起使用；C1.C2.C12是一種特殊但合法的書寫丙烷的替代方式，更常見的是書寫CCC。
選擇與支鏈相鄰的斷環點可以得出更簡單的SMILES形式。例如，1,2-環己二醇最簡單地寫為OC1CCCCC1O。選擇不同的位置斷環會產生一個分支結構。

**芳香環**
諸如苯之類的芳香環可以寫成以下三種形式之一：
# 具有交替單鍵和雙鍵的凱庫勒式CC=CC=C1
# 使用芳香鍵符號: ，例如C1:C:C:C:C:C1
# 最常見的是，通過分別以小寫形式b、c、n、o、p和s編寫構成 B、C、N、O、P 和 S 原子
在最後一種情況下，允許未指出兩個芳香原子之間的鍵是芳香鍵。因此，苯、吡啶和呋喃可以分別用 SMILES c1ccccc1 、 n1ccccc1和o1cccc1 。
在吡咯中發現的與氫鍵合的芳香氮必須表示為nH ；因此咪唑用 SMILES 表示法寫為n1cnHcc1 。
當芳族原子彼此單鍵時，必須明確顯示單鍵。例如聯苯c1ccccc1-c2ccccc2。這是需要單鍵符號-的少數情況之一。（實際上大多數 SMILES 軟件可以正確推斷出兩個環之間的鍵不能是芳香的，因此會接受非標準形式c1ccccc1c2ccccc2)
用於生成規範 SMILES 的 Daylight 和 OpenEye 算法在處理芳香性方面有所不同。
將 3-氰基苯甲醚 表示為COc(c1)cccc1C#N

**分支**
支鏈用括號描述，如丙酸的CCC(=O)O和氟仿的FC(F)F 。括號內的第一個原子和括號內的基團之後的第一個原子都與相同的分支點原子鍵合。化學鍵符號必須出現在括號內，外部（例如： CCC=(O)O ）無效。
取代的環可以用環中的分支點書寫，如編碼 3 和 4-氰基苯甲醚異構體的 SMILES COc(c1)cccc1C#N （ 見圖片 date=20220418133806 ）和COc(cc1)ccc1C#N （ 見圖片）所示。以這種方式為替代環編寫 SMILES 可以使它們更易於閱讀。
可以按任何順序編寫分支。例如，二氟一氯一溴甲烷可寫為FC(Br)(Cl)F、BrC(F)(F)Cl 、C(F)(Cl)(F)Br等。通常，如果較簡單的分支出現在最前面，則 SMILES 表單最容易閱讀，最後的未加括號的部分是最複雜的。這種重新排列的唯一警告是：- 如果環號被重複使用，它們將根據它們在 SMILES 字符串中出現的順序進行配對。可能需要進行一些調整以保持正確的配對- 如果指定了立體化學，則必須進行調整
不需要括號的一種分支形式是閉環鍵。在合適的位置斷環能減少括號的數量。例如，甲苯通常寫成Cc1ccccc1或c1ccccc1C ，避免寫成c1cc(C)ccc1或c1cc(ccc1)C時所需的括號。

**立體化學**
反-1,2-二氟乙烯
SMILES 允許但不要求對立體異構體進行規範。
雙鍵周圍的配置使用字符/和\指定，以顯示與雙鍵相鄰的定向單鍵。例如， F/C=C/F （ 見圖示 date=20220418141730 ）是反-1,2-二氟乙烯的一種表示，其中氟原子位於雙鍵的相對兩側（如圖所示），而F/C=C\F （ 見圖示）是順-1,2-二氟乙烯的一種可能表示形式，其中氟位於雙鍵的同一側。
鍵方向符號總是以至少兩個為一組出現，其中第一個是任意的。也就是說， F\C=C\F與F/C=C/F相同。當存在交替的單雙鍵時，基團大於兩個，中間方向符號與兩個雙鍵相鄰。例如，(2,4)-己二烯的常見形式寫作C/C=C/C=C/C （ 見圖示 date=20220418141728 ）。
β-胡蘿蔔素，突出顯示了 11 個雙鍵
作為一個更復雜的例子， β-胡蘿蔔素有一個很長的單鍵和雙鍵交替的主鏈，可以寫成CC1CCC/C(C)=C1/C=C/C(C)=C/C=C/C(C)=C/C=C/C=C(C)/C=C/C=C(C)/C=C/C2=C(C)/CCCC2(C)C （ 見圖示 date=20220418141728 ）。
手性碳的順序由@或@@指定。按從字符串左側到右側的順序以順序規則考慮四個鍵。從第一個鍵的角度看向碳，其他三個是順時針@@或逆時針@（因為@符號本身是逆時針螺旋）。
L-丙氨酸
例如，考慮丙氨酸。它的 SMILES 形式之一是NC(C)C(=O)O ，更完整地寫為NCH(C)C(=O)O 。 L-丙氨酸，更常見的一種對映異構體，寫作NC@@H(C)C(=O)O （ 見描述 date=20220418141729 ）。從氮碳鍵看，氫 ( H )、甲基 ( C ) 和羧酸鹽 ( C(=O)O ) 基團順時針出現。 D -丙氨酸可以寫成NC@H(C)C(=O)O （ 見描述 date=20220418141729 ）。
雖然在 SMILES 中指定分支的順序通常並不重要，但在這種情況下它很重要；交換任何兩個組需要反轉手性指標。如果分支顛倒，因此丙氨酸寫為NC(C(=O)O)C ，那麼配置也會顛倒； L-丙氨酸寫為NC@H(C(=O)O)C （ 見描述 date=20220418141729 ）。其他寫法包括CC@H(N)C(=O)O, OC(=O)C@@H(N)C和OC(=O)C@H(C)N 。
第一個鍵通常出現在手性碳原子的左側，但如果 SMILES 以手性碳開頭，例如C(C)(N)C(=O)O ，那麼所有四個鍵都是右邊。但最先出現的（在這種情況下是CH鍵）被用作對以下三個進行排序的參考： L -丙氨酸也可以寫作C@@H(C)(N)C(=O)O 。
SMILES 規範包括對@符號的詳細說明，以指示更復雜的手性中心周圍的立體化學，例如雙三角錐形分子構型。

**同位素**
同位素的指定數字等於原子符號前的整數同位素質量。其中一個原子是碳14的苯寫成14c1ccccc1 ，氘代氯仿寫成2HC(Cl)(Cl)Cl 。

**例子**
為了說明具有超過 9 個環的分子，請考慮頭孢他汀 -1， 一種具有經驗式C 54 H 74 N 2 O 10的甾體 13 環吡嗪，從印度洋半脊索動物Cephalodiscus gilchristi中分離出來：
縮略圖
從圖中最左邊的甲基開始：
 CC(C)(O1)CC@@H(O)C@@1(O2)C@@H(C)C@@H3CC=C4C@3(C2)C(=O)CC@H5C@H4CCC@@H(C6)C@5(C)Cc(n7)c6nc(CC@@89(C))c7CC@@H8CCC@@H%10C@@H9CC@@H(O)C@@%11(C)C%10=CC@H(O%12)C@%11(O)C@H(C)C@%12(O%13)C@H(O)CC@@%13(C)CO
注意%出現在 9 以上的閉環標籤索引前面；見環上面的環。

**SMILES 的其他例子**
SMILES 符號在 Daylight Chemical Information Systems 提供的 SMILES 理論手冊中進行了廣泛的描述，並提供了許多說明性示例。 Daylight 的描繪實用程序為用戶提供了檢查他們自己的 SMILES 示例的方法，並且是一種有價值的教育工具。

**發展**
SMARTS是SMILES基礎之上的改進版。SMARTS中增加的一點是，它允許使用通配符表示原子和化學鍵。因此，它在化合物數據庫中廣泛用於結構的計算機化搜索。這種搜索的機理是先-{zh-cn:通過;zh-tw:透過}-輸入的SMILES式重構化學式，再搜索子圖的同形；而不是直接-{zh-cn:通過;zh-tw:經由}-SMILES式的對比完成的。
USMILES（有時成為廣義SMILES），這種“Unique SMILES”是日光化學信息系統有限公司關於結構的規範表達。不管內部原子的編碼順序如何，-{zh-cn:通過;zh-tw:藉由}-這種算法總可以得到關於化合物規範的、無歧義的、唯一的描述（化學結構表達的唯一性，可參見國際化合物標識）。
SMIRKS 是“reaction SMILES”的超集和“reaction SMARTS”的子集，是用於指定反應變換的線符號。反應擴展的一般語法是REACTANT > AGENT > PRODUCT （不帶空格），其中任何字段可以留空或填充以點 ( . ) 分隔的多個分子，以及其他依賴於基本語言的描述。原子還可以用數字標識（例如C:1 ) 用於映射，例如在 . 
SMILES 對應於離散的分子結構。然而，許多材料都是大分子，它們太大（而且通常是隨機的），無法方便地為其生成 SMILES。 BigSMILES 是 SMILES 的擴展，旨在為大分子提供有效的表示系統。 

**轉換**
可以使用結構圖生成 (SDG) 算法將SMILES轉換回二維表示。 SciFinder、ChemDraw均可實現SMILES和結構式的相互轉換。

**其他記法及比較**
其他著名的線性記法包括維斯威歇線性表示式（Wiswesser Line Notation，WLN），ROSDAL和SLN。最近國際純粹與應用化學聯合會推薦國際化合物標識作為標準的分子式表達式。
然而普遍認為，SMILES與InChI相比更具有(對人來說的)可讀性；而且很多軟件都支持SMILES，其中不少軟件都具有圖論等方面的理論基礎。

**另請參照**
 SMILES 任意目標規範(SMARTS)，SMILES 的擴展，用於規範子結構查詢- SYBYL Line Notation ，另一種行符號- 國際化學品標識符(InChI)， IUPAC的 SMILES 替代品- Molecular Query Language ，一種查詢語言，也允許數值屬性，例如物理化學值或距離- 化學開發套件，二維佈局和轉換軟件- OpenBabel, JOELib, OELib (轉換)

**外部鏈接**
 SMILES指南： http://www.daylight.com/smiles/index.html date=20210319132532 - 在線SMILES式二維圖片轉換軟件
** https://web.archive.org/web/20011202023429/http://www.daylight.com/daycgi/depict 
** https://web.archive.org/web/20041015134803/http://cactus.nci.nih.gov/services/gifcreator/ converter with more controls- 能生成SMILES的分子編輯器軟件： http://www.molinspiration.com/jme/index.html date=20010428093846 - SMILES分析： http://www.dalkescientific.com/writings/diary/archive/ date=20110220003922 - 自由SMILES轉換軟件： http://www.acdlabs.com/download/chemsk.html date=20061018183315 - SMILES式三維模型轉換軟件： http://jmol.sourceforge.net/ date=20010410211503 -  JSDraw date=20110717132409 能生成SMILES-  SMILES Depictor