카이스트 연구실에서 직접 개발한
AI 기술은 뭐가 다를까?
신약개발

SMILES(Simplified Molecular Input Line Entry System)란?

SMILES(Simplified Molecular Input Line Entry System)은 분자 구조를 문자열 형태로 표현하는 표기법입니다. SMILES는 원자, 결합, 고리, 방향족, 가지 등 5가지 구성 요소로 이루어져 있습니다. SMILES의 장점과 단점, 분자의 SMILES를 쉽게 구할 수 있는 프로그램에 대해서도 알려드립니다.
주예찬.png
주예찬 AI 연구원
2024.03.265min read
SMILES란.png

SMILES (Simplified Molecular Input Line Entry System)를 소개합니다

위 그림과 같은 분자를 설명하려면 어떻게 해야할까요? 이 화합물은 Aspirin입니다. O-Acetylsalicylic acid라고도 할 수 있습니다.

그렇다면 이 분자는 어떻게 표현할 수 있을까요? "Aspirin이랑 비슷한데 카르복실기가 있는 벤젠의 탄소에서 두 칸 떨어져 있는 곳에 에틸기가 붙어있는…" 너무 복잡해지죠?

물론 매번 이러한 구조를 그림으로 그릴 수도 있겠지만, 관리가 번거롭고 컴퓨터가 분자를 인식하기에도 비효율적일 수 있습니다. 따라서 이번 글에서는 분자를 효율적으로 표현할 수 있는 방식 중 하나인 SMILES 표기법을 소개하고자 합니다.

SMILES는 분자 구조를 ‘문자열 형태’로 표현하는 표기법입니다.

첫 번째 분자는 CC(=O)OC1=CC=CC=C1C(O)=O로,
두 번째 분자는 CCC1=CC=C(OC(C)=O)C(=C1)C(O)=O 와 같이 표현할 수 있는 거죠.

얼핏 보기에 탄소와 산소들, 이중결합이 있는 걸로 봐서 원자와 결합의 정보로 표현한 것 같은데 어떻게 SMILES가 작성되는지 자세히 살펴볼까요?

SMILES를 구성하는 5가지 요소

1) 원자 (atom)

각 원소는 고유 기호로 표기되니다. 단, 표기를 간단하게 하기 위해 수소는 생략됩니다.

2) 결합 (bond)

. 결합되지 않음 $ 사중결합
- 단일결합 : 방향족결합
= 이중결합 / 입체화학 표시
# 삼중결합 \ 입체화학 표시

3) 고리 (ring)

고리 구조는 고리가 시작되는 원자를 기준으로 반시계 방향으로 돌아가며 표기합니다. 이때, 고리의 시작 원자와 마지막 원자에는 동일한 숫자를 표시하여 고리의 연결을 나타냅니다.

ex) C1CCCC2C1CCCC2

4) 방향족 (aromaticity)

벤젠과 같은 방향족 고리들을 아래와 같이 표현할 수 있습니다.

i) C1=CC=CC=C1 → 단일결합과 이중결합이 교대로 일어나는 Kekule form
ii) C:1:C:C:C:C:C1 → 방향족결합 기호(:)를 사용
iii) c1ccccc1 → 방향족 고리에 포함된 B, C, N, O, P, S 원자를 소문자로 표시합니다.

5) 가지 (branch)

분자의 가지는 괄호()로 표현합니다. 가지는 다양한 순서로 나타낼 수 있으며, 결합 역시 괄호 안에 포함되어야 합니다.

SMILES 표기법의 장단점

1. 장점

i) SMILES는 분자를 문자열로 표현하기 때문에, 데이터로 관리하고 저장하기에 매우 효율적입니다.

ii) 하나의 SMILES는 하나의 분자를 나타냅니다. 따라서 올바르게 작성된 SMILES라면 특정한 하나의 분자를 명확히 지칭하게 되며, 분자로 변환할 때 오류가 발생할 가능성이 거의 없습니다.

iii) 분자를 SMILES로 표현하면, 이를 다양한 머신러닝 및 딥러닝 알고리즘에 활용할 수 있습니다. 예를 들어, 자연어처리(NLP)에서 단어를 하나의 토큰으로 처리하듯, SMILES에서도 원자 하나를 토큰으로 간주하여 컴퓨터가 처리할 수 있는 숫자 형태로 변환할 수 있습니다.

2. 단점

i) 서로 구조가 매우 유사한 분자라 하더라도, SMILES 표기법으로 표현하면 완전히 다른 문자열이 될 수 있습니다. 이 때문에 분자 간 유사도를 정량적으로 표현하거나 비교하기 어렵다는 단점이 있습니다.

ii) 하나의 분자는 반드시 하나의 SMILES만을 가지는 것은 아닙니다. 어떤 원자를 시작점으로 선택하느냐, 고리 구조를 어떻게 표현하느냐에 따라 서로 다른 SMILES 문자열이 생성될 수 있습니다. 예를 들어, CCO, OCC, C(O)C는 모두 동일한 분자인 에탄올(Ethanol)을 나타냅니다.

iii) 실제 분자는 3차원 구조를 가지고 있지만, SMILES는 원자와 결합에 대한 2차원 정보만을 포함하고 있어 입체적 특성까지는 표현하지 못한다는 한계가 있습니다.

SMILES를 사용할 수 있는 도구 : MarvinSketch

분자의 SMILES 표기법은 MarvinSketch를 통해 간편하게 확인할 수 있습니다. MarvinSketch는 분자 구조와 SMILES를 다룰 수 있는 다양한 도구 중 하나로, Windows와 Mac 환경 모두에서 사용 가능하며, 무료로 제공됩니다. 또한 사용자 인터페이스가 직관적이어서 초보자도 손쉽게 사용할 수 있어 널리 활용되고 있습니다.

MarvinSketch 다운로드(회원가입 필요) : https://download.chemaxon.com/marvin

화면에서 분자를 지정한 뒤, 마우스 오른쪽 버튼을 클릭하여 "Copy As → Daylight SMILES(또는 Chemaxon SMILES)"를 선택하면, 해당 분자의 SMILES 코드를 복사할 수 있습니다. 반대로, 원하는 SMILES 코드를 복사하여 MarvinSketch 창에 붙여넣으면, 해당 분자의 구조가 자동으로 그림 형태로 나타납니다.

SMILES 표기법에 대한 소개를 마치며

이번 포스팅에서는 가장 일반적으로 사용되는 분자 표기법인 SMILES에 대해 살펴보았습니다. SMILES는 복잡한 분자 구조도 비교적 간단한 문자열로 표현할 수 있으며, 원자와 결합에 대한 정보를 포함하고 있어 인공지능 모델의 입력 데이터로도 활용이 가능합니다. 실제로 SMILES를 다룰 때는, 분자의 구조를 직접 보며 SMILES를 작성하거나 SMILES 문자열만 보고 분자 구조를 유추하는 경우는 드뭅니다. 대부분의 경우에는 전용 도구를 사용하여 손쉽게 변환할 수 있기 때문에, 기본적인 개념만 이해하고 있어도 충분히 활용할 수 있습니다. 또한, SMILES 표기법을 확장한 SMARTS라는 표기법도 존재하는데요. SMARTS는 개별 분자가 아닌, 분자의 패턴을 표현하는 데 주로 사용됩니다. 다음 포스팅에서는 이 SMARTS 표기법에 대해 자세히 알아보겠습니다.