AlphaFold2에 대한 설명과 단상
구조는 기능을 결정하고, 기능은 구조의 진화를 유발합니다. 우리의 눈의 홍채는 받아들이는 빛의 양을 일정하게 조절하며, 수정체는 두께의 변형을 통해 물체의 상이 맺히는 위치를 절묘하게 조절합니다. 이렇게 형성된 물체의 상은 망막에 존재하는 시세포를 통해 전기 신호로 변환되어 시신경을 통해 뇌로 전달되고 우리가 물체를 인식할 수 있게 합니다. 심장의 판막은 그 물리적인 구조 덕분에 피의 역류를 막고 한 방향으로의 혈액 순환이 이루어지도록 하며, 우리 귓속의 달팽이관은 관을 따라 들어갈수록 더 낮은 주파수의 진동에 반응하여 공진함으로써 소리의 높낮이를 구분할 수 있게 합니다. 이렇듯 생명체를 구성하는 다양한 소기관들은 그 기능에 놀랍도록 특화된 구조를 가지고 있습니다. 경이롭게도 이 구조와 기능의 조화는 진화적으로 단순한 생명체부터, 복잡한 생명체까지 가리지 않고 나타나곤 합니다.
조금 더 작은 세상을 떠올려 볼까요, 우리 몸을 구성하는 세포 말입니다. 세포는 우리 몸을 구성하는 가장 작은 기능적인 단위라고 불리곤 합니다만, 그 자체로 또 하나의 거대한 세상입니다. 그리고 그 세상의 주역은 바로 단백질입니다. 단백질은 영양소로부터 세포가 사용할 에너지를 만들어내고, 세포가 두 개로 갈라지는 세포 분열을 일으키기도 하며, 세포 밖의 상황을 신호의 형태로 전달하여 세포의 적절한 반응을 이끌어내기도 합니다. 물론 잘못 만들어진 단백질은 주변 상황은 안중에도 없이 무분별하게 분열하는 암세포를 만들기도 하지요.
단백질은 어떻게 저런 복잡한 일들을 다재다능하게 수행해내는 걸까요? 단백질이 스스로 생각할 수 있거나, 명령을 수행할 수 있어서 적절한 일을 하도록 프로그래밍되어 있기라도 한걸까요? 당연히 아닙니다! 단백질끼리의 상호 작용 역시 화학 반응의 일종으로 볼 수 있으며, 기본적으로 세포 내에서 무작위적으로 일어납니다. 이 무작위성을 극복하고, 상호 작용을 위한 자신의 적절한 짝꿍을 찾거나, 기대했던 기능을 수행하기 위해서 단백질에게 필요한 것은 역시 구조입니다. 올바른 구조 말이죠. 구조로써 단백질은 새로운 기능을 가지게 되며, 구조 덕분에 잘못된 기능을 수행하지 않을 수 있게 됩니다.
수많은 단백질은 각각이 모두 독창적이고 복잡한 구조를 가지지만, 한편 모든 단백질은 (약) 20개의 아미노산의 조합으로 만들어집니다. 놀랍지 않나요? 한글 자모 24자, 영어 알파벳 26개, 등의 언어로 현생 인류의 방대한 지식이 축적되기 이전부터 우리의 세포 안에는 단 20개의 아미노산 글자로 이루어진, 넉넉잡아 수십만 종류의 (아마도 어떤 기능을 수행하는) 단백질 구조의 서고가 존재했던 겁니다.
우리는 2000년
구글 딥마인드가 개발한 AlphaFold2는 2020년 말 CASP14로 불리는 단백질 구조 예측 경연에서 압도적인 차이로 우승하여 세상을 놀라게 한 모델입니다. 본 포스트에서는 AlphaFold2 모델의 구조와 그 구성 원리를 자세히 설명하고자 합니다. 생물정보학과 인공지능 두 분야에 관한 기본적인 지식이 필요하지만, 관련 분야 전공자가 아니더라도 이해할 수 있을 정도로 최대한 쉽게 풀어쓰고자 노력해 보겠습니다.
아미노산 residue들의 co-evolution, residue pair의 feature 및 두 요소 간의 상호작용을 deep learning 모델에 접목시켜 protein structure를 예측하기 위해서 self-attention과 그 variant들을 훌륭하게 design하여 활용함