
구글에서는 아주 친절하게 AlphaFold 모델을 경험할 수 있도록 구글 코랩(Google Colab) 환경을 제공합니다.
웹브라우저만 있다면 누구든지 쉽게 실행할 수 있습니다.
(기본 제공되는 자원으로도 빠르게 실행됩니다.)
https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb
Google Colab Notebook
Run, share, and edit Python notebooks
colab.research.google.com
그런데 막상 들어가보면 가이드가 있긴한데, 다 영어고 해석도 쉽지 않습니다.
그래서 실행해보는 김에 가이드 형태로 결과를 정리해보고자 합니다.
1. Input protein sequence
알파폴드 모델에 입력할 데이터를 정의합니다.

query_sequence (쿼리 서열)
- 3차원 구조를 알고 싶은 단백질의 1차원 아미노산 서열입니다.
- 만약 두 개 이상의 단백질이 결합한 형태를 보고 싶다면, 서열 사이에 콜론(:)을 넣어 구분합니다. (예: SEQ1:SEQ2)
num_relax (구조 완화 횟수)
- AI가 예측한 구조 중 상위 몇 개에 대해서 에너지 최소화를 수행할지 결정합니다.
- AI가 예측한 직후의 구조는 원자들끼리 너무 가깝거나 결합 각도가 살짝 뒤틀려 있는 등 물리적으로 불안정한 부분이 있을 수 있습니다. 이때 Amber라는 물리 엔진(Force field)을 사용하여 단백질을 살짝 '진동'시켜 가장 안정적인 상태로 가라앉힙니다.
- 설정 값
- 0: 완화 과정을 생략합니다. 속도가 가장 빠르며, 대략적인 형태만 볼 때 사용합니다.
- 1: 가장 점수가 높은 1등 모델만 다듬습니다. (가장 많이 쓰이는 옵션)
- 5: 생성된 5개 모델 모두를 다듬습니다. 시간은 더 걸리지만 모든 모델의 물리적 타당성을 확보합니다.
template_mode (템플릿 모드)
- PDB(Protein Data Bank)라는 데이터베이스에 등록된 기존 단백질 구조들을 예측의 '힌트'로 쓸지 정하는 모드입니다.
- 우리가 분석하려는 단백질과 비슷한 친척 단백질들이 이미 구조가 밝혀져 있다면, 이 정보를 쓰는 것이 훨씬 정확합니다. 반대로 세상에 처음 발견된 완전히 새로운 단백질이라면 none으로 해도 큰 차이가 없을 수 있습니다.
- 옵션
- none: 힌트를 보지 않습니다. 오직 입력한 서열과 진화적 정보(MSA)만으로 구조를 맞힙니다. 서열 정보가 충분할 때는 이 것만으로도 충분히 정확합니다.
- pdb100: 입력한 서열과 비슷한 기존 단백질 구조가 있다면, 그 정보를 가져와서 예측의 가이드라인으로 삼습니다.
2. MSA Options

msa_mode (MSA 생성 모드)
단백질 구조 예측의 핵심 데이터인 '유사 서열 데이터(MSA)'를 어디서 가져올지 정합니다.
- mmseqs2_uniref_env: 유니프롯(UniProt) 환경 데이터베이스를 모두 사용하여 가장 풍부한 정보를 찾습니다. (가장 추천)
- mmseqs2_uniref: 속도가 조금 더 빠르지만 데이터 양이 적습니다.
- single_sequence: 유사 서열 없이 오직 입력한 서열 하나만 봅니다. (정확도가 매우 낮아짐)
pair_mode (서열 쌍 맞춤 모드)
두 개 이상의 단백질이 결합한 복합체를 예측할 때 사용하는 옵션입니다. 서로 다른 두 단백질이 함께 진화했는지 확인하는 방식입니다.
- unpaired_paired: 서로 다른 단백질들 사이에서 진화적으로 연관된 쌍을 찾아 정렬합니다. 두 단백질이 어떻게 결합하는지(Interface)를 예측할 때 필수적인 옵션입니다.
- unpaired: 각 단백질을 별개의 개체로 보고 유사 서열을 찾습니다. 결합 방식보다는 각 단백질 자체의 구조를 더 중시할 때 사용합니다.
- paired: 오직 같은 생물 종 내에서 쌍으로 존재하는 서열들만 힌트로 사용합니다.
3. Advanced settings
알파폴드가 데이터를 어떻게 처리하고, 결과를 얼마나 정교하게 다듬을지 결정하는 설정입니다.
model_type (AI 모델 엔진 선택)
- 어떤 최적화된 가중치(Weights)를 가진 모델을 사용할지 정합니다.
- 옵션
- auto: 입력된 서열의 개수에 따라 단일 단백질(Monomer) 혹은 복합체(Multimer) 모델을 자동으로 선택합니다.
- alphafold2_ptm: 단백질 전체의 구조적 신뢰도(pTM)를 계산하는 데 최적화된 모델입니다.
- alphafold2_multimer_v3: 여러 단백질이 엉겨 붙은 복합체 구조를 예측할 때 사용하는 최신 버전입니다.
num_recycles
- 모델이 자신의 예측 결과를 다시 입력으로 넣어 구조를 반복해서 다듬는 횟수입니다.
- 1번 예측한 결과를 다시 모델의 처음 단계로 보내 정보를 정교화합니다.
- 기본값은 3이며, 구조가 복잡할수록 이 값을 높이면(예: 6, 12) 정확도가 올라갑니다. 단, 연산 시간(GPU 점유 시간)이 비례해서 늘어납니다.
결과 분석 🤔
위와 같이 입력값을 정의한 후에 모델을 실행하게 되면 결과물이 생성되는데, 이를 해석해보겠습니다.
주요 지표
1. pLDDT (predicted Local Distance Difference Test)
- 각 아미노산 하나하나를 얼마나 정확한 위치에 배치했는지에 대한 국소적 신뢰도입니다. 이 값은 AlphaFold가 예측한 구조가 얼마나 정확할 것인지를 예측하는 척도입니다.
- 점수 해석 (0~100)
- 90 이상 (Dark Blue): 매우 높은 신뢰도. 실험 데이터와 거의 일치하며 옆사슬(Side chain)의 각도까지 믿을 수 있는 수준입니다.
- 70 ~ 90 (Light Blue): 신뢰할 수 있는 수준. 단백질의 전체적인 골격은 매우 정확합니다.
- 50 ~ 70 (Yellow): 신뢰도가 낮음. 대략적인 방향성만 참고해야 합니다.
- 50 미만 (Orange): 신뢰할 수 없음. 실제로 고정된 모양이 없는 무정형 구간일 확률이 매우 높습니다.
2. IDDT (Local Distance Difference Test)
- 실제 구조와 예측된 구조 간의 현지적 정확도를 측정하는 지표입니다.
- 알파폴드는 pLDDT를 이용해 예측된 신뢰도를 제공하고, lDDT를 통해 그 정확도를 검증합니다.
3. pTM (predicted Template Modeling score)
- 단백질 전체의 3차원 입체 모양이 실제와 얼마나 유사할지 나타내는 글로벌 신뢰도입니다.
- pLDDT가 높아도 pTM이 낮을 수 있습니다. (각 부분은 잘 맞췄지만, 두 덩어리 사이의 각도가 틀린 경우)
- 점수 해석 (0.0~1.0):
- 0.7 이상: 전체적인 단백질의 '접힘(Fold)'이 매우 정확하다고 판단합니다.
- 0.5 이하: 전체적인 모양이 틀렸을 가능성이 큽니다.
결과 그래프
ColabFold에서는 기본적으로 5개의 구조를 예측하고, 각각의 결과를 아래와 같이 보여줍니다.
5개의 모델 중 가장 좋은 결과를 rank_1 좋지 않은 결과를 rank_5로 저장합니다.
- colored by N→C: N은 아미노기로 시작 부분을 의미하며, C는 카복실기로 마지막 부분을 의미합니다.
- colored by pLDDT: 각 아미노산의 신뢰도를 의미하며, 색을 봤을 때 높은 신뢰도를 가지는 것으로 확인됩니다.

단백질 구조 예측의 핵심은 "나와 비슷한 서열들이 진화 과정에서 어떻게 변해왔는가"를 분석하는 MSA(다중 서열 정렬)에 있습니다.
- X축 (Position): 단백질 서열의 번호입니다.
- Y축 (Sequences): 해당 위치에 정렬된 유사 서열의 개수입니다.
- 색상 (Sequence identity to query): 쿼리 서열과 유사 서열이 얼마나 닮았는지를 색으로 표현합니다.
단백질 구조의 마지막 부분에서 신뢰도가 비교적 낮으며, 나머지 부분에서는 우수한 신뢰도를 보이는 것으로 확인됩니다.

마지막으로 실제 구조와의 차이(IDDT)를 확인할 수 있습니다.
생성한 구조별로 값을 확인할 수 있으며, 마지막 부분을 기준으로 자체적인 신뢰도는 rank_1가 가장 높지만, 실제로는 rank_2, rank_3이 가장 유사도가 높은 것을 확인할 수 있습니다.

노벨상으로 그 가치가 증명된 세계 최고 수준의 AI 모델을 오픈 소스 환경에서 누구나 쉽게 경험할 수 있다는 점이 놀라웠습니다.
복잡한 단백질 구조를 시각화하고, 핵심 지표들을 직접 확인해보며 바이오 AI에 대한 이해를 보다 깊이 할 수 있었던 가치가 있는 시간이었습니다! 😊
'AI' 카테고리의 다른 글
| AI 에이전트 엔지니어링 - 비결정적 AI를 제어하는 법 (0) | 2026.03.26 |
|---|---|
| Chain of Thought(CoT): AI가 신뢰를 주는 방법 (1) | 2026.03.21 |
| IT 엔지니어가 읽은 《알파폴드: AI 신약개발 혁신》 (0) | 2026.03.04 |
| MLOps Engineer가 보는 딥시크(DeepSeek)에 대한 생각 (0) | 2025.02.01 |
| [D/L] CNN 이란? (feat. DACON) (0) | 2022.01.16 |