Physics and Informatics

protein bioinformatics: 3. 단백질 삼차원 구조 예측 개요

Novelism 2021. 6. 7. 00:12

 단백질은 아미노산들의 1차원 사슬로 이루어져 있고 (1차 구조), 지역적으로 helix, strand, coil 의 2차 구조를 형성하고

 이들이 모여서 고유의 3차원 접힘 구조 (3차 구조)를 이룹니다. 혹은 3차 구조들이 여러개 모여 4차구조를 이루기도 합니다. 

 

 단백질 3D 구조 예측은 단백질의 서열로부터 고유의 3차원 접힘 구조를 예측하는 문제입니다.

 단백질 구조 예측 문제를 어떻게 풀어야 하는가를 설명하기 위해서 일단 제 전공에 대한 이야기부터 해야겠는데요. 저는 원래 대학교, 대학원에서 물리학을 전공했습니다. 그러다가 졸업 후에 국내에서 단백질 구조 예측 연구를 전문적으로 한다는 연구실로 박사 후 연구원으로 취직을 했습니다. 저는 물리학을 전공한 사람이다보니, 처음엔 단백질도 물리적인 대상이니까 물리학적인 에너지 모델을 개선해서 단백질 구조 예측을 해보자... 라고 생각을 했습니다. 그런데, 단백질 구조 예측 분야를 공부하다 보니 물리학으로는 잘 되지 않는다는 것을 알게 되었습니다. 

 

 안될 이유가 너무 많아서 뭐가 결정적 이유라 해야할지 모르겠네요. 

 물리학으로 풀기 어려운 문제가 여럿 있습니다. 단백질처럼 많은 입자로 이루어진 시스템이 그러합니다. 

 당연히 수식이 손으로는 안풀리니까 컴퓨터 시뮬레이션을 사용하죠. 하지만 입자가 많다는 것은 계산량도 높다는 것입니다. 계산량이 높다는 것만이 문제가 아니라, 적절한 해를 탐색하기도 쉽지 않다는 문제가 있습니다.

 

conformtion space 에서 최적화 문제

 예를들어 위 그림같은 퍼텐셜 하에서 global minimum energy를 주는 구조를 찾는다고 생각해봅시다. x축은 conformation space이지만, 일단 이해하기 쉽도록 x 좌표만 있다고 가정합시다. y축은 최적화해야할 스코어, 프리 에너지, 혹은 퍼텐셜 입니다. 이 값이 최소인 구조 (x) 좌표를 찾는 문제입니다.
 우리가 수학시간에 많이 배운 최소점 찾는 문제는, (미분가능하다는 가정 하에) 일단 극소점을 찾고 (기울기, 즉 미분이  0인)  이 극소점들에서의 y 값을 비교해서 그 중 가장 값이 작은 것을 찾는 것입니다. 위 그림에선 4개의 극소점 (녹색)이 있고, 3개의 극대점이 있습니다. 그리고 하나의 global minimum (파란색) 이 있습니다. 좌표가 x 하나만 있으니까 이경우는 찾기가 쉽습니다. 그런데 실제 단백질은, 수천 수만의 원자들로 이루어져 있으며, 각 원자마다 x,y,z 3개의 값을 가지고 있습니다. 따라서 수식을 미분해서 값이 0 지점들을 손으로 찾는 것은 불가능합니다. 
그래서 수치적인 계산을 해야하는데, 로컬 미니멈을 구할 때는 뉴턴 메소드 처럼 미분 기반의 iterative 한 방법들을 많이 사용합니다. 간단한 설명을 해보자면, 위 그림에서처럼 임의의 초기값을 잡은 후(붉은 점) 그 점에서의 미분값을 계산하고, 미분이 0보다 크다면 좌표를 -방향으로, 0보다 작다면 + 방향으로 이동시켜줍니다. 얼마나 이동시킬지는 값의 크기에 따라 정해집니다. 뭐... 지렁이도 할 수 있는 미분입니다. 빛을 피하고 싶은데, 몸을 서쪽으로 갔더니 빛이 강해지더라... 그럼 동쪽으로 이동하자... 동쪽으로 이동했더니 빛이 약해지더라.. 그럼 더가자. 
https://ko.wikipedia.org/wiki/%EB%89%B4%ED%84%B4_%EB%B0%A9%EB%B2%95

 

뉴턴 방법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 함수 f는 파란 선, 각 접선은 빨간 선이다. 접선의 영점을 반복적으로 취해 나갈 때, xn과 실제 영점의 오차가 점차 줄어듦을 확인할 수 있다. 수치해석학에서,

ko.wikipedia.org

 

 아무튼 이런 방법을 사용하면 local minimum 값들 (녹색)을 얻을 수 있습니다. 그런데 보시는 것처럼, 각 시작점에 따라서, 서로 다른 local minimum에 빠져버리는 것을 볼 수 있습니다. 그리고 로컬 미니멈 값 자체가 상당히 많기 때문에, 이 모든 로컬 미니멈을 전부 탐색하는 것도 불가능합니다. 

그리고... 최적화 중에서도 좀 더 골치아픈 문제인데, 머신러닝 같은 문제의 최적화는 x값 자체는 중요하지 않습니다. y도 꼭 global minimum만을 찾아야만 하지도 않습니다. global minimum과 second minimum 값의 차이가 크지 않습니다. 

그런데 단백질 문제는 사실은 y가 중요한 것이 아니라 x가 중요합니다. native-like 구조를 찾는 것이 중요한데, global minimum가 second minimum 값의 차이가 거의 없더라도 서로의 구조가 크게 다르다면, global minimum만이 native like 라면 second minimum을 찾아봐야 소용이 없습니다.

 

 단백질의 구조의 복잡도를 간단하게 표현하자면, 아미노산 100개 서열로 이루어진 단백질에서, 각 아미노산마다 구조를 단순화해서 3가지의 2차구조(helix, strand, coil)만 고려한다고 치면 복잡도.. 즉 탐색해야할 총 구조의 수는 아미노산 하나마다 3가지이니, 3^100 이 됩니다. 

 

 그리고 또하나, 에너지 모델 자체가 부정확합니다. 사실은 단백질은 양자역학적인 대상이고 양자계산을 해야겠지만, 양자계산은 원자의 전자 궤도까지 고려해야합니다. 원자많 해도 수천 수만인데, 전자까지 고려한다면 당연히 전체 구조에 대한 연산을 하기 어렵습니다. 그래서 이를 간소화한 effective energy 모델을 사용할 수밖에 없는데, 어느정도로 간소화하는가에도 여러 선택지가 있습니다. 이중에 원자 단위로 고려하는 모델은 all atom model 이라고 불리고, 수소를 생략한 모델은 all heavy atom model 이라 불립니다. 이를 더 간략화하여 여러 원자를 하나의 입자처럼 뭉쳐서 고려하는 모델도 있습니다. 이런 예시로 coarse grained model 이나 united atom model 이라 부릅니다. 

 보통 coarse grained model 과 find grained model 이라 표현하긴 하지만, 어느정도 상대적인 의미가 있습니다. 
원자단위에서의 에너지 모델은 주로 화학적인 bond distance, bond angle, bond torsion 같은 stereo chemistry term들과, van der Waals (VdW) 에너지, charge (사실 잘 안맞아서 안쓰는 경우도 많습니다.) 등을 사용합니다. 
 구조예측분야에선 계산량을 줄이기 위해서 수소와 워터를 제외하는 경우가 많아서 에너지 모델이 잘 안맞습니다. 
(분자동역학 계산 하시는 분들은 이렇게 하면 매우 싫어하십니다.)

 

 그래서 단백질 구조 예측에서 실제로 많이 사용하는 방법은 bioinformatics를 사용하는 것입니다. 

그중 가장 대표적인 것은 Template based modeling이고, 그 외에도 부분적으로 bioinformatics와 머신러닝을 이용하여 2차구조를 예측하고 이를 에너지모델화 하는 방법도 있고, 최근에는 residue-residue 간의 contact prediction 혹은 distance prediction을 활용한 구조 예측이 가장 인기있는 분야입니다. 

 

 template based modeling (TBM)은 유사한 서열을 가진 단백질은 유사한 3차원 구조를 가진다라는 가설에서부터 출발합니다. 유사한 서열이라기보다는 친족서열이라고 보는게 맞겠죠. 진화 과정에서 살아남은 것들이지, 임의로 서열을 변화시킨것은 아니니까요. 정상 단백질에서 임의로 서열을 10개 변화시켜서 단백질의 접힘 구조를 고장낼 수도 있을 것입니다. 유전적으로 변화해도 안전한 residue와 그렇지 않은 residue들이 있습니다. 아무튼 TBM은 구조가 알려진 단백질 DB에서 target과 유사한 서열을 가지는 단백질을 찾고, 이를 잘 정렬해서 그 구조를 복사해서 주형틀로 사용하고, 에너지 모델을 이용해서 비교적 좁은 영역에서 구조 탐색을 하여 target 구조를 예측하는 방법입니다.  친족 (homology) 서열 탐색은 bioinformatics의 기본입니다. 사실 2차구조 예측이나 contact prediction도 homology 탐색부터 시작합니다. 

 

2014년 정도만 해도, TBM 이외에 단백질 구조 예측이 잘되는 경우는 드물었습니다. Template이 없는 경우를 free modeling (FM) 이라 부르긴 했지만, 이런 영역에서 구조예측이 잘되는 사례가 오히려 더 적었습니다.
 그러다가 contact based modeling이 나오면서 template 없이도 구조 예측에 성공하게 되었지만, 역시나 이 방법도 bioinformatics 입니다. 

 아무튼 저는 물리학 전공이었지만, 결국 물리학만으로 안된다는것을 알게되고 informatics와 머신러닝에 관심가지게 되었습니다. (그렇다고 물리학 없이 된다는 것은 아닙니다.) informatics와 머신러닝 이론에 물리학이 상당히 연관되어있는 경우도 있습니다. 엔트로피 라거나 볼츠만 머신이라거나... 

다음엔 template search, 2차구조 예측 contact 예측 등에 대해 이야기해보겠습니다.