| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- 생물정보학
- SVM
- COVID
- 알파폴드
- CNN
- 파이썬
- AP
- 로제타폴드
- 딥러닝
- 생명정보학
- RNN
- AP Computer Science A
- 결정트리
- Kaggle
- bioinformatics
- ncbi
- 자바
- 캐글
- 이항분포
- 바이오인포매틱스
- 오류역전파
- 인공신경망
- Java
- 인공지능 수학
- 바이오파이썬
- 시그모이드
- 인공지능
- 단백질 구조 예측
- BLaST
- 서열정렬
- Today
- Total
데이터 과학
Evoformer란 무엇인가 본문
AlphaFold2의 핵심 구조, Evoformer란 무엇인가
AlphaFold2를 이해할 때 가장 중요한 구성 요소 가운데 하나가 바로 Evoformer입니다. Evoformer는 단백질 서열의 진화적 정보와 아미노산 사이의 관계 정보를 반복적으로 분석하여, 최종적으로 단백질의 3차원 구조를 예측하는 데 필요한 특징을 만들어 내는 핵심 신경망 구조입니다.
쉽게 말하면 Evoformer는 다음과 같은 문제를 해결하는 역할을 합니다.
- 어떤 아미노산 위치들이 서로 관련되어 있는가?
- 여러 단백질 서열에서 어떤 위치들이 함께 변화하는가?
- 서열에서는 멀리 떨어져 있지만 3차원 구조에서는 가까울 가능성이 있는 아미노산은 무엇인가?
- 여러 아미노산 사이의 관계가 전체 단백질 구조에서 어떻게 연결되는가?
Evoformer라는 이름은 일반적으로 Evolution과 Transformer의 결합으로 이해할 수 있습니다. 여기서 Evolution은 단백질의 진화 정보를 의미합니다. AlphaFold2는 하나의 단백질 서열만 분석하는 것이 아니라, 데이터베이스에서 진화적으로 유사한 단백질 서열들을 찾아 서로 정렬하고 비교합니다.
이렇게 여러 단백질 서열을 정렬한 것을 MSA, Multiple Sequence Alignment라고 합니다.
Target M K L V A G E K T
Seq 1 M K L V A G E K T
Seq 2 M R L V A G E K T
Seq 3 M K L I A G D K T
Seq 4 M K L V S G E K T
MSA를 이용하면 단순히 어떤 아미노산이 보존되어 있는지만 보는 것이 아니라, 서로 다른 위치가 함께 변화하는지도 분석할 수 있습니다.
예를 들어 20번 위치의 아미노산이 변할 때 85번 위치의 아미노산도 반복적으로 함께 변한다면, 두 위치가 단백질 구조에서 서로 관련되어 있을 가능성이 있습니다.
Residue 20 ←────────────→ Residue 85
공진화
이러한 현상을 공진화, co-evolution이라고 합니다.
단백질은 진화하면서 서열이 변화하지만, 정상적인 기능을 유지하기 위해 전체 구조는 어느 정도 보존되어야 합니다. 따라서 어떤 위치의 아미노산이 변했을 때 구조를 유지하기 위해 다른 위치의 아미노산도 함께 변하는 경우가 나타날 수 있습니다.
AlphaFold2는 이러한 진화적 패턴을 구조 예측의 중요한 단서로 활용합니다.
Evoformer가 처리하는 두 가지 핵심 정보
Evoformer는 크게 두 종류의 정보를 동시에 처리합니다.
첫 번째는 MSA Representation이고, 두 번째는 Pair Representation입니다.
MSA Representation
│
│ 정보 교환
▼
Pair Representation
MSA Representation은 여러 단백질 서열의 진화 정보를 신경망이 처리할 수 있도록 벡터 형태로 변환한 것입니다.
예를 들어 다음과 같은 MSA가 있다고 가정해 보겠습니다.
Position
1 2 3 4 5 6 7
Seq1 M K L V A G E
Seq2 M R L V A G E
Seq3 M K L I A G D
Seq4 M K L V S G E
실제 신경망에서는 각각의 아미노산을 문자 그대로 처리하는 것이 아니라 고차원 벡터로 변환합니다.
A → [0.13, -0.42, 0.27, ...]
L → [0.58, 0.11, -0.36, ...]
V → [...]
따라서 MSA Representation은 개념적으로 다음과 같은 형태의 텐서가 됩니다.
서열 수 × 단백질 길이 × 특징 차원
반면 Pair Representation은 단백질 내부의 모든 아미노산 쌍 사이의 관계를 저장합니다.
단백질의 길이가 L이라면 모든 위치 i와 j의 조합에 대해 정보를 가지므로 전체적으로는 다음과 같은 형태가 됩니다.
L × L × 특징 차원
예를 들어 단백질의 길이가 5라고 하면 다음과 같은 관계 행렬을 생각할 수 있습니다.
Residue j
1 2 3 4 5
Residue 1 ■ ■ ■ ■ ■
Residue 2 ■ ■ ■ ■ ■
Residue 3 ■ ■ ■ ■ ■
Residue 4 ■ ■ ■ ■ ■
Residue 5 ■ ■ ■ ■ ■
여기서 각각의 칸은 단순한 거리값 하나를 저장하는 것이 아닙니다.
예를 들어
Pair(20, 85)
에는 20번과 85번 아미노산 사이의 구조적 관계를 나타내는 여러 특징값이 벡터 형태로 저장됩니다.
즉 Pair Representation은 단백질 구조를 하나의 아미노산 관계 네트워크로 표현한다고 볼 수 있습니다.
Evoformer 내부에서 정보는 어떻게 처리되는가?
Evoformer의 핵심은 MSA와 Pair Representation을 따로 처리하는 것이 아니라, 두 정보를 반복적으로 주고받게 한다는 데 있습니다.
대표적인 흐름은 다음과 같습니다.
Protein Sequence
│
▼
MSA 생성
│
▼
MSA Representation
│
▼
MSA Attention
│
▼
Outer Product Mean
│
▼
Pair Representation
│
▼
Triangle Multiplication
│
▼
Triangle Attention
│
▼
Pair Transition
│
▼
다음 Evoformer Block
AlphaFold2의 대표적인 구조에서는 이러한 Evoformer block을 48회 반복합니다.
중요한 점은 한 번의 연산으로 구조를 결정하지 않는다는 것입니다. MSA와 Pair Representation을 여러 번 갱신하면서 점점 더 정교한 구조적 특징을 만들어 갑니다.
MSA Attention과 진화 정보의 해석
Evoformer는 MSA 내부의 관계를 분석하기 위해 Attention을 사용합니다.
일반적인 Transformer에서는 문장에서 어떤 단어가 다른 어떤 단어와 관련되어 있는지를 Attention으로 학습합니다.
예를 들어
The protein binds to the receptor.
라는 문장에서 Transformer는
protein ↔ binds
protein ↔ receptor
와 같은 관계를 학습할 수 있습니다.
Evoformer에서는 비슷한 개념을 단백질 MSA에 적용합니다.
즉,
어떤 아미노산 위치가
다른 어떤 위치와
진화적으로 또는 구조적으로 관련되어 있는가?
를 분석합니다.
특히 MSA Row Attention with Pair Bias는 Evoformer의 중요한 특징입니다.
MSA를 분석할 때 Pair Representation에서 얻은 정보를 Attention 계산에 추가합니다.
Pair Representation
│
│ bias
▼
MSA → Attention → Updated MSA
예를 들어 Pair Representation에
20번과 85번 residue는
구조적으로 관련될 가능성이 높다.
라는 정보가 있다면, MSA Attention도 이 정보를 참고하여 두 위치의 관계를 더 중요하게 분석할 수 있습니다.
따라서 Evoformer에서는
MSA → Pair
Pair → MSA
방향으로 정보가 계속 순환합니다.
MSA에는 Row 방향뿐 아니라 Column 방향의 정보도 존재합니다.
Position
1 2 3 4 5 6
Seq1 M K L V A G
Seq2 M R L V A G
Seq3 M K L I A G
Seq4 M K L V S G
가로 방향은 하나의 단백질 서열 안에서 위치 사이의 관계를 나타내고, 세로 방향은 같은 위치에서 여러 진화적 서열의 변화를 비교합니다.
즉 Evoformer는
서열 내부 위치 관계
+
진화적으로 다른 서열 사이의 관계
를 함께 분석합니다.
Outer Product Mean: 진화 정보를 구조 정보로 전달하는 과정
MSA와 Pair Representation을 연결하는 가장 중요한 연산 가운데 하나가 Outer Product Mean입니다.
개념적으로 다음과 같이 생각할 수 있습니다.
MSA
│
│ 진화적 관계 분석
▼
Outer Product Mean
│
▼
Pair Representation
MSA에서 특정 두 위치가 함께 변화하는 패턴이 발견되면, 이 정보를 Pair Representation으로 전달합니다.
예를 들어 여러 단백질 서열에서
Residue 20
Residue 85
가 반복적으로 함께 변하는 패턴이 나타났다면, Outer Product Mean을 통해
Pair(20, 85)
의 특징이 업데이트됩니다.
이를 간단히 표현하면
진화적 공변이 정보
↓
아미노산 쌍 관계 정보
로 변환되는 과정이라고 할 수 있습니다.
Outer Product를 이용하는 이유는 두 위치의 특징 사이의 조합을 풍부하게 표현할 수 있기 때문입니다.
예를 들어 두 위치의 특징 벡터가
Position i : [a1, a2, a3, ...]
Position j : [b1, b2, b3, ...]
라고 하면 Outer Product는 다음과 같은 형태가 됩니다.
a1b1 a1b2 a1b3 ...
a2b1 a2b2 a2b3 ...
a3b1 a3b2 a3b3 ...
즉 두 위치의 특징을 단순히 더하거나 연결하는 것이 아니라, 서로 어떤 조합 관계를 가지는지를 표현할 수 있습니다.
이러한 계산을 여러 MSA 서열에 대해 수행하고 평균화함으로써 MSA에서 얻은 진화적 관계가 Pair Representation에 반영됩니다.
Triangle Multiplication과 Triangle Attention
Evoformer에서 가장 특징적인 부분은 Pair Representation을 업데이트할 때 삼각형 관계를 사용한다는 점입니다.
단백질의 세 아미노산 A, B, C를 생각해 보겠습니다.
B
/ \
/ \
A─────C
A와 B의 관계를 알고 있고 B와 C의 관계를 알고 있다면, 이를 이용하여 A와 C의 관계를 추론할 수 있습니다.
A ↔ B
B ↔ C
↓
A ↔ C
이것이 Triangle Multiplication의 핵심 아이디어입니다.
실제 신경망에서는 단순한 덧셈이나 거리 계산이 아니라 Pair Representation의 고차원 특징을 곱셈 기반으로 결합하여 새로운 관계를 계산합니다.
이러한 삼각형 관계가 중요한 이유는 단백질이 3차원 공간에 존재하기 때문입니다.
예를 들어
A-B는 매우 가깝고
B-C도 매우 가깝다.
라는 정보가 있다면 A-C 관계도 어느 정도 구조적 제약을 받게 됩니다.
따라서 각각의 residue pair를 완전히 독립적으로 예측하는 것보다
A-B
B-C
A-C
세 관계를 함께 고려하는 것이 훨씬 더 일관된 3차원 구조를 만들 수 있습니다.
Evoformer에서는 Triangle Multiplication뿐 아니라 Triangle Attention도 사용합니다.
Triangle Attention은 특정 두 residue i와 j의 관계를 갱신할 때 여러 중간 residue k를 살펴봅니다.
k
/ \
/ \
i─────j
즉,
Pair(i, j)
를 계산할 때
Pair(i, k)
Pair(k, j)
정보를 참고합니다.
하지만 모든 k가 동일하게 중요한 것은 아닙니다.
Attention을 이용하여
어떤 중간 residue k가
i와 j 관계를 설명하는 데 더 중요한가?
를 선택합니다.
따라서 두 연산을 비교하면 다음과 같이 이해할 수 있습니다.
Triangle Multiplication
→ 여러 pair 관계를 결합
Triangle Attention
→ 중요한 중간 관계를 선택
이 두 과정은 Pair Representation이 단순한 두 residue 사이의 독립적인 정보가 아니라, 단백질 전체의 구조적 맥락을 반영하도록 만듭니다.
반복되는 Evoformer Block과 전역 구조의 형성
AlphaFold2는 하나의 Evoformer block만 사용하는 것이 아니라 동일한 형태의 block을 여러 번 반복합니다.
대표적인 AlphaFold2 모델에서는 48개의 Evoformer block이 사용됩니다.
Evoformer Block 1
↓
Evoformer Block 2
↓
Evoformer Block 3
↓
...
↓
Evoformer Block 48
처음에는 각 residue 사이의 관계가 충분히 정교하지 않습니다.
예를 들어 초기에
Residue 30 ↔ Residue 150
사이에 약한 관계만 존재한다고 가정해 보겠습니다.
다른 관계에서
30 ↔ 80
80 ↔ 150
라는 정보가 발견되면, 다음 Evoformer block에서는
30 ↔ 150
관계가 다시 업데이트될 수 있습니다.
이러한 과정이 반복되면서 처음에는 국소적이었던 정보가 점차 전체 단백질 구조를 설명하는 전역적 정보로 확장됩니다.
Local relationship
↓
Intermediate relationship
↓
Long-range relationship
↓
Global structural representation
이 과정은 단백질 구조 예측에서 특히 중요합니다.
단백질 서열에서 멀리 떨어진 두 아미노산이 실제로 단백질이 접힌 뒤에는 서로 가까이 위치할 수 있기 때문입니다.
예를 들어
Sequence
Residue 10
.
.
.
.
Residue 200
처럼 서열에서는 매우 멀리 떨어져 있지만, 실제 3차원 구조에서는
Residue 10
●
│
● Residue 200
처럼 서로 가까워질 수 있습니다.
Evoformer는 반복적인 Attention과 Pair Update를 이용하여 이러한 long-range dependency를 학습합니다.
Evoformer와 Structure Module의 역할
여기서 중요한 점은 Evoformer가 직접 최종 단백질의 3차원 좌표를 만드는 것은 아니라는 것입니다.
Evoformer의 역할은
어떤 residue들이 서로 관련되어 있는가?
어떤 residue pair 관계가 구조적으로 일관된가?
를 충분히 학습하는 것입니다.
이렇게 만들어진 정보는 이후 Structure Module로 전달됩니다.
전체 흐름을 단순화하면 다음과 같습니다.
Protein Sequence
│
▼
MSA
│
▼
Evoformer
│
▼
Structural Representation
│
▼
Structure Module
│
▼
3D Atomic Coordinates
Evoformer가
Residue A와 B는 강한 관계가 있다.
Residue B와 C도 관계가 있다.
A와 C의 관계도 이와 일관되어야 한다.
와 같은 구조적 정보를 만든다면, Structure Module은 이를 이용하여 실제 공간상 위치를 계산합니다.
Residue A → x, y, z
Residue B → x, y, z
Residue C → x, y, z
따라서 역할을 간단히 구분하면 다음과 같습니다.
Evoformer
= 구조적 관계를 추론하는 단계
Structure Module
= 실제 3차원 구조를 생성하는 단계
Transformer와 Evoformer의 차이
일반적인 Transformer는 주로 1차원 sequence를 처리합니다.
예를 들어 자연어에서는
I love artificial intelligence.
라는 문장의 각 단어 사이의 관계를 Attention으로 분석합니다.
I ↔ love
love ↔ intelligence
artificial ↔ intelligence
즉 일반적인 Transformer의 핵심은
1차원 sequence 내부의 관계
를 처리하는 것입니다.
반면 Evoformer는 단백질 구조 예측을 위해 훨씬 더 복잡한 정보를 함께 처리합니다.
MSA Representation
+
Pair Representation
즉,
진화적으로 정렬된 여러 서열
+
모든 residue pair의 구조적 관계
를 동시에 학습합니다.
또한 단순한 Self-Attention뿐 아니라
Outer Product Mean
Triangle Multiplication
Triangle Attention
과 같은 단백질 구조 예측에 특화된 연산을 사용합니다.
따라서 Evoformer를 단순히 "단백질용 Transformer"라고 설명하기보다는
단백질의 진화 정보와 residue pair의 구조적 관계를 동시에 학습하도록 특별히 설계된 Transformer 기반 신경망 구조
라고 설명하는 것이 더 정확합니다.
Evoformer를 이해하는 전체 흐름
AlphaFold2에서 Evoformer가 어떤 역할을 하는지 전체적인 흐름으로 보면 다음과 같습니다.
Protein Sequence
↓
Sequence Database Search
↓
Multiple Sequence Alignment
↓
Evolutionary Information
↓
Co-evolution
↓
MSA Representation
↓
MSA Attention
↓
Outer Product Mean
↓
Pair Representation
↓
Triangle Multiplication
↓
Triangle Attention
↓
반복적인 Evoformer Block
↓
Structural Representation
↓
Structure Module
↓
3D Protein Structure
이 흐름에서 가장 중요한 변화는 다음과 같이 정리할 수 있습니다.
서열 정보
↓
진화 정보
↓
잔기 간 관계 정보
↓
구조적 관계
↓
3차원 좌표
즉 Evoformer는 진화 정보와 3차원 구조 사이를 연결하는 핵심 단계라고 할 수 있습니다.
핵심 정리
Evoformer는 AlphaFold2의 핵심 신경망 모듈입니다.
먼저 여러 단백질 서열을 정렬한 MSA에서 진화적 정보를 분석합니다. 이 과정에서 서로 함께 변화하는 아미노산 위치를 찾을 수 있으며, 이러한 공진화 정보는 단백질 구조를 추론하는 중요한 단서가 됩니다.
Evoformer는 MSA 정보를 MSA Representation으로 처리하는 동시에 모든 residue pair의 관계를 Pair Representation으로 관리합니다.
MSA Attention은 서열과 위치 사이의 중요한 관계를 찾고, Outer Product Mean은 MSA에서 발견된 진화적 관계를 Pair Representation으로 전달합니다.
이후 Triangle Multiplication과 Triangle Attention은 세 residue 사이의 삼각형 관계를 이용하여 pair 정보가 3차원 구조적으로 더 일관되도록 만듭니다.
이러한 과정은 하나의 Evoformer block에서 끝나지 않고 여러 번 반복됩니다. 대표적인 AlphaFold2 모델에서는 48개의 Evoformer block을 사용하여 지역적인 관계에서 시작해 점차 단백질 전체의 전역적인 구조 정보를 만들어 갑니다.
마지막으로 Evoformer가 만든 구조적 표현은 Structure Module로 전달되고, Structure Module이 이를 이용하여 실제 단백질의 3차원 좌표를 계산합니다.
따라서 Evoformer를 한 문장으로 정리하면 다음과 같이 표현할 수 있습니다.
Evoformer는 MSA에서 얻은 단백질의 진화적 정보와 residue pair 정보를 Attention, Outer Product Mean, Triangle Multiplication, Triangle Attention 등의 연산으로 반복적으로 통합하여 단백질의 3차원 구조 예측에 필요한 구조적 표현을 생성하는 AlphaFold2의 핵심 신경망 모듈입니다.
조금 더 쉽게 표현하면 다음과 같습니다.
Evoformer는 여러 단백질의 진화 과정에서 나타나는 아미노산 변화 패턴을 분석하여, 어떤 아미노산들이 실제 단백질 구조에서 서로 연결되어 있을지를 추론하는 신경망입니다.
AlphaFold2 전체 구조에서는 다음과 같이 이해하면 가장 쉽습니다.
Sequence
↓
MSA
↓
Evolutionary Information
↓
Evoformer
↓
Residue-Pair Relationships
↓
Structure Module
↓
3D Protein Structure
결국 Evoformer는 단백질의 진화 정보를 구조적 관계로 변환하여 실제 3차원 구조 예측으로 연결하는 AlphaFold2의 핵심 장치라고 할 수 있습니다.
'생명정보학 & 화학정보학 > 알파폴드와 단백질 구조 예측' 카테고리의 다른 글
| AlphaFold 3 PAE Heatmap을 이용한 qhr63290.2 구조 분석 (0) | 2026.09.10 |
|---|---|
| 신뢰도 평가: pLDDT, PAE (0) | 2026.09.10 |
| ColabFold와 RoseTTAFold를 이용한 단백질 구조 예측 (0) | 2026.09.03 |
| Docker 설치 - 알파폴드3 구축 관련 (0) | 2026.08.26 |
| 단백질 구조 예측 시스템 구축에서의 문제점 (0) | 2026.08.24 |
