AlphaFold: 딥러닝으로 단백질 구조 예측하기

김성준
CURG
Published in
11 min readOct 24, 2020

김성준, Virtual Machine & Optimization Lab in Seoul Nat’l University

본 포스팅에서는 AlQuraishi, Mohammed. “AlphaFold at CASP13.” Bioinformatics 35.22 (2019): 4862–4865.[1]을 다룬다.

왼쪽부터 SARS-CoV-2’s spike protein, main protease, RNA-dependent RNA polymerase

들어가며

어떤 단백질의 아미노산 사슬이 주어졌을 때, 그 단백질의 3차원 구조를 예측하는 단백질 접힘 문제는 수십년간 과학자들이 해결하고자 했던 난제 중 하나이다. 아미노산 사슬은 아미노산이 어떻게 접히는지가 아닌 아미노산의 순서에 대한 정보만을 내포하기 때문에, 생물학자들은 단백질의 기본 단위인 아미노산이 어떻게 입체적으로 배열되고 접혀 3차원 구조의 단백질을 형성하는지 연구한다. 3차원 단백질 구조 예측이 가능해지면 알츠하이머병 등 여러 질병이 생기는 메커니즘을 더 잘 이해할 수 있다. 그 밖에도, 정확한 단백질 구조를 아는 것은 백신 등의 치료제를 개발하는 데 도움을 줄 수 있다. COVID-19가 전세계에 미친 영향을 생각해보면, 신속한 신약 개발이 얼마나 중요한 문제인가를 새삼 실감할 수 있다.

단백질 구조를 알아내는 일은 쉽지 않다. 단백질 구조가 쉽게 무너지는 특성을 갖고 있기 때문이다. 지난 50년 동안 연구자들은 극초단파 현미경, 핵자기공명, X선 결정술과 같은 실험 기법을 사용하여 실험실에서 단백질 구조를 알아낼 수 있었지만, 각 방법은 많은 시행착오에 의존하고 있기에 길면 수년의 시간이 걸릴 수 있고, 단백질 하나를 분석하는데 수천만 달러 또는 수십만 달러의 많은 비용이 든다.[2] 현재 신약 개발 과정을 자물쇠 구조를 전혀 모르는 상태에서 무수히 많은 열쇠를 일일이 껴보는 상황에 비유한다면, 단백질 구조를 파악하는 것은 자물쇠 구조를 이해하는 것과 같다. 자물쇠 구조를 이해할 수 있다면 그만큼 자물쇠를 풀 수 있는 열쇠(신약)를 빨리 만드는 일이 가능해진다.

이처럼 단백질의 3차원 구조를 예측하는 단백질 접힘 문제는 그 파급력이 매우 큰 과제이기 때문에, 이를 주제로 2년마다 CASP(Critical Assessment of Structure Prediction) 대회가 개최된다. 그런데 2018년 12월, 멕시코 칸쿤에서 13번째로 개최된 CASP13 대회에서 다른 모든 경쟁자를 제치고 월등한 성적으로 우승을 한 그룹이 있으니, 바로 오늘 소개할 구글 딥마인드의 알파폴드(AlphaFold)가 그 주인공이다.

알파폴드는 자유 모델링 도메인 43개 중 24개에 대해 고정밀도 구조(템플릿 모델링(TM) 점수 0.7 이상)를 만들었다. 이러한 결과는 샘플링과 연결 정보(connect information)를 사용한 방법론이 43개 도메인 중 14개에 대해서만 높은 정확도를 달성했다는 점에서 상당히 고무적이다. 아래 그래프를 보면 알파폴드가 다른 알고리즘 대비 눈여겨볼 만한 정확도를 보임을 쉽게 확인할 수 있다.

CASP13 대회에서, 알파폴드는 타 알고리즘 대비 뛰어난 성능을 입증했다.

단백질의 구조

본격적으로 알파폴드의 신경망 구조를 살펴보기 전에, 단백질의 구조에 대하여 간단하게 짚고 넘어가도록 하자.

아미노산은 생물의 몸을 구성하는 단백질의 기본 구성 단위이다. 우리가 일반적으로 아미노산이라 부르는 α-아미노산에는 아미노기와 카복시기가 하나의 탄소에 붙어있는데, α-아미노산의 곁사슬(residue)에 무엇이 붙느냐에 따라 아미노산의 종류가 결정된다. 대략적으로 20가지 정도의 아미노산이 조합되어 생명체의 기본 구조를 형성한다.

단백질은 그 구조에 따라 1차 구조부터 4차 구조까지 분류할 수 있다. 특히, 단백질 4차 구조는 여러 개의 폴리펩티드 사슬이 비 공유결합으로 결합하여 특정한 3차원 구조를 가지는 단백질의 고차원적 구조이다. 대표적인 예로는 헤모글로빈, DNA 중합효소, 이온 통로가 있다.[3]

왼쪽부터 단백질의 1차/2차/3차/4차 구조

알파폴드 신경망

알파폴드 신경망은 아미노산 사슬에 해당하는 MSA 데이터를 입력으로 받아 최종적으로는 단백질 구조를 추정하여 출력으로 내보낸다. 알파폴드 신경망의 구조는 아래 그림과 같으며, 각각 MSA의 특성을 추출하는 계층, 신경망으로 구조를 예측 및 디스토그램을 생성하는 계층, 예측한 거리 및 뒤틀림각을 기반으로 포텐셜을 계산하는 계층, 포텐셜을 기반으로 단백질 구조를 예측하는 계층으로 이루어져 있다.

알파폴드 신경망 구조
  1. MSA의 특성 추출하기 (MSA feature extraction)

Multiple sequence alignment (MSA)는 알파폴드 학습에 사용되는 데이터셋이다. Data augmentation, feature representation, auxiliary losses, cropping 및 data curation 등의 기법들이 특성 추출에 활용된다.

2. 신경망으로 구조 예측하기 (Structure-prediction neural network)

알파폴드 신경망은 MSA 특성으로부터 모든 곁사슬 쌍 간의 거리 디스토그램을 생성한다.

알파폴드의 심층 신경망은 단백질의 뒤틀림각 및 두 곁사슬 사이의 거리를 예측하는 역할을 담당한다. 이때 한번에 단백질 전체 구조를 입력으로 받아 그 구조를 예측하는 작업은 매우 복잡하므로, 단백질 길이가 L이라 했을 때 LxL 크기 디스토그램의 일부 64x64 영역에 대해서 곁사슬 간의 거리를 예측하는 작업을 반복적으로 수행한다. 총 220개의 residual convolution block을 사용하는 ResNet 구조를 가지며, 각각의 블록에서는 배치 정규화 기법 및 ELU (exponential linear unit) 활성화 함수 등을 사용한다.

알파폴드 신경망 블록 구조

주목할만한 특징으로, 알파폴드 신경망에서는 통상적으로 사용되는 컨벌루전이 아닌 확장된 컨벌루전(dilated convolution)을 사용한다. 확장된 컨벌루전 레이어는 새로운 파라미터인 dilation rate를 도입하여, 작은 크기의 커널이 더 큰 커널과 동일한 시야(view)를 가지게끔 만드는 효과가 있다. 아래 그림의 예시에서, 3x3 커널을 가지는 확장된 컨벌루전은 5x5 커널의 컨벌루전과 동일한 시야를 가진다. 이러한 확장된 컨벌루전의 도입으로, 특정 위치의 아미노산에 대한 정보가 주변 영역으로 빠르게 확산될수 있는 이점을 얻는다.

딥러닝에서 사용되는 여러 유형의 Convolution 소개 · 어쩐지 오늘은
dilated convolution layer 예시 (dilated rate 2, 3x3 kernel)

3. 거리 예측 및 포텐셜 계산하기 (Distance prediction & Potential construction)

전 단계에서, 신경망으로부터 얻어진 출력에는 곁사슬 간의 거리와 뒤틀림각에 대한 추정치가 담겨 있다. 얼핏 생각하면 이러한 추정치로부터 단백질 3차원 구조를 바로 생성해내도 충분할 것 같지만, 더 안정한 구조의 존재 가능성 및 불가능한 화학 결합 각도 등을 포함할 가능성이 있기에 이를 그대로 사용하기에는 무리가 있다. 이 문제를 다루기 위해, 알파폴드에서는 신경망에서 추정한 거리 및 뒤틀림각 정보를 토대로 생성해낸 단백질의 포텐셜을 수학적으로 계산한다. 이렇게 계산된 포텐셜은 단백질의 가장 안정한 구조, 즉 우리가 찾고자 하는 단백질 구조를 찾아내는데 활용된다.

4. 단백질 구조 생성하기 (Structure realization)

실제 세계의 단백질은 포텐셜이 가장 낮아지는 구조로 접히기 때문에, 전 단계에서 계산된 포텐셜을 일종의 손실 함수로 생각할 수 있다. 그 결과, 최적의 뒤틀림각 조합을 찾는 문제는 손실 함수값을 최소로 만드는 파라미터를 찾는 기존의 잘 알려진 문제로 환원된다. 알파폴드에서는 단백질의 포텐셜이 가장 낮아지도록 경사 하강법(gradient

descent)을 적용하여 뒤틀림각을 조정한다. 이러한 경사 하강법은 반복적으로 수행되며, 최종 결과물은 포텐셜이 가장 낮은, 안정한 단백질 구조를 가진다.

경사 하강법을 적용하여 가장 안정한 단백질 구조를 찾아나간다.
경사 하강법을 반복할수록 더 높은 정확도의 단백질 구조가 생성된다.

아래 그림은 알파폴드가 T0955 단백질에 대하여 (a) 알파폴드가 예측한 3차원 구조, (b) 실제 곁사슬 간 거리와 (c) 알파폴드가 예측한 곁사슬 간 거리 디스토그램, (d) 알파폴드가 예측한 29번 곁사슬과 다른 곁사슬 간 거리의 확률 분포 및 실제 거리(빨간 선으로 표시)를 보여준다. 기존의 다른 연구들에서는 곁사슬 간 거리가 특정 임계치보다 클지 작을지 수준에서 유추한 반면, 알파폴드의 경우 사로 다른 곁사슬 간 거리의 확률 분포를 얻어낸다는 차이가 있다. 고정된 값이 아닌 확률 분포로 표현이 가능하기에 알파폴드 네트워크가 더 많은 정보를 포함할 수 있음을 시사한다.

알파폴드가 예측한 (a) T0955 단백질 구조, (c) 곁사슬 간 거리 디스토그램 및 (d) 29번 곁사슬과의 거리 분포

이처럼 알파폴드 네트워크는 예측한 결과의 불확실성까지 모델링한다. 아래 그림 (f)를 보면, 예측한 곁사슬 간 거리 분포의 표준편차가 작을수록 실제 거리와의 오차폭 또한 유의미하게 감소한다. 이는 알파폴드가 곁사슬 간 거리를 확신할수록 실제로도 더 정확한 구조를 예측함을 의미한다.

(e) T0990 단백질에 대한, 알파폴드 거리 추정치 및 실제 거리, (f) 알파폴드가 추정한 표준편차에 대한 실제 오차

결론

전세계적으로 COVID-19가 유행함에 따라 백신을 개발하고자 하는 움직임이 분주하지만, 앞서 언급한 단백질 구조 예측의 어려움 등의 문제로 백신 개발이 쉽지 않은 실정이다. 앞으로도 새로운 전염병은 계속 등장할 것이며, 아직 원인조차 제대로 규명하지 못한 질병도 많다. 알파폴드는 이처럼 인류가 직면한 여러 도전들을 해결할 수 있는 강력한 도구로 발전할 가능성이 있다.

이러한 알파폴드의 등장으로 단백질 구조 예측에 딥러닝을 적용하고자 하는 연구 또한 활발히 진행되고 있다. 기존에 딥마인드에서 개발한 알파고는 딥러닝의 성능을 가늠해보는 실험적인 느낌이 강했다면, 알파폴드는 오랫동안 연구되어온 난제를 해결하기 위한 도구로 개발되었다고 볼 수 있다. 이처럼 딥러닝을 활용한 연구가 기존과는 다른 새로운 방향성을 제시함으로써 인류에 큰 공헌을 하는 대표적인 예시로 자리매김할 수 있을 것이다.

--

--