2022.02.05. 17:22분 최종 수정됨


오늘 소개할 논문은 Nature의 Highly accurate protein structure prediction with AlphaFold 입니다.

논문은 아래의 링크에서 확인할 수 있습니다.

https://www.nature.com/articles/s41586-021-03819-2

 

Highly accurate protein structure prediction with AlphaFold - Nature

AlphaFold predicts protein structures with an accuracy competitive with experimental structures in the majority of cases using a novel deep learning architecture.

www.nature.com

 

AlphaFold2는 단백질 접힘 구조를 예측하는 모델로, CASP14 대회에서 압도적으로 높은 정확도를 보이며 단백질 3차원 접힘 문제 해결의 종지부를 찍었다고도 평가받고 있는, 핫한 모델입니다.

Alphafold2가 실제로 예측한 단백질 구조

 

논문을 읽었지만.. 학부 3학년인 제 수준에서는 이해하기 어려운 내용들이 있어 전반적인 흐름만 살펴보았습니다.

먼저 전반적인 AlphaFold2의 간략한 파이프라인은 다음과 같습니다. 

논문에서는 17만개의 Dataset(즉, 현재 구조가 명확히 밝혀진 단백질의 수만큼이죠)에 대해 훈련 및 예측을 진행하였습니다.

논문에서 정확도를 높이기 위해 사용한 방법은 크게 3가지가 있습니다. (ppt에서 확인)

다시말해 생물정보학에 물리적, 기하학적 접근방식을 기반으로 PDB data에서 학습하는 구성요소를 구축하였으며

다양한 접근을 통해 제한된 데이터에서 더 효율적으로 학습가능하며 데이터의 복잡성과 다양성에 대처할 수 있는 네트워크를 형성했습니다.

 

Framework

.fasta 입력파일이 들어오면, 모델은 각각 두 가지 경로로 나눠 서칭을 진행합니다. 

1-1 경로로는 데이터베이스에서 유사한 '단백질 서열'을 조회하고, 식별합니다. (이 정보를 MSA라고 부르겠습니다.)

1-2 경로로는 데이터베이스에서 유사한 '단백질 구조(템플릿)'을 조회하고 식별합니다.

다음으로, 각 정보에서 MSA와 템플릿을 추출해 변환기를 통해 전달합니다. 이 Transformer를 통해 MSA와 템플릿은 서로 정보를 주고받으며 표현을 계선합니다. 이는 지정된 주기수까지 반복되는 48개의 블록으로 구성되어있습니다.

 

이후 Evoformer를 통해 개선된 정보가 출력되면, Structure module에 넣어 3차원 구조를 예측하고, 모델을 생성합니다.

 

논문에서 중요하게 봐야할 부분중에 하나가 이 Transformer 부분인데요. 연구원이 제안한 Evoformer는 MSA와 템플릿에서 모든 정보를 짜내서, 현재의 구조적 가설을 활용해 다중 서열 정렬의 평가를 개선하고(새로운 인사이트 창출) 이후 새로운 구조적 가설 등으로 이루어지게합니다. 

예를 들어서, 만약 ABCD 라는 서열을 갖고, 일자 구조인 단백질이 있다고 해봅시다. 아미노산은 +, - 성질에 따라 접히기도 하고 펼쳐지기도 하는데요. 예를들어 A가 +, B와 C가 각각 +, -, D가 + 를 갖고있다면 B와 C는 서로 끌어당겨 접히게 됩니다. 이렇게 되면 서열만으로 예상하였을때는 서로 + 라 접힐 일이 없는 A와 D가, 접혀야하는 상황이 오게됩니다. 이렇게되면 둘 중 하나가 -로 바뀌며 돌연변이가 될 수 있습니다. 알파폴드는 이렇게 아미노산의 서열과 구조간의 정보를 서로 교환하며, 매 iteration마다 발전적인 예측을 하게 됩니다. (아미노산은 돌연변이가 종종 발생하며, 이 돌연변이를 예측하는게 단백질 접힘예측의 중요한 부분이라고 볼 수 있습니다. 해당 내용은 원리를 간략하게만 작성한것입니다.)

 

본 글에서 제가 설명한 부분 외에도 정확도를 높이기 위한 다양한 접근이 시도되었고, 이를 간략히 정리하면 위와 같습니다. 

 

알파폴드는 오픈소스로, 누구나 다운로드받아 실행해볼 수 있습니다.

저도 알파폴드를 설치해 실행해보려하는데.. 왜인지 설치 및 실행 과정에 오류를 많이 겪고 있습니다. -_-

도커가 환경 다 구축해주는데 왜 환경때문에 문제가 발생하는건지?! 는 도커파일에 문제가 있었고...

아무튼 정말 다양하게 오류가 발생하고 있습니다. 이거때문에 글 쓸 의욕이안나는듯

계속 수정하는중이라 곧 성공적으로 돌려볼 수 있을것같은데, 그렇게되면 또 간략하게 글 쓰겠습니다.

--> 설치 및 정상 작동 완료!! 아래의 포스팅으로 가주세요!

https://checherry.tistory.com/117

 

알파폴드2 실행하기 : 단백질 접힘 예측모델 / AlphaFold2 run

많은 시행착오, 오류수정 끝에 알파폴드2 실행에 성공했다! https://github.com/deepmind/alphafold 실행하기 위한 코드 및 설명은 여기에서 확인할 수 있다. GitHub - deepmind/alphafold: Open source code for..

checherry.tistory.com

 

 

 

+ Recent posts