BioPlayground

🧬
목록으로

BLOSUM과 PAM: 정렬 점수는 진화 확률에서 유도됩니다

매치 +1, 불일치 −1이 왜 너무 거친가. 관측된 아미노산 치환 빈도에서 로그 우도비 점수를 유도하는 방법. BLOSUM62가 왜 표준이 됐고 PAM250은 왜 원거리 종에서 살아있는가.

중급
|
15
|
검증 완료 (2026-07-19)
BLOSUMPAMsubstitution matrixlog odds
진행률0/34 (0%)

왜 이 편이 필요한가

지금까지 정렬 편(M06~M08)에서 매치 점수 +1, 불일치 -1을 관례적으로 썼습니다. 그런데 이 숫자가 실제로 어떻게 결정되는지 물어본 적이 없습니다. 두 서열의 실제 진화적 유사도를 잘 재려면 어떤 숫자를 써야 하는가? 그리고 그 숫자는 어디에서 유도되는가?

이 편에서 우리는 관측된 진화 확률에서 정렬 점수를 유도하는 방법을 다룹니다. 그 결과가 PAM 행렬(1978년, Margaret Dayhoff)과 BLOSUM 행렬(1992년, Steven Henikoff · Jorja Henikoff)입니다. 오늘 BLAST · 단백질 정렬 도구가 기본으로 쓰는 BLOSUM62가 왜 62인지, 왜 그런 특정 숫자로 만들어져 있는지가 이 편의 답입니다.

아이디어 — 로그 우도비 (Log Odds)

두 아미노산 ab가 정렬됐을 때, 이게 진화적으로 관련된 관계인지 우연인지를 어떻게 재는가?

  • 관련(진화) 가설: 두 서열은 공통 조상에서 유래했고, ab는 그 조상에서 치환된 관계. 이 확률을 pabp_{ab}라 합니다.
  • 무관(우연) 가설: 두 서열은 무관하며, ab의 공존은 각자의 정상 상태 빈도 곱. 이 확률을 f_a f_b라 합니다.

정렬 점수를 두 확률의 로그 우도비로 정의합니다.

s(a,b)=λlogpabfafbs(a, b) = \lambda \log \frac{p_{ab}}{f_a f_b}

λ\lambda는 스케일 상수(대개 로그의 밑을 정하는 정도의 의미). 이렇게 정의하면 점수의 합이 곧 정렬 전체의 로그 우도비가 됩니다. 정렬 점수가 크다는 건 관련 가설이 무관 가설보다 훨씬 그럴 듯하다는 뜻입니다.

이 정의가 매치 +1, 불일치 -1을 자연스럽게 대체합니다. 이제 pabp_{ab}f_a를 실제 데이터에서 어떻게 뽑을지가 남았습니다.

PAM — 진화적 관점

Margaret Dayhoff는 1978년에 다음 절차를 밟았습니다.

  1. 매우 가까운 종의 정렬된 단백질 쌍을 수집. 서열 유사도 85% 이상.
  2. 관측된 치환을 세어서 **치환 확률 행렬 M**을 만듦.
  3. M이 정확히 "1 PAM(Point Accepted Mutation)의 진화 시간"을 나타낸다고 정의. 1 PAM ≈ 100 위치 중 1개가 치환된 시간.
  4. M^k의 로그 우도비k PAM 시간의 정렬 점수 행렬을 유도. PAM1은 매우 가까운 종용, PAM120은 중간, PAM250은 원거리 종용.

여기서 마르코프 체인의 냄새가 진하게 납니다. M을 여러 번 곱한다는 건 k 단계의 마르코프 체인 상태 이동입니다. 이건 M03의 Jukes-Cantor를 아미노산 수준으로 확장한 것입니다.

BLOSUM — 관측적 관점

Steven과 Jorja Henikoff는 1992년에 다음 절차를 밟았습니다.

  1. 잘 정리된 단백질 블록 데이터베이스(BLOCKS)에서 국소 정렬된 짧은 영역들을 수집.
  2. 서열 유사도가 특정 임계값(예: 62%) 이상인 서열들을 하나의 클러스터로 병합해 편향을 제거.
  3. 클러스터 간 아미노산 쌍 빈도로 pabp_{ab}를 직접 관측. M^k 같은 마르코프 확장 없이 관측만 사용.
  4. 로그 우도비로 정렬 점수 행렬을 만듦.

임계값 62%로 만든 것이 BLOSUM62입니다. 임계값이 낮을수록(예: BLOSUM45) 원거리 종용, 높을수록(예: BLOSUM80) 가까운 종용입니다.

BLOSUM은 마르코프 가정이 필요 없어서 이론적으로 더 튼튼하고, 실무에서도 PAM보다 성능이 좋습니다. BLAST의 기본이 BLOSUM62인 이유입니다.

BLOSUM62 실제 값 몇 개

일부를 표로 보여드립니다(대칭 행렬이라 절반만).

ARNDCE
A4−1−2−20−1
R50−2−30
N61−30
D6−32
C9−4
E5

몇 가지 관찰이 눈에 띕니다.

  • 대각선(자기 자신과의 매치)이 다 양수인데, 그 크기는 아미노산마다 다릅니다. W (트립토판) 은 11, C (시스테인) 은 9로 특히 큽니다. 이 둘은 진화적으로 잘 안 변하기 때문입니다.
  • 아미노산의 화학적 성질이 비슷한 짝(예: D↔E, 둘 다 산성)은 양수(2). 물리화학적으로 상호 대체 가능한 자리.
  • 성질이 완전히 다른 짝(예: C↔E)은 크게 음수(−4). 이 치환이 관측될 확률이 우연보다도 낮다는 뜻.

이 숫자들이 어디서 나왔는지 이제 감이 옵니다. 관측된 치환 빈도에서 로그 우도비로 유도된 것입니다.

파이썬으로 BLOSUM62 로드하고 정렬 점수 매기기

python
# BLOSUM62 로드 (Biopython 사용)
from Bio.Align import substitution_matrices
blosum62 = substitution_matrices.load("BLOSUM62")
def score_alignment(x: str, y: str) -> int:
"""단순 갭 없는 정렬 점수. 같은 길이여야 함."""
assert len(x) == len(y)
return sum(blosum62[a, b] for a, b in zip(x, y))
# 예시
print(score_alignment("WEAT", "WEAK")) # 11 + 5 + 4 + 5 = 25
print(score_alignment("WEAT", "MEAL")) # -2 + 5 + 4 + -1 = 6

두 정렬을 비교해보면, 첫 번째가 훨씬 유사도가 높습니다(마지막 위치가 T↔K로 유지된 물리화학적 유사성 vs T↔L 다름). 점수 차이가 그걸 반영합니다.

Rosalind로 확인

Rosalind BLOSUM 관련 문제는 BLOSUM62로 정렬 점수를 계산하는 것입니다. 위 코드에 갭 페널티(관례상 -11 개시 + -1 연장, BLOSUM62 표준)를 붙이면 답이 나옵니다.

PAM과 BLOSUM 언제 뭘 쓰나

상황추천
가까운 종(80% 이상 유사)BLOSUM80 · PAM30
중간(40~60% 유사)BLOSUM62 (BLAST 기본)
원거리(20~40% 유사)BLOSUM45 · PAM250
매우 원거리(20% 미만 유사)PAM250

일반적으로 BLOSUM62가 기본 선택입니다. 특별한 이유가 없다면 이걸 씁니다.

자주 만나는 실무 함정

  • DNA 정렬에 BLOSUM 오해: BLOSUM · PAM은 단백질(20종 아미노산) 정렬 전용입니다. DNA 정렬(4종 뉴클레오티드)에는 다른 행렬(NUC.4.4 등)을 씁니다.
  • 행렬과 갭 페널티 정합: BLOSUM62는 관례적으로 갭 개시 −11, 연장 −1과 함께 씁니다. 다른 조합을 쓰면 정렬 결과가 크게 달라지고, 통계적 유의성(E-value)도 계산이 안 됩니다.
  • 번역 후 정렬 vs DNA 정렬: 진화적으로 먼 종의 코딩 서열은 DNA 정렬보다 번역해서 단백질로 정렬하는 것이 더 정확합니다. tblastn · blastx가 이 원리로 동작합니다.
  • PAM 오탈자: PAM1은 진화 거리 단위이지, 유사도가 아닙니다. PAM250이 원거리용인 이유는 250 단위의 진화 시간이 흘렀다는 뜻이기 때문입니다.

CS 매핑

  • 로그 우도비 (Log-Likelihood Ratio): 정보 이론과 통계학의 핵심 개념. 통신에서 신호 대 노이즈 비, 의료 진단에서 사전 확률 갱신 모두 같은 원리입니다.
  • 마르코프 체인: PAM 행렬 M^k의 확장은 마르코프 상태 이동입니다. HMM(M18~M21)의 뿌리이기도 합니다.
  • 관측에서 파라미터 역산: BLOSUM은 관측 빈도에서 로그 우도비로 점수를 뒤집는 절차입니다. 이건 통계학의 최대우도 추정(MLE) 의 실제 응용입니다. 이후 편의 GATK · DESeq2 등에서 같은 사고가 반복됩니다.

다음 편으로 이어지는 갈래

  • 다음 편 (M10): BLAST — BLOSUM62를 이용한 국소 정렬 휴리스틱.
  • 두 편 뒤 (M11): BLAST E-value — 정렬 점수의 통계적 유의성. BLOSUM 점수가 로그 우도비였다는 사실이 여기서 결정적으로 쓰입니다.
  • 아홉 편 뒤 (M18~M21): HMM — 상태 이동 확률 모델. PAM의 마르코프 사고가 확장됩니다.
  • 열여섯 편 뒤 (M25): 다중 서열 정렬 — BLOSUM62로 여러 서열의 국소 유사 영역 발굴.

더 깊게 파고 싶다면

본문은 BPD가 자체 재구성한 서술입니다. 심화는 아래로.

  • MIT 7.91J — Christopher Burge 교수의 Substitution Matrices and Alignment Scoring (자막 완비, 자동 번역 95%+). 로그 우도비 유도를 수학적으로 엄밀하게 다룹니다.
  • UCSD CSE 182 — Pavel Pevzner 교수의 BLOSUM and PAM: Substitution Matrices. Henikoff 부부의 알고리즘을 상세히 뜯어봅니다.
  • 원 논문: Henikoff, S. & Henikoff, J. G. (1992), Amino acid substitution matrices from protein blocks, PNAS 89, 10915–10919. BLOSUM의 시조 편.
  • 원 논문: Dayhoff, M. O. et al. (1978), A model of evolutionary change in proteins. Atlas of Protein Sequence and Structure. PAM의 시조.
  • 참고 교재: Durbin et al. Biological Sequence Analysis Chapter 2.

Rosalind에서 BLOSUM 관련 문제와 M11 준비용 통계 문제를 풀어봅시다. 그리고 자기 관심 단백질 두 개를 BLAST에 넣어 BLOSUM62로 정렬 점수와 E-value를 관찰해봅시다. 다음 편 M10의 BLAST 원리가 자연스럽게 이해됩니다.