본문 바로가기
송쌤생명과학입시연구소
심화캠벨생명과학

하디-바인베르크 평형 — 진화하지 않는다는 가정의 힘

송준호(송쌤)송쌤생명과학입시연구소 대표

앞 글에서 소진화를 "세대 간 대립유전자 빈도의 변화"로 정의했습니다. 그렇다면 당연히 다음 질문이 따라옵니다. 빈도가 변했다는 걸 어떻게 압니까?

변했는지 알려면 변하지 않았을 때 어떤 모습인지를 먼저 알아야 합니다. 저울의 영점을 맞춰야 무게를 재듯이요. 그 영점이 바로 하디-바인베르크 평형입니다.

이 글은 이 챕터에서 유일하게 계산이 직접 출제되는 부분입니다. 내신에서도 수능에서도 숫자로 나와요. 그래서 개념만 훑지 않고 실제 숫자를 끝까지 풀어 보이겠습니다.

먼저 유전자 풀부터

유전자 풀(gene pool)은 한 집단이 가진 모든 대립유전자의 총합입니다. 집단 전체를 하나의 통으로 보고, 그 안에 각 대립유전자가 몇 개씩 들어 있는지 세는 관점이에요.

개체 하나하나를 보는 대신 통 전체의 구성비를 보는 것 — 이 전환이 집단유전학의 출발점입니다. 그리고 이때 세는 값이 대립유전자 빈도입니다. 관례적으로 두 대립유전자의 빈도를 p와 q로 씁니다.

p + q = 1

당연한 식입니다. 그 유전자좌에 올 수 있는 대립유전자가 둘뿐이면, 둘의 비율을 더하면 전체인 1이 되니까요.

실제로 세어 봅시다 — 야생화 500그루

꽃 색을 결정하는 유전자좌에 대립유전자가 두 개 있다고 합시다. 불완전우성이라 유전자형이 겉으로 그대로 드러나는 경우를 쓰겠습니다.

유전자형표현형개체 수
CRCR붉은색320
CRCW분홍색160
CWCW흰색20
합계500그루

이 집단의 유전자 풀에는 대립유전자가 몇 개 들어 있을까요? 각 개체가 2개씩 가지므로 500 × 2 = 1000개입니다.

CR의 개수를 셉니다. 동형접합 개체는 2개씩, 이형접합 개체는 1개씩 가지고 있어요.

320 × 2 + 160 × 1 = 640 + 160 = 800개

CW의 개수도 같은 방식으로.

20 × 2 + 160 × 1 = 40 + 160 = 200개

이제 빈도로 바꿉니다.

p = 800 ÷ 1000 = 0.8    q = 200 ÷ 1000 = 0.2

검산하면 0.8 + 0.2 = 1. 맞습니다. 이 집단은 유전자 풀의 80%가 CR, 20%가 CW예요.

다음 세대는 어떻게 될까 — 방정식이 나오는 자리

이제 이 집단이 무작위로 교배한다고 합시다. 정자 하나와 난자 하나가 만나는데, 각각이 어떤 대립유전자를 들고 있을지는 유전자 풀의 비율을 그대로 따릅니다. 정자가 CR일 확률 0.8, 난자가 CR일 확률 0.8.

그러면 곱의 법칙과 합의 법칙으로 다음 세대 유전자형을 예측할 수 있습니다.

  • CRCR = p × p = p² = 0.8 × 0.8 = 0.64
  • CWCW = q × q = q² = 0.2 × 0.2 = 0.04
  • CRCW = (정자 R × 난자 W) + (정자 W × 난자 R) = pq + qp = 2pq = 2 × 0.8 × 0.2 = 0.32

이형접합자에 2가 붙는 이유가 여기 있습니다. 아버지 쪽에서 R이 오는 경우와 어머니 쪽에서 R이 오는 경우, 두 가지 경로가 있기 때문이에요. 이 2를 빼먹는 실수가 시험에서 제일 흔합니다.

세 값을 더하면 0.64 + 0.32 + 0.04 = 1.00. 그래서 식이 이렇게 완성됩니다.

p² + 2pq + q² = 1

이건 사실 (p + q)² = 1을 전개한 것에 불과합니다. p + q = 1이니 양변을 제곱하면 나와요. 외울 필요 없이 유도됩니다.

정말 빈도가 그대로인지 확인합시다

자손도 500그루가 태어났다고 하면,

  • CRCR : 500 × 0.64 = 320그루
  • CRCW : 500 × 0.32 = 160그루
  • CWCW : 500 × 0.04 = 20그루

부모 세대와 똑같습니다. 대립유전자 빈도를 다시 계산해 볼까요.

p = (320 × 2 + 160) ÷ 1000 = 800 ÷ 1000 = 0.8

그대로예요. 몇 세대를 돌려도 0.8과 0.2는 움직이지 않습니다. 이 상태가 하디-바인베르크 평형이고, 정의상 이 집단은 진화하지 않고 있습니다.

참고로 이 원리는 1908년에 영국의 수학자 고드프리 하디와 독일의 의사 빌헬름 바인베르크가 각각 독립적으로 제시했습니다. 두 사람의 이름이 나란히 붙은 이유예요.

다섯 가지 전제 조건 — 이게 진짜 출제 포인트

위 계산은 아무 집단에서나 성립하는 게 아닙니다. 다음 다섯 가지가 모두 지켜져야 해요.

조건깨지면 일어나는 일
① 돌연변이가 없다새 대립유전자가 생기거나 기존 것이 바뀌어 빈도가 이동한다
② 무작위 교배가 일어난다자가수분·근친교배·선호 짝짓기가 있으면 유전자형 빈도가 예측을 벗어난다
③ 자연선택이 작용하지 않는다유전자형에 따라 생존·번식이 달라지면 빈도가 한쪽으로 쏠린다
④ 집단의 크기가 매우 크다작으면 유전적 부동(우연한 표본 오차)이 빈도를 흔든다
⑤ 유전자 흐름이 없다개체나 배우자가 드나들면 다른 집단의 빈도가 섞여 들어온다

②번은 조금 다른 성격이라 따로 짚겠습니다. 무작위 교배가 깨지면 유전자형 빈도는 예측에서 벗어나지만(이형접합자가 줄고 동형접합자가 늘어납니다) 대립유전자 빈도 자체는 바로 바뀌지 않습니다. 정의대로라면 그것만으로 진화는 아닌 셈이죠. 다만 동형접합자가 늘어나면 해로운 열성 형질이 드러날 기회가 많아져 선택의 표적이 되고, 결국 빈도 변화로 이어지게 됩니다.

다섯 조건이 깨지면 실제로 무슨 일이 일어나는지는 말로 읽는 것보다 굴려 보는 편이 빠릅니다. 이 글을 위해 만든 집단유전학 시뮬레이션에서 집단 크기 N을 10,000에서 20으로 내려 보세요. 적합도는 세 개 모두 1.00 그대로 두고요. 조건 ④(집단의 크기가 매우 크다) 하나만 깼을 뿐인데, 같은 조건으로 굴린 집단 여덟 개가 제각각 흩어지면서 대립유전자 하나가 아예 사라지는 집단까지 나옵니다. 화면에 함께 그려지는 p제곱·2pq·q제곱 막대도 지금 p에서 바로 계산되니, 위에서 손으로 푼 식이 움직이는 모습을 같이 확인할 수 있어요.

이건 귀무가설입니다 — 이 글의 핵심

여기서 학생들이 가장 크게 오해합니다. "하디-바인베르크 법칙은 집단이 평형을 유지한다는 법칙"이라고요. 정반대입니다.

다섯 조건을 다시 보세요. 돌연변이가 전혀 없는 집단, 완전히 무작위로만 교배하는 집단, 선택이 전혀 작용하지 않는 집단, 무한히 큰 집단, 아무도 드나들지 않는 집단 — 자연에 이런 집단은 없습니다. 다섯 개 중 하나도 엄밀하게는 성립하지 않아요.

그래서 하디-바인베르크 평형은 현실의 서술이 아니라 가상의 기준선입니다. 통계에서 말하는 귀무가설이에요. "아무 일도 일어나지 않는다면 이런 숫자가 나와야 한다"는 가정을 세워 놓고, 실제 관찰값과 비교하는 겁니다.

  • 관찰값이 예측과 맞는다 → 이 유전자좌에서는 빈도를 바꾸는 힘이 뚜렷하게 검출되지 않는다
  • 관찰값이 예측에서 벗어난다 → 무언가가 작동하고 있다. 다섯 조건 중 어느 것이 깨졌는지 찾아야 한다

이게 이 원리가 강력한 이유입니다. 평형 자체를 보려고 만든 식이 아니라, 평형에서 얼마나 벗어났는지를 재서 진화를 검출하려고 만든 식이에요. 온도계가 정상 체온을 알려주려고 있는 게 아니라 열이 났는지 알려주려고 있는 것과 같습니다.

그래서 다음 글의 주제가 자동으로 정해집니다. 조건이 깨지는 방식이 곧 진화가 일어나는 방식이니까요.

야생화 500그루의 유전자형 수를 세어 대립유전자 1000개에서 p=0.8, q=0.2를 구하는 과정, 격자의 네 칸 넓이가 p제곱·pq·pq·q제곱에 비례해 이형접합자 칸이 둘이라 2pq가 되는 이유, 평형의 다섯 조건과 각 조건이 깨질 때 작동하는 힘, 그리고 이 식이 진화하지 않는다는 귀무가설이라는 것

칸 넓이가 곧 확률 — 그래서 이형접합자에만 2가 붙는다 — 송쌤생명과학 자체 제작

계산 예제 — 보인자는 몇 명인가

이 원리가 실제로 가장 많이 쓰이는 곳이 열성 유전병의 보인자 추정입니다. 겉으로 멀쩡한 사람 중 몇 명이 그 대립유전자를 하나 숨기고 있는지를 알아내는 문제예요.

문제. 페닐케톤뇨증(PKU)은 상염색체 열성 유전병으로, 미국에서 신생아 약 10,000명 중 1명꼴로 발생한다. 이 집단이 하디-바인베르크 평형에 있다고 가정할 때, 보인자의 비율을 구하시오.

1단계 — 주어진 값이 무엇인지 정한다. 열성 유전병이므로 발병자는 열성 동형접합자입니다. 즉 발생률이 곧 q²예요.

q² = 1 ÷ 10,000 = 0.0001

2단계 — q를 구한다. 제곱근을 씌웁니다.

q = √0.0001 = 0.01

3단계 — p를 구한다.

p = 1 − q = 1 − 0.01 = 0.99

4단계 — 보인자 빈도는 이형접합자 빈도, 즉 2pq.

2pq = 2 × 0.99 × 0.01 = 0.0198

약 1.98%, 대략 50명 중 1명입니다.

결과를 음미해 보세요. 발병자는 10,000명 중 1명인데 보인자는 50명 중 1명입니다. 보인자가 발병자보다 약 198배 많아요. 열성 유전병의 대립유전자가 왜 집단에서 잘 사라지지 않는지가 여기서 보입니다. 대부분의 해당 대립유전자가 겉으로 드러나지 않는 이형접합자 안에 숨어 있어서, 자연선택의 표적이 되지 않기 때문입니다. 이 관점은 가계도 분석에서 보인자를 추정할 때도 그대로 쓰입니다.

계산에서 틀리는 자리 네 곳

채점하면서 반복해서 보는 실수들입니다.

  • q² 과 q를 혼동한다 — 열성 형질이 나타나는 비율은 q가 아니라 q²입니다. 문제에서 "1만 명 중 1명이 발병"이라고 하면 그게 q²예요. 여기서 제곱근을 씌우는 단계를 빼먹으면 모든 답이 틀립니다.
  • 2pq 에서 2를 빠뜨린다 — 보인자 빈도는 pq가 아니라 2pq입니다. 부모 양쪽에서 오는 두 경로가 있기 때문이라는 걸 기억하세요.
  • p를 "우성 대립유전자의 빈도"로 외운다 — 아닙니다. p와 q는 그냥 두 대립유전자 각각의 빈도일 뿐, 우성인지 열성인지와 아무 상관이 없습니다. 우열은 표현형이 드러나는 방식의 문제이고, 빈도는 유전자 풀 안의 개수 문제예요. 흔하다고 우성인 것도 아닙니다.
  • "평형이니까 진화가 절대 안 일어난다"로 읽는다 — 한 유전자좌에서 평형이 관찰된다고 해서 그 집단 전체가 진화를 멈춘 게 아닙니다. 유전체의 다른 유전자좌에서는 빈도가 얼마든지 움직이고 있을 수 있어요. 검사한 자리에서 신호가 잡히지 않았다는 뜻일 뿐입니다.

하나 더, 응용 문제에서 자주 나오는 조건입니다. 반성유전인 경우에는 이 식을 그대로 쓸 수 없습니다. X 염색체를 두 개 가진 쪽과 하나만 가진 쪽의 계산이 달라지기 때문이에요. X 염색체를 하나만 가진 개체에서는 대립유전자 빈도가 곧 표현형 빈도가 되어 q 자체가 발현율이 됩니다. 문제에 "반성"이라는 단어가 보이면 p² + 2pq + q² 부터 꺼내지 마세요.

쌤 한마디 — 이 계산은 손이 기억할 때까지 풀어야 합니다. 다만 순서는 항상 같아요. ① 열성 발현율 = q² 로 놓는다 → ② 제곱근으로 q → ③ p = 1 − q → ④ 묻는 값(2pq 또는 p²)을 계산한다. 네 단계뿐입니다. 그리고 답을 쓰기 전에 p² + 2pq + q² 를 더해서 1이 나오는지 검산하세요. 30초면 되고, 이걸로 걸러지는 계산 실수가 꽤 많습니다. 서술형이라면 마지막에 "이 집단이 하디-바인베르크 평형에 있다고 가정하면"이라는 단서를 반드시 적으세요. 그 문장이 있고 없고가 배점을 가릅니다.

정리하면

유전자 풀은 집단이 가진 모든 대립유전자의 총합이고, 각 대립유전자가 차지하는 비율이 대립유전자 빈도입니다. 두 대립유전자만 있으면 p + q = 1이고, 무작위 교배하면 다음 세대의 유전자형 빈도는 p² + 2pq + q² = 1로 예측됩니다. 이형접합자의 2는 부모 양쪽에서 오는 두 경로 때문입니다.

이 예측이 유지되려면 돌연변이 없음 · 무작위 교배 · 선택 없음 · 매우 큰 집단 · 유전자 흐름 없음이라는 다섯 조건이 필요합니다. 현실에 이런 집단은 없어요. 그래서 하디-바인베르크 평형은 법칙이 아니라 "진화하지 않는다"는 귀무가설이고, 관찰값이 여기서 벗어나는 정도가 곧 진화의 신호입니다.

그렇다면 그 다섯 조건은 실제로 어떻게 깨질까요? 다음 글 자연선택·유전적 부동·유전자 흐름에서 대립유전자 빈도를 바꾸는 세 가지 힘을 다룹니다. 그중 적응을 만들어 내는 것은 하나뿐인데, 이 구분이 다음 글의 핵심입니다.

틀린 내용이나 더 궁금한 점이 있으면 문의하기로 알려 주세요. 확인한 뒤 고치고, 고친 날짜를 위에 남깁니다.

함께 보면 좋은 글

이 개념과 이어지는 글이에요.