단순화된 분자입력 라인입력 시스템

SMILES(simplified molecular-input line-entry system)는 짧은 ASCII 문자열을 사용하여 화학 종의 구조를 설명하기 위한 선 표기법(line notation)의 형태이다. SMILES는 분자 편집기에서 2차원 도면이나 3차원 모델로 다시 변환하기 위해 가져올 수 있다.
SMILES는 1980년대 후반에 개발되었고 지금까지 발전하여 사용되고 있다.
표기법.
SMILES 표기법을 구성하는 분자구조의 요소는 크게 원자(atom), 결합(bond), 고리(ring), 방향족(aromaticity), 가지(branch), 입체화학(stereochemistry)로 나눌 수 있다.
원자.
원자는 금의 [Au]&lt;/code&gt;는 각괄호를 사용하여 원소를 나타낸다.
괄호는 다음과 같은 경우에 생략될 수 있다:
다른 요소는 모두 괄호로 묶어야 하며 전하와 수소를 나타내야 한다.
예를 들어, 물에 대한 SMILES은 codice_1 또는 codice_2로 쓸 수 있다. 이때 수소는 원자로 각괄호를 쓸 수 있기 때문에, codice_3로도 쓸 수 있다.
괄호를 사용할 때는 괄호 안의 원자가 하나 이상의 수소와 결합하면 codice_4를 적는데, 1보다 크면 수소 원자의 수를 적고, 양전하의 경우에는 codice_5를, 음전하의 경우에는 codice_6를 사용하여 표시한다. 예를 들어 암모늄()의 경우 codice_7로 나타낼 수 있다.
전하가 있는 경우에는 일반적으로 숫자로 쓰이지만, 예외적으로 이온의 전하량에서는 부호를 반복하는 것도 가능하다.
따라서, 티타늄(IV) Ti4+에 대해서는 [Ti+4] 또는 [Ti+++]로 쓸 수 있고, 수산화 이온(OH-)은 codice_8, 하이드로늄 이온(H3O+)으로 표시되며 코발트(III) 양이온(Co3+)은 codice_9 또는 codice_10이다.
결합.
결합은 기호 codice_11 중 하나를 사용하여 표현한다.
지방족 원소 사이의 결합은 일반적으로 단일로 가정되며, SMILES 문자열의 인접한 원소들 사이에서 이를 암시할 수 있다.
단일 결합은 codice_6로 표기할 수 있지만, 일반적으로 생략한다. 예를 들어, 에탄올에 대한 SMILES 문자열은 codice_13, codice_14 또는 codice_15로 기록될 수 있지만, 일반적으로 codice_16로 표기된다.
이중 결합, 삼중 결합, 4중 결합은 각각 기호 codice_17, codice_18, codice_19로 표시되며, 이는 SMILES로 codice_20(이산화탄소 CO2), codice_21(시안화수소 HCN), codice_22(갈륨 비화갈륨)로 나타낼 수 있다.
결합을 하지 않았을 경우, 두 부분이 서로 결합되지 않았음을 나타내기 위해 codice_23로 표시한다. 예를 들어, 염화나트륨 수용액은 codice_24로 표기할 수 있다.
 "1과 1/2" 결합은 codice_25을 사용하여 나타낼 수 있다.
이중 결합에 인접한 단일 결합은 적 구성은 codice_26 또는 codice_27를 사용하여 나타낼 수 있다.
고리.
고리 구조는 임의의 지점에서 각각의 고리를 풀어서(어떤 지점은 다른 지점보다 SMILES를 쉽게 해석할 수 있다.) 비인접 원자 간의 연결을 보여주기 위해 각 비인접 원자에 같은 숫자를 작성한다.
예를 들어, 사이클로헥세인과 [[다이옥세인]은 각각 codice_28과 codice_29로 기록될 수 있다.
고리가 2개일 경우, 두 번째 고리의 비인접 원자에도 숫자를 붙인다. [[데칼린]](데카하이드로나프탈렌, decalin)은 codice_30로 기록될 수 있다.
SMILES는 고리의 비인접 원자에 대한 번호를 특정 순서로 사용할 필요가 없으며 숫자 codice_31도 가능하며, 서로 다른 두 고리에 같은 번호를 사용하여 나타내는 것도 가능하다. 하지만 이는 문자열을 읽기 어렵게 만들 수 있다.
예를 들어, [[비시클로헥실]]은 일반적으로 codice_32로 작성되지만, codice_33로도 작성될 수 있다.
하나의 원자 뒤에 여러 숫자가 표기된 경우는 여러 개의 고리 결합을 나타낸다.
데칼린의 다른 SMILES 표기법은 codice_34이다. 두 자리 수의 숫자를 나타낼 때에는 숫자 앞에 codice_35가 붙기 때문에, 예시는 두 개의 결합을 나타냄을 알 수 있다.
고리를 나타낼 때 다중 결합을 이룬 원자 또한 선택할 수 있다.
[[사이클로프로페인]]은 일반적으로 codice_36로 쓰이지만, 이중 결합을 고리 결합으로 선택한다면, 이것은 codice_37, codice_38 또는 codice_39로 쓸 수 있다.(대체로 첫 번째 문자열이 선호된다.) codice_40는 고리와 결합이 충돌하는 유형이기 때문에 모순이다.
고리 결합은 다중 결합을 나타내기 위해 사용될 수 없다.
codice_41는 [[에틸렌]]에 대한 codice_42로 표기가 불가능는 하다. 하지만 결합이 없을 때에는 사용될 수 있다.codice_43은 [[프로페인]](propane)의 codice_44를 나타내지만 주로 후자가 일반적이다.
두가지의 고리가 인접한 경우, 두 고리를 포함한 원자를 선택하여 고리결합을 나타낸다면, 가지 표현을 줄일 수 있기 때문에 더 단순한 작성이 가능하다.
[[사이클로헥세인-1,2-디올]]은 가장 간단하게 codice_45로 쓸 수 있다. 이때 고리를 끊기 위해 다른 원자를 선택하면 괄호를 써야 하는 더 복잡한 구조가 생성된다.
방향족.
[[벤젠]]과 같은 [[방향족|방향족성]] 고리는 세 가지 형태 중 하나로 쓸 수 있다:
세 번째의 경우, 두 원자 사이의 결합은 방향족 결합으로 가정된다. 따라서, [[벤젠]], [[피리딘]], [[퓨란]]은 각각 codice_54, codice_55, codice_56로 표시될 수 있다.
[[피롤]]에서 발견되는 방향족 질소는 codice_57로 표시되며, 따라서 [[이미다졸]]은 codice_58로 표기된다.
방향족 원자들이 [[바이페닐]]과 같이 단일 결합하는 경우, codice_59처럼 단일 결합을 표기해야 한다. 이는 기호 codice_6가 필요한 몇 안 되는 경우이다. (대부분의 SMILES 프로그램은 두 고리 사이의 방향족 결합이 있는지 구별하지 못하기 때문에 codice_61을 이해하지 못한다.)
[[파일:3-cyanoanisole SMILES.svg|right|섬네일|350px|codice_62로 표기된 [[3,4-시아노이솔]]의 형태]]
가지.
가지는 [[프로피온산]]의 codice_63, [[플루오로포름]]의 codice_64에서와 같이 괄호로 설명된다. 괄호 안의 첫 번째 원자와 괄호 뒤의 첫 번째 원자는 모두 같은 원자에 결합되어 있음을 나타낸다. 결합은 괄호 안쪽에 표시되어야 하며 바깥쪽(예: codice_65)은 잘못된 표기이다.
[[3,4-시아노이솔]] [[이성질체]]에서 [[치환 고리]]는 codice_62(그림 참고) 또는 codice_67(그림 참고)로 표기할 수 있다. 이렇게 대체된 고리를 SMILES로 표기하는 것이 더 읽기 쉽다.
가지는 임의의 순서로 작성할 수 있다. [[브로모클로로디플루오로메탄]]은 codice_68, codice_69, codice_70 등으로 표기할 수 있다. 일반적으로 SMILES 문자열은 단순한 가지를 먼저, [[주사슬]]이 가장 복잡할 때 가장 읽기 쉽다.
이러한 표기에서 링 번호를 다시 쓰는 경우, 링 번호는 SMILES 문자열의 표시 순서에 따라 쌍으로 연결된다. 이때 올바른 표기를 위해 일부 조정이 필요한 경우가 발생할 수 있다. (예: 이 지정된 경우)
괄호를 필요로 하지 "않는" 한 가지 형태는 고리 결합이다. 고리 결합을 적절히 표기하면 필요한 괄호 수를 줄일 수 있다.
예를 들어, [[톨루엔]]은 일반적으로 codice_71 or codice_72C로 표기되며, codice_73 또는 codice_74로 표기되는 경우와 달리 괄호를 쓰지 않을 수 있다.
입체화학.
[[파일:Trans-1,2-difluoroethylene.svg|섬네일|right|upright=0.5|트랜스-1,2-디플루오로에틸렌]]
SMILES는 입체 이성질체의 형태를 표기하는 법이 있지만 필요하지 않다.
이중 결합에 대한 구성은 문자 codice_26 및 codice_27를 사용하여 이중 결합에 인접한 방향성 단일 결합을 표시한다. 예를 들어, codice_77(그림 참고)는 [[플루오린]]이 이중 결합의 반대편에 있는 [[트랜스-1,2-디플루오로에틸렌]]인 반면에, codice_78(그림 참고)는 불소가 이중 결합의 동일한 면에 있는 [[시스-1,2-디플루오로에틸렌]]이다.
결합 방향 기호는 항상 최소 2개의 그룹으로 나뉘며, 그 중 첫 번째 그룹은 임의로 정한다. 즉, codice_79는 codice_77와 같다. 단일, 이중 결합이 교대로 존재할 때 그룹은 두 개보다 많아지고, 가운데에 존재하는 기호는 두 개의 이중 결합에 인접한다. 예를 들어, [[2,4-헥사디엔]]의 일반적인 형태는 codice_81이다.
[[파일:Beta-Carotene_conjugation.svg|섬네일|right|upright=0.866|[[베타카로틴|베타카로틴(β-Carotene)]], 11개의 이중결합이 존재한다.]]
보다 복잡한 예로, [[베타카로틴]]은 단일 결합과 이중 결합의 매우 긴 골격을 가지며, 이는 codice_82로 쓸 수 있다.
[[카이랄성|카이랄 분자]]의 구성은 codice_83 또는 codice_84로 지정된다. 문자열의 왼쪽에서 오른쪽으로 나타나는 순서대로 네 개의 결합을 표기한다. 첫 번째 결합의 관점에서 중심 탄소 쪽을 보면, 나머지 세 개는 시계 방향 또는 반시계 방향이다. 이때 각각 codice_84와 codice_83로 표시된다.(@ 기호 자체가 시계 반대 방향의 모양이기 때문이다).
[[파일:L-Alanin - L-Alanine.svg|섬네일|right|upright=0.5|-알라닌]]
[[아미노산]] [[알라닌]]을 보면 일반적으로 codice_87로 표기되지만 codice_88도 가능하다. 보다 일반적인 이성질체인 L-알라닌은 주로 codice_89(그림 참고)로 표기된다. 여기서 질소-탄소 결합을 보면 [[수소]](H), [[메틸]](CH3), [[카르복실산]]기(C(=O)O)가 시계 방향으로 나타난다. 따라서 D-알라닌은 codice_87(그림 참고)로 쓸 수 있다.
일반적으로 SMILES에서 가지의 배열 순서는 중요하지 않지만, 이성질체의 경우는 다르다.
두 그룹의 위치를 바꾸면 카이랄 표시를 반대로 사용해야 하기 때문이다. 만약 알라닌이 위와 다르게 codice_91로 쓰여지면, 방향 또한 달라지게 된다. L-알라닌은 codice_92(그림 참고)로 바뀐다.(이를 쓰는 다른 방법에는 codice_93, codice_94, codice_95이 있다.)
일반적으로 4개의 결합 중 첫 번째 결합은 카이랄 중심 원자의 왼쪽을 나타나지만, 만약 SMILES가 codice_96와 같이 카이랄 중심인 탄소로 시작된다면, 4개의 결합은 모두 오른쪽에 있지만 그중 첫 번째가 기준이 될 수 있다.
SMILES 문자열은 [[삼각쌍뿔]] 분자와 같은 더 복잡한 입체화학을 나타내기 위해 codice_83 기호가 활용 될 수도 있다.
동위 원소.
[[동위 원소]]는 원자 기호 앞에 표기된 숫자로 구분할 수 있다. [[벤젠]]의 원소 중 하나가 [[탄소-14]]이라면 벤젠은 codice_98로 표기되고 [[듀테로화 클로로포름]]은 codice_99으로 표기된다.
예시.
9개 이상의 고리 결합을 가진 분자를 설명하기 위해, 13개의 스테로이드성 고리로 이루어진 [[파라진|파라진(pyrazine)]]인 [[세팔로스타틴|세팔로스타틴(cephalostatin)]]-1,([[실험식]] C54H74N2O10) :
그림의 왼쪽부터 표기한 문자열:
codice_35 은 9번째 고리 앞에 표기된다. 란을 참고
SMILES의 또 다른 예시.
SMILES 표기법은 Daylight Chemical Information Systems에서 제공하는 SMILES 이론 메뉴얼에 자세하게 설명되어 있으며 많은 예시들이 존재한다.
변환.
SMILES는 구조도 생성(SDG) 알고리즘을 사용하여 2차원 표현으로 다시 변환할 수 있다. 이 변환이 항상 정확하지는 않다. 3차원 표현으로의 변환은 에너지 준위가 바닥상태인 분자로 나타나게 된다. 변환을 위한 다양한 사이트와 앱이 있기 때문에 이를 사용하면 쉽게 변환이 가능하다.
같이 보기.
[[분류:화학 명명법]]
[[분류:부호화]]
[[분류:컴퓨터 언어]]
[[분류:화학 파일 형식]]