olSketch
SMILES 표기법이란? 분자를 문자열로 나타내는 화학 정보의 기초

SMILES 표기법이란? 분자를 문자열로 나타내는 화학 정보의 기초

SMILES의 기본 문법부터 고리 구조, 입체화학, AI 신약 개발 응용까지 설명합니다.

SMILES화학정보학
목차

화학과 정보과학이 만나는 영역에서는 분자 구조를 컴퓨터에서 다루기 위한 "언어"가 필수입니다. 그 대표적인 예가 SMILES 표기법입니다.

SMILES는 Simplified Molecular Input Line Entry System의 약자입니다. 1980년대 후반 David Weininger가 제안한 표기법으로, 분자 구조를 한 줄의 문자열로 표현하기 위해 만들어졌습니다. 현재는 화학 데이터베이스, 화학정보학, AI 신약 개발, 분자 생성 모델 등에서 널리 사용됩니다.

예를 들어 에탄올은 화학식으로 CH3CH2OH라고 쓰지만, SMILES에서는 다음과 같이 쓸 수 있습니다.

CCO

이는 탄소, 탄소, 산소가 순서대로 단일 결합으로 연결되어 있다는 뜻입니다. SMILES의 장점은 사람도 비교적 읽기 쉽고 컴퓨터도 처리하기 쉽다는 점입니다. MOL 파일이나 SDF 같은 형식은 자세한 구조 정보를 보존할 수 있지만, 많은 분자를 목록화하거나 기계학습 모델에 입력하는 상황에서는 SMILES의 간결함이 큰 장점이 됩니다.

1. SMILES의 기본 문법

SMILES의 기본 문법
SMILES의 기본 문법

SMILES에서는 원자, 결합, 가지, 고리 구조 등을 조합해 분자를 표현합니다. 기본 기호는 다음과 같습니다.

요소 표기 의미
원자 원소 기호 C, O, N 탄소, 산소, 질소
단일 결합 보통 생략 CC 탄소 사이의 단일 결합
이중 결합 = C=C 에틸렌
삼중 결합 # C#C 아세틸렌
가지 () CC(C)C 아이소뷰테인
고리 구조 숫자 C1CCCCC1 사이클로헥세인
방향족 원자 소문자 c1ccccc1 벤젠

유기화학에서 자주 쓰이는 B, C, N, O, P, S, F, Cl, Br, I 등은 대괄호 없이 쓸 수 있습니다. 이러한 원자에서는 표준 원자가에 따라 수소 원자가 암묵적으로 보완됩니다.

예시는 다음과 같습니다.

분자 SMILES 보충 설명
메테인 C 탄소에 수소 4개가 암묵적으로 붙음
에테인 CC 탄소 2개가 단일 결합
에탄올 CCO 탄소, 탄소, 산소가 직선형으로 연결
아세트산 CC(=O)O 카보닐기와 하이드록시기를 포함

반면 전하, 동위원소, 금속 원자, 일반적이지 않은 원자가를 명시하려면 대괄호를 사용합니다.

  • 나트륨 이온: [Na+]
  • 철(II) 이온: [Fe+2]
  • 암모늄 이온: [NH4+]

2. 가지, 고리 구조, 방향족성

가지는 괄호로 표현합니다. 예를 들어 아이소뷰테인은 다음과 같이 쓸 수 있습니다.

CC(C)C

이는 주사슬의 탄소에서 메틸기가 분기되어 있음을 나타냅니다.

고리 구조에서는 같은 숫자를 두 위치에 붙여 고리가 닫히는 위치를 표시합니다.

C1CCCCC1

이는 사이클로헥세인을 나타냅니다. 첫 번째와 마지막 탄소에 붙은 1은 두 원자가 결합해 고리를 형성한다는 뜻입니다.

벤젠은 케쿨레 구조로 다음과 같이 쓸 수 있습니다.

C1=CC=CC=C1

반면 방향족성을 명시할 때는 소문자 c를 사용해 다음과 같이 씁니다.

c1ccccc1

다만 방향족성 판정은 완전히 하나로 정해져 있지 않습니다. RDKit, Open Babel, Daylight 같은 소프트웨어 사이에서 방향족성 인식이나 정규화 결과가 달라질 수 있습니다. 따라서 연구나 데이터 처리에서 SMILES를 사용할 때는 사용한 도구와 버전을 기록해 두는 것이 중요합니다.

3. 입체화학의 표현

입체화학의 표현
입체화학의 표현

SMILES는 원자의 연결 정보뿐 아니라 일부 입체화학 정보도 표현할 수 있습니다.

입체 정보 기호 내용
키랄 중심 @, @@ 사면체 중심의 국소적인 방향
기하 이성질 /, \ 이중 결합 주변의 상대 배치

키랄 중심에는 @ 또는 @@를 사용합니다. 하지만 이 기호들이 그대로 R/S 배치를 의미하는 것은 아닙니다. SMILES 문자열에서 인접 원자가 나타나는 순서에 기반한 국소적인 입체 표현이며, R/S 배치를 판단하려면 CIP 순위 규칙을 별도로 고려해야 합니다.

이중 결합 주변의 기하 이성질은 /\로 표현됩니다.

Cl/C=C/Cl
Cl/C=C\Cl

이 표기는 1,2-디클로로에틸렌의 이성질체를 구분합니다. 다만 /\ 역시 문자열 전체의 문맥에서 해석되므로, 기호 하나만으로 의미를 판단할 수는 없습니다.

4. Canonical SMILES의 중요성

SMILES에서 중요한 점은 같은 분자에도 여러 가지 표기가 존재할 수 있다는 것입니다.

예를 들어 에탄올은 다음 두 방식 모두로 표현할 수 있습니다.

CCO
OCC

둘 다 같은 분자를 나타내지만 문자열로는 다릅니다. 이 상태에서는 데이터베이스 검색이나 중복 제거에서 문제가 생깁니다.

이때 사용하는 것이 Canonical SMILES입니다.

항목 내용
목적 같은 분자를 같은 문자열로 다루기 쉽게 함
방법 분자 그래프의 원자에 순위를 매기고 대표 SMILES를 생성
장점 중복 제거, 검색, 데이터 정리에 유용
주의점 출력은 소프트웨어 구현에 의존

Canonical SMILES는 매우 유용하지만, 완전히 국제 표준화된 유일한 문자열은 아닙니다. RDKit, Daylight, Open Babel 등에서 출력되는 정규화 SMILES가 달라질 수 있습니다. 따라서 연구에서 사용할 때는 어떤 소프트웨어로 정규화했는지 명시하는 것이 바람직합니다.

5. InChI와 SELFIES와의 차이

분자를 문자열로 표현하는 방법은 SMILES만이 아닙니다. 대표적인 것으로 InChISELFIES가 있습니다.

표기법 주요 용도 장점 주의점
SMILES 구조 기술, 검색, 기계학습 짧고 비교적 읽기 쉬움 잘못된 문자열이 생성될 수 있음
InChI 화합물 식별, 표준화 식별자로 강력함 사람이 읽기 어려움
SELFIES 분자 생성, 기계학습 원칙적으로 유효한 분자를 생성하기 쉬움 문자열이 길어지기 쉬움

**InChI(International Chemical Identifier)**는 IUPAC이 주도해 개발한 화학 물질 식별자입니다. 원자, 결합, 수소, 전하, 입체화학, 동위원소 등을 계층 구조로 기술하며, 화합물을 표준적으로 식별하는 데 적합합니다. 반면 사람이 직관적으로 읽기에는 적합하지 않습니다.

**SELFIES(SELF-referencIng Embedded Strings)**는 기계학습, 특히 분자 생성 모델을 염두에 두고 제안된 표기법입니다. SMILES에서는 AI가 문법적으로 잘못된 문자열이나 화학적으로 부적절한 분자를 생성할 수 있습니다. 이에 비해 SELFIES는 원칙적으로 임의의 SELFIES 문자열이 유효한 분자에 대응하도록 설계되었습니다.

6. AI 신약 개발과 기계학습으로의 응용

SMILES는 문자열이기 때문에 자연어 처리에서 발전한 기법을 화학에 적용하기 쉽습니다. RNN, VAE, Transformer 같은 모델에 대량의 SMILES를 학습시키면, 모델은 "화학적으로 타당한 문자열"의 패턴을 학습합니다.

주요 응용 예는 다음과 같습니다.

응용 분야 내용
분자 생성 기존 화합물로부터 새로운 분자 후보 생성
물성 예측 용해도, 막 투과성, 독성 등을 예측
활성 예측 표적 단백질 결합이나 약리 활성을 예측
역합성 분석 목표 분자로부터 합성 경로나 전구체를 예측

화학 반응을 다룰 때는 Reaction SMILES를 사용합니다. 기본 형식은 다음과 같습니다.

reactants>agents>products

agent 항목을 사용하지 않을 때는 다음과 같이 씁니다.

reactants>>products

역합성 분석에서는 목표 분자의 SMILES로부터 그것을 합성하기 위한 전구체나 반응 경로를 예측합니다. 이는 생성물 문자열을 반응물 문자열로 "번역"하는 문제로 다룰 수도 있습니다.

7. MolSketch에서는 SMILES에서 구조식을 자동 생성할 수 있다

SMILES는 연구와 개발 현장에서 "저장용 문자열"일 뿐 아니라 구조식을 빠르게 불러오기 위한 입력 형식으로도 중요합니다.

MolSketch에서는 SMILES를 입력하면 대응하는 화학 구조식을 자동 생성할 수 있습니다. 논문, 데이터베이스, 사내 자료 또는 다른 도구에서 가져온 SMILES가 이미 있다면, 그것을 그대로 사용해 구조식 작성을 시작할 수 있습니다.

예를 들어 다음과 같은 흐름이 가능합니다.

  1. 가지고 있는 SMILES를 복사한다
  2. MolSketch 입력란에 붙여 넣는다
  3. 구조식을 자동 생성한다
  4. 필요에 따라 그대로 편집, 저장, 내보내기 한다

이처럼 MolSketch는 "문자열로서의 화학 정보"와 "그림으로서의 화학 구조식"을 연결합니다. 처음부터 손으로 모두 그리지 않아도, SMILES에서 출발해 필요한 부분만 정리하는 편이 효율적인 경우가 많습니다.

특히 다음과 같은 용도와 잘 맞습니다.

  • 논문이나 데이터베이스에서 찾은 화합물을 바로 그림으로 만들고 싶을 때
  • 기존 분자를 기반으로 조금만 수정하고 싶을 때
  • 발표 자료나 보고서용 구조식 이미지를 만들고 싶을 때

SMILES의 의미를 이해하면 단순한 문자열 입력이 아니라, "화학 정보를 그대로 편집 가능한 구조식으로 변환하는 입구"로 활용할 수 있습니다.

8. SMILES를 사용할 때의 주의점

SMILES는 편리하지만 만능은 아닙니다. 특히 다음 사항에 주의해야 합니다.

  • 같은 분자에 여러 SMILES가 존재할 수 있다.
  • Canonical SMILES는 소프트웨어 구현에 의존한다.
  • 방향족성 판정은 도구마다 다르다.
  • 입체화학이 생략되면 이성질체를 구별할 수 없을 수 있다.
  • 일반적으로 3D 좌표나 배좌 정보는 포함되지 않는다.
  • 염, 용매, 양성자화 상태, 토토머 처리에 따라 결과가 달라진다.

SMILES는 주로 분자 그래프와 일부 입체화학 정보를 표현하는 형식입니다. 단백질과의 결합 방식, 분자의 입체 배좌, 용매 효과 등이 중요한 경우에는 SDF, MOL2, PDB 같은 형식이나 3D 구조 생성 방법을 함께 사용해야 합니다.

정리

SMILES 표기법은 분자 구조를 한 줄의 문자열로 나타내기 위한 간결하고 강력한 화학 언어입니다. 원자, 결합, 가지, 고리 구조, 방향족성, 입체화학을 짧은 문자열로 표현할 수 있기 때문에 화학 데이터베이스, 화학정보학, AI 신약 개발, 분자 생성 모델 등에서 널리 사용됩니다.

한편 SMILES에는 다음과 같은 한계도 있습니다.

한계 보충 설명
여러 표기 같은 분자를 여러 문자열로 표현할 수 있음
구현 의존 Canonical SMILES나 방향족성 판정이 도구마다 다름
입체 정보 생략 이성질체를 구분하지 못할 수 있음
3D 정보 부족 좌표나 배좌는 일반적으로 포함되지 않음

현대의 데이터 기반 화학에서 SMILES는 컴퓨터가 분자를 읽고 쓰기 위한 기본 인터페이스입니다. 화학자가 구조식을 그리듯, AI는 SMILES를 통해 분자를 학습하고 새로운 후보 화합물을 탐색합니다. SMILES에 대한 이해는 화학, 생명과학, 재료과학, AI 신약 개발에 관련된 연구자에게 앞으로 더욱 중요한 기초 지식이 될 것입니다.

참고 문헌

  1. Weininger, D. "SMILES, a chemical language and information system. 1. Introduction to methodology and encoding rules." Journal of Chemical Information and Computer Sciences, 28(1), 31–36, 1988.
  2. Weininger, D., Weininger, A., Weininger, J. L. "SMILES. 2. Algorithm for generation of unique SMILES notation." Journal of Chemical Information and Computer Sciences, 29(2), 97–101, 1989.
  3. Heller, S. R. et al. "InChI, the IUPAC International Chemical Identifier." Journal of Cheminformatics, 7, 23, 2015.
  4. Krenn, M. et al. "SELFIES: a robust representation of semantically constrained graphs with an example in chemistry." Machine Learning: Science and Technology, 1(4), 045024, 2020.
  5. Gómez-Bombarelli, R. et al. "Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules." ACS Central Science, 4(2), 268–276, 2018.