2024.04.20 (토)

  • 흐림동두천 1.0℃
  • 흐림강릉 1.3℃
  • 서울 3.2℃
  • 대전 3.3℃
  • 대구 6.8℃
  • 울산 6.6℃
  • 광주 8.3℃
  • 부산 7.7℃
  • 흐림고창 6.7℃
  • 흐림제주 10.7℃
  • 흐림강화 2.2℃
  • 흐림보은 3.2℃
  • 흐림금산 4.4℃
  • 흐림강진군 8.7℃
  • 흐림경주시 6.7℃
  • 흐림거제 8.0℃
기상청 제공

[청년발언대] 분자 구조를 바라보는 새로운 시각

 

【 청년일보 】 분자의 구조와 구성은 그 분자의 성질에 매우 큰 영향을 미친다. 예를 들어 다이아몬드와 흑연 모두 탄소로 이루어졌지만, 원자 배열이 달라 완전히 다른 물질이 되고, 물(H2O)에 산소 하나만 추가해도 과산화수소(H2O2)로 분자가 바뀐다. 


이러한 분자의 고유한 특성을 파악하기 위한 고전적인 방법은 실험실에서 실험을 해보는 것이지만, 직접 실험을 해보는 것에는 한계가 있고, 많은 실험을 한 번에 하긴 어렵다는 단점이 있다. 요즘 다양한 분야에서 적용되고 있는 딥러닝을 이용한다면, 이러한 단점을 해결하여 드라이랩에서의 화학실험이 가능해진다. 


기존의 방법과는 다르게 분자 구조를 바라보는 시각 두 가지를 설명한 후, 어떻게 딥러닝을 이용하여 분자의 특성을 파악할 수 있는지 소개해보고자 한다.


딥러닝에 활용하기 위해 분자 구조를 나타내는 방법에는 크게 문자열과 그래프 두 가지가 있다. 


먼저 분자 구조를 문자열로 나타내는 방법에는 SMILES(Simplified Molecular-Input Line-Entry System)가 있고, 이는 분자구조를 CC(NC)CC1=CC=C(OCO2)C2=C1과 같은 형식으로 나타낸다. 


이러한 문자열로 나타낸 분자 구조는 일반적인 문장과 비슷하여 자연어 처리를 이용한 딥러닝을 적용할 수 있게 된다.


두 번째 방법은 그래프로, 각각의 원자를 노드(점)로, 원자 간의 결합을 엣지(선)로 나타내는 방법이다. 분자 구조를 그래프로 나타내게 되면, 그래프 신경망(Graph Neural Network, GNN)을 적용할 수 있다.


GNN에서는 각 노드에 대한 벡터 표현을 학습하는데, 주변 노드들의 정보를 종합하여 그 노드의 벡터 표현을 학습하게 된다. 이를 분자 그래프에 적용하면, 각 원자의 정보와 주변 원자들의 정보를 종합하여 분자의 구조가 어떻게 되어있는지, 어떤 결합을 하고 어떤 원자들과 상호작용하는지에 대한 것들을 담아낼 수 있다.


이러한 방법으로 분자 구조를 이용하여 다양한 물성에 대한 예측을 할 수 있고, 주로 용해도, 단백질-단백질 상호작용, 약의 부작용, 독성 등을 예측하는 데 이용이 된다. 


용해도로 예를 들어 자세히 설명하면, 먼저 용해도 값을 아는 분자들에 대하여 딥러닝을 통해 각 원자의 벡터 표현을 만들고, 그때 계산되는 값과 실제 용해도 값이 비슷하게 만들어지도록 벡터 표현을 학습한다. 이때 벡터 표현을 만드는 파라미터들이 학습되는데, 이를 이용하여 새로운 분자에 대한 벡터 표현을 만들고 용해도를 예측할 수 있다.


문자열을 나타내는 방법을 이용한다면 기존의 머신러닝 방법을 그래프보다 더 쉽게 적용을 할 수 있다는 장점이 있다. 또한 생성 모델(generative model)을 이용할 때, 유효한 그래프를 만드는 것보다 유효한 문자열을 만드는 것이 쉽기 때문에 학습이 더 용이하다. 


그러나 문자열은 분자 구조 그 자체에 대하여 학습을 하는 것이기 때문에 원자 각각에 대한 값을 예측하는 것은 어렵다. 이때 그래프로 나타내는 방법을 사용한다면 각각의 원자에 대한 벡터 표현을 만들기 때문에 각 원자들의 값을 예측할 수 있다는 장점이 있다. 


이 두 방법 중 어느 하나가 더 뛰어나다고는 할 수 없고, 목적에 맞게 두 방법의 특징들을 고려하여 적용하면 된다.

 

 

【 청년서포터즈 5기 이수연 】

관련기사




청년발언대

더보기


기자수첩

더보기

배너
배너