Physics and Informatics

단백질 구조예측과 딥마인드의 알파 폴드

Novelism 2021. 3. 8. 22:27

 

이미 조금 지난 일이지만, 작년 CASP14에서 딥마인드의 알파폴드 2가 예측 정확도에서 다른 참가자를 크게 제쳐버린 일이 있었습니다. 하지만 아직도 알파폴드2를 제대로 분석한 자료는 보이지 않는 것 같습니다. 딥마인드를 과소평가하는게 아닌가... 그런 생각이 듭니다. 
저도 나름 단백질 구조예측 분야를 연구한 경험이 있기에 몇가지 적어볼까 합니다.
먼저, 저는 단백질 구조예측대회 CASP12에 참여하였고 3위안에 드는 그룹 소속으로 주요 저자 중 한명이었습니다. 그리고 correlated mutation 관련된 논문을 2편 쓴 경험이 있습니다. (하지만 그중 한편 도메인 경계 예측은 딥마인드가 도메인 경계 나누지 않고 그냥 모델링 해버렸다고 해서 묻혀버린 분야가 되었습니다.)
굳이 제 이야기를 하는 이유는 실제로 당시 가장 앞서가던 연구자 중 하나라 자부하던 입장에서 딥마인드가 얼마나 대단한지 말씀드리고 싶기 때문입니다. 한마디로 말하면, 그들은 머신러닝만 잘하는 사람들이 아닙니다. 제가 느끼기에, 그들은 단백질 구조 예측분야에서 가장 전문가라 해도 과언이 아니라고 생각합니다. 

 일단 배경설명을 하겠습니다.
단백질 구조예측은 단백질의 서열로부터 3차원 구조를 예측하는 문제입니다. 

 일단 단백질은 분자이고, 물리 화학적으로 다루어야 할 대상처럼 보입니다.

 그러나 현실적으로 물리학적인 에너지 모델만으로 단백질의 구조를 예측하는것은 거의 불가능합니다. 

 일단 입자수가 너무 많고, 양자역학적으로 다루기엔 계산량이 지나치게 많아 원자 단위의 에너지 모델을 사용하는데, 이 에너지 모델은 부정확할 수밖에 없습니다. 또한 탐색의 문제에서, 탐색해야할 구조들이 너무 많습니다. 구조들을 바꿔가면서 에너지를 계산해서 가장 낮은 에너지를 가지는 구조를 찾습니다. 이런 탐색과정에 몽테카를로 기반의 확률적 방법을 사용하는데, 아미노산 하나당 3가지 구조를 탐색한다고 가정해도 아미노산 100개로 이루어진 서열이면 3^100 의 구조를 탐색해야 합니다. 
 이런 문제로 실제로 성공적인 단백질 구조예측은 대부분 생물정보학적인 방법을 사용합니다. 
 그중 가장 대표적인것은 Template Based Modeling (TBM)이 있습니다. 유사한 서열을 가지는 단백질은 유사한 구조를 가지기에, 타겟 단백질과 유사한 서열을 가지는 구조가 알려진 단백질을 템플릿으로 참조하는 방법입니다. 

 단백질의 패밀리는 대략 1000~2000개정도 있는것으로 추정되기에 구조가 유사한 단백질은 많이 있을것으로 생각할 수 있고,실험적으로 구조가 밝혀진 단백질이 많을수록 참고할 데이터가 많아집니다. 

 서열이 유사하다는 표현은 사실 엄밀한 의미가 아니고, (임의로 서열을 아무렇게나 변화시키면 구조가 크게 달라져버릴 수도 있으므로) 아마도 호몰로지라는 용어가 더 적합할 것입니다. 진화적으로 살아남은 친족들이라 볼 수 있습니다. 

보통 sequence identity 50% 이상이면 정렬된 서열을 눈으로 봐도 유사하게 보이지만, 그보다 낮아지면 서열 유사성이 매우 낮아보입니다. 하지만 서열 유사성이 20% 이하일지라도 구조가 유사한 경우들도 있습니다. 제가 CASP 참여했을 때도 서열 탐색 기술은 20%이하의 템플릿까지도 찾아내서 구조 예측에 활용할 수 있을 정도였습니다. 

 하지만 적절한 템플릿을 찾지 못하는 경우는 TBM 으로 제대로된 예측을 할 수 없었습니다. 그렇다고 물리적인 에너지 모델로 구조 예측에 성공하는 사례도 드물었습니다. 

제가 참여한 CASP12 는 여기에서 중요한 전환점이었습니다. Contact Based Modeling (CBM) 이 활발하게 도입되던 시기입니다. CASP11 에서 Baker 그룹이 CBM을 도입해서 구조 예측 정확도를 높혔고, 그무렵 contact prediction 연구가 활발하게 진행되었고 CASP12에도 여러 그룹들이 구조 예측에 contact 정보를 도입하였습니다. 그리고 그 흐름이 알파폴드로 이어집니다. 

 contact prediction은 TBM과 유사한점이 있습니다. 타겟 서열들과 유사한 서열들을 탐색하고 정렬합니다. (multiple sequence alignment, MSA)

 이렇게 정렬을 했을 때, 특정 residue 들 사이에 correlated mutation이 나타나는 경우가 있습니다. residue 사이의 correlation과 구조를 연관시켜본다면, 두 residue 사이에 구조적인 contact이 있다고 생각할 수 있습니다. 

이런 방식의 contact 예측에는 친족들의 구조가 필요 없습니다. 

 그리고 그때보다 조금 전에 DCA (Direct Coupling Analysis) 라는 방법이 개발되었습니다. 이는 residue사이의 correlation중에서 indirect coupling을 제외하고 direct coupling만을 추출하는 방법입니다. Potts 모델을 사용합니다. 

A와 B가 코릴레이션, B와 C가 코릴레이션이면 A와 C가 직접적인 연관이 없더라도 correlation 처럼 보일 수 있는데, 그런 것들을 분석하는 것입니다. 

 DCA 이후에 높은 정확도의 contact prediction이 가능해지고, DCA 결과를 다시 머신러닝 지도학습을 사용하여 contact prediction의 성능을 높혔습니다. 사실은 DCA 자체도 머신러닝의 생성모델에 해당됩니다. 당시 제가 사용하던 contact prediction 메소드는 데이비드 존스 그룹에서 만든 MetaPSICOV 였습니다. 그는 후에 알파폴드에 공동 저자로 참여합니다. 

 여기까지가 배경이었고... CASP12 이후 저는 몇가지 아이디어가 있었지만, 구현할 능력이 부족하여 좌절하고 딥러닝을 공부하기 위해서 단백질 구조예측 분야에서 떠났습니다. 그때 생각한 아이디어중 하나는 DCA 의 스코어 계산 방법을 바꾸는 것이었는데, 데이비드 존스가 CASP13에서 사용했더군요. 또 하나의 아이디어는 단백질 서열에 대한 생성모델이었습니다. 사실 당시에 CBM으로도 예측이 안되는 단백질이 있었습니다. 타겟 단백질에 대해서 서열 탐색을 위해 BLAST 를 돌려도 (혹은 JackHMMER나 HHBlits...) 호몰로지 서열이 거의 나오지 않는 경우들이 있었는데, 이런 경우는 DCA 도 작동하지 않고, contact prediction 정확도가 매우 떨어졌습니다. 이런 경우까지 풀어야 진정한 의미로 모든 단백질 구조 예측 문제를 풀 수 있다. 라고 할 수 있습니다. 또한 서열이 많을수록 예측 정확도가 높기에 유사서열이 100개 정도인것보다는 1000개 이상이 구조 예측에 더 도움이 됩니다. 

 아무튼 그리고 CASP13에서 알파폴드가 등장해서 압도적인 성능을 보여줬습니다.

 하지만 저를 비롯해서 학계의 반응은 "의외로 새로운게 별로 없다." 였습니다. 딥러닝 최적화를 잘 한것으로 보이는 정도였고, 당시에 사용한 아이디어들은 대부분 다른 그룹에서도 사용한 것들이었습니다. contact prediction대신 distance prediction으로 변환했지만, 다른 그룹에서도 시도하였고, DCA의 결과에 CNN을 사용하는것도 이미 시도된 것이었습니다. 토션 예측도 fragment assembly 에서 사용할만한 것이었습니다. 

 심지어 에너지 모델같은 부분은 오히려 다른 그룹들보다 성능이 부족해서, 딥마인드의 구조를 가져다가 더 좋은 에너지 모델로 최적화만 잘해도 성능 향상이 있었다고 합니다. 

굳이 말하자면 다른 그룹에선 하나 둘씩 아이디어에서 빈 부분들이 있는데, 딥마인드는 거의 다 사용하였고, 개별적으로 예측되던 이차구조 컨텍, 토션 등을 한번에 통합적으로 예측하였습니다. 

비록 딥마인드라고 해도 2년만에 완전히 새로운 것을 만들 순 없었던 것 같습니다. 

 

 그리고 CASP14 준비 과정에서 여러 주요 그룹들은 다들 준비를 열심히 했다고 소문으로 들었습니다. 

알파폴드의 distance prediction을 리프로듀스하고 잘 디자인된 에너지모델과 distance prediction을 사용해서 알파폴드보다 더 정확한 모델링을 할 수 있다고 하던 그룹들도 잇습니다.

 

 그리고 당시 딥러닝 공부를 어느정도 한 저는 "이 사람들이 딥마인드를 얕보는건가... 그정도론 안된다." 라고 생각하고 있었습니다.

 일단 distance map은 2차원으로 보이지만, 사실 1차원 사이의 상호작용입니다. 2D CNN보다는 트랜스포머가 더 적합한 메소드일 수도 있는데도 다른 그룹들은 알파폴드 리프로듀스 정도로 만족하는 상황이었습니다. 

 그리고 또하나는 서열 생성모델의 등장입니다. 

 

위에서 제가 MSA가 부족해서 풀지 못한 문제들, 혹은 MSA 수가 적어서 예측 정확도가 낮은 서열들에 대해서 언급했습니다. 이미 풀 수 있는 문제를 더 정확히 잘 푸는것도 중요하지만, 지금까지는 풀 수 없었던 문제를 풀어야만 압도적인 승자가 될 수 있습니다. 사실 저는 딥러닝을 배우러 가서 분자 생성모델을 연구했고, 그 경험으로 당시 단백질 서열 생성 모델에 관심을 가지고 있었습니다. 초반에는 없었는데, 어느순간 단백질 서열 생성도 논문이 많이 나오더군요.

다만 특정 친족에 대한 생성이 위주이고 일반적인 서열을 동시에 학습에 성공한 사례는 못봤던 것 같습니다. 

 

 저는 혹시 딥마인드가 제너럴한 단백질 서열 생성모델을 만들어서 MSA가 부족했던 문제를 풀어버리는거 아닌가 기대하고 있었습니다. 딥러닝에서 NLP 도 연구가 잘 된 분야라서 이 기술들을 단백질에 적용한다면 뭔가 가능하지 않을까 기대했었는데요. 뚜껑을 열어보니 제가 생각한 아이디어와 좀 다르지만, MSA를 더 확보하는 방향으로 개선이 이루어졌던 것 같습니다. (추측성으로 말하는 이유는 딥마인드가 명확히 기술 공개를 하지 않았기 때문에...)

 
다시 서열 정렬에 대해서 말씀드리면, 두개의 객체에 대해서 얼마나 유사한가를 말하는 것은 매우 어려운 일입니다.

 비슷하다 다르다 를 판단하는 기준 자체가 절대적이지 않기 때문입니다. 그래서 적절한 스코어를 개발하려는 노력들이 있었고, 위치에 따른 유동적인 스코어를 사용하기도 하였고, 통계분석, 머신러닝 방법들도 사용되고 있었습니다.

 하지만 단백질 구조예측 연구자들이 굳이 서열 정렬 방법을 개발하는 부분까지 손대기는 쉽지 않은 일이었습니다. 

 그래서 기존에 알려진 메소드를 사용하고, (혹은 DB에 데이터만 더 추가하고) 여기서 나온 결과물을 머신에 입력으로 사용합니다. 하지만 머신러닝에서 중요한것은 아키텍처 뿐만이 아니고, DB와 피처도 매우 중요합니다. 

 당시에 이 분야에서 다음에 남겨진 과제는 MSA가 부족한 문제들이다. 라고 저는 생각했지만 능력이 부족해서 하지 못했고, 아마도 단백질 구조 예측 분야에서도 이 문제를 절실히 느끼지 못하는 사람도 많았던 것 같습니다. 

딥마인드는 무엇을 해야하는지 누구보다도 잘 알고 있었고, 그것을 해낼 실력또한 가지고 있었습니다. 

 

 서열 학습에 대한 문제는 단백질 구조예측만으로 끝나는 것이 아닙니다. 단백질 디자인 또한 밀접한 관련을 가지고 있으며, 바이오 인포메틱스 분야에서 가장 기본적인 연구 중 하나입니다. 서열 정렬에 사용하는 BLAST의 인용수가 수만 회인것만 봐도 잠재성이 높다고 할 수 있습니다. 딥마인드가 딥러닝으로 단백질 신약을 찾았다고 기사를 내도 놀라울게 없습니다. 

 

 현재 저는 컴퓨터 및 인공지능을 활용한 신약개발 연구를 하고 있지만 딥러닝만 가지고 신약개발을 할 순 없고, 오히려 점점 머신러닝보다는 전문지식에 의존하는 방향으로 일을 하고 있습니다. 그리고 도메인 지식이 부족하거나 딥러닝에 대한 지식이 부족한 사람들도 많이 봅니다. 

그런 입장에서 딥마인드를 보면서 느끼는것은, "저 사람들은 단순히 딥러닝 잘하는 사람이 아니다. 무엇이 중요한 문제인지 이해하고, 그것을 실제로 풀 수 있는 사람들이다. 저 사람들이야말로 단백질 구조 예측 분야 세계 최고 전문가들이다." 라는 것입니다. 

 

 그리고... 제가 있던 그룹이 단백질 구조 예측 관련 연구에 투입하는 예산이 연 10억 이상이었습니다. 

  딥마인드는 저자 수와 연봉이나 계산 자원을 생각해보면 아마도 100억원 정도 쓰지 않았을지...  

 

사업은 얼마나 강한 의지로 끌고갈 생각이 있는가에 따라 성공하고 실패가 갈라질 수 있습니다. 

 제가 딥마인드를 두려워하는 이유는 그들이 의지를 가지고 있기 때문입니다. (그리고 제 소소한 논문을 무가치하게 만들어버릴 수 있습니다...)