Wright–Fisher 모델을 통한 중립적 유전 부동 시뮬레이션
집단 유전학 부동 시뮬레이터는 이배체 Wright–Fisher 모델을 사용하여 중립적 유전 부동(neutral genetic drift)을 시뮬레이션하고 시각화하는 도구입니다. 사용자는 가상의 번식 집단을 설정하여 여러 독립적인 집단에서 대립유전자 빈도가 세대를 거치며 어떻게 무작위로 변하고, 고정되거나 소실되는지 관찰할 수 있습니다. 이 도구는 무작위 샘플링이 유전적 변이에 미치는 영향을 보여주며, 시뮬레이션된 이형접합도, 고정 및 소실률을 계산하여 이론적 기대값과 비교할 수 있도록 돕습니다.
시뮬레이션의 모든 계산과 데이터 처리는 사용자의 웹 브라우저 내에서 로컬로 수행되며, 입력한 매개변수와 시뮬레이션된 집단은 이 브라우저에만 머무릅니다. 외부 서버로 데이터를 업로드하지 않으므로 안심하고 사용할 수 있습니다.
집단 설정 및 입력 매개변수
시뮬레이션을 시작하려면 집단 설정 인터페이스에서 다음 매개변수를 입력해야 합니다:
- 시나리오 (Presets): 사전 설정된 세 가지 템플릿인 작은 집단, 큰 집단, 희귀 대립유전자 중 하나를 선택하여 빠르게 시작할 수 있습니다.
- 집단의 유효 크기, Ne: "번식 개체 수" 단위로 입력하며, 1에서 100,000 사이의 정수여야 합니다.
- 시작 대립유전자 빈도, p₀: "비율, 0–1" 단위로 입력하며, 양 끝값을 포함하여 0과 1 사이의 값이어야 합니다.
- 세대: "세대" 단위로 입력하며, 1에서 2,000 사이의 정수여야 합니다.
- 독립된 집단 수: "반복수" 단위로 입력하며, 1에서 200 사이의 정수여야 합니다.
- 무작위 시드: 시뮬레이션 경로를 동일하게 재현하기 위한 100자 이하의 텍스트 필드입니다. 새 시드 버튼을 클릭하여 무작위로 시드를 생성할 수도 있습니다.
입력 오류 및 제한 사항
입력값이 유효하지 않은 경우 다음과 같은 오류 메시지가 표시됩니다:
- 숫자가 아닌 값을 입력한 경우:
‹field›: “‹token›”은(는) 숫자가 아닙니다. - 정수가 필요한 필드에 소수를 입력한 경우:
‹field›: 정수를 입력해 주세요. - 범위를 벗어난 경우:
집단의 유효 크기는 1에서 100,000 사이의 정수여야 합니다.시작 대립유전자 빈도는 양 끝값을 포함하여 0과 1 사이여야 합니다.세대는 1에서 2,000 사이의 정수여야 합니다.독립된 집단 수는 1에서 200 사이의 정수여야 합니다.
- 시드 관련 오류:
시뮬레이션을 재현할 수 있도록 무작위 시드를 입력해 주세요.무작위 시드는 100자 이하로 입력해 주세요.
브라우저의 과부하를 방지하기 위해 2Ne × generations × replicates 식으로 계산되는 계획된 대립유전자 복제 추출 횟수가 최대 5,000,000번으로 제한됩니다. 이 제한을 초과하면 다음과 같은 경고가 표시되며 실행이 차단됩니다:
이 설정은 브라우저 제한인 ‹limit›번을 초과하는 ‹draws›번의 대립유전자 복제 추출을 계획하고 있습니다. 집단 크기, 세대 수 또는 반복 횟수를 줄여 주세요.
시뮬레이션 결과 및 출력 지표
시뮬레이션을 실행하면 상태 메시지가 표시되며, 계산이 완료되면 결과 차트와 요약 통계가 화면에 나타납니다.
상태 메시지
- 준비 및 실행 중:
집단 시나리오를 변경하거나 이 시드가 지정된 예제를 다시 실행해 보세요.또는다음 세대 추출 중… - 완료 시:
시드 “‹seed›”을(는) 사용하여 ‹replicates›개의 집단을 ‹generations› 세대 동안 시뮬레이션했습니다.
대립유전자 빈도 경로 (차트)
시각화 차트의 ARIA 레이블은 반복 시뮬레이션된 집단의 세대별 대립유전자 빈도이며, X축은 세대, Y축은 대립유전자 빈도 p로 표시됩니다. 차트 내부에는 기대값 p = p₀를 나타내는 기준선이 그려지며, 하단에는 전체 ‹total›개의 경로 중 ‹shown›개 표시 중, 요약에는 모든 반복수가 포함됩니다.라는 안내가 표시됩니다.
요약 통계
시뮬레이션이 끝난 후 집단 전체의 상태를 요약하여 보여줍니다:
- p = 1에서 고정됨: 대립유전자 빈도가 1에 도달하여 고정된 집단의 비율입니다.
- p = 0에서 소실됨: 대립유전자 빈도가 0이 되어 소실된 집단의 비율입니다.
- T세대까지 흡수되지 않음: 시뮬레이션 종료 시점까지 고정되거나 소실되지 않고 남아 있는 집단의 비율입니다.
- 최종 평균 p: 모든 반복 집단의 최종 대립유전자 빈도 평균값입니다.
- T세대에서의 기대 H: 이론적으로 예측된 T세대에서의 이형접합도입니다.
- T세대에서의 평균 시뮬레이션 H: 시뮬레이션 결과 관찰된 실제 평균 이형접합도입니다.
- 평균 흡수 세대: 대립유전자가 고정되거나 소실되는 데 걸린 평균 세대수이며, 흡수가 일어나지 않은 경우
도달하지 않음으로 표시됩니다.
방법, 가정 및 한계
이 도구는 Nature Education Genetic Drift and Effective Population Size 및 Stanford Human Genetics Genetic Drift: What happens to alleles over time 교재에 기술된 중립 이배체 Wright–Fisher 모델을 구현합니다.
수학적 모델 및 정밀도
매 세대마다 다음 세대의 대립유전자 수를 결정하기 위해 정규 근사를 사용하지 않고 정확한 베르누이 추출(이항 분포 추출)을 수행합니다. 계산은 JavaScript 배정밀도(double precision)로 처리되며, 빈도는 1 ÷ (2Ne)의 증분 단위로 존재합니다. 화면에 표시되는 모든 수치는 소수점 아래 최대 여섯 자리까지 반올림됩니다.
모델의 기본 가정
이 시뮬레이터는 다음과 같은 엄격한 가정을 전제로 합니다:
- 일정한 유효 집단 크기 (Nₑ)
- 불연속적이고 중복되지 않는 세대
- 무작위 독립 추출 및 선택적 중립성 (자연선택 없음)
- 연관되지 않은 하나의 두 대립유전자 좌위
- 돌연변이나 이주 없음
따라서 선택, 집단 크기 변화, 성비 또는 번식 성공률의 불균형, 중복 세대, 근친교배, 유전자 연관, 유전자 흐름 또는 집단 구조가 중요하게 작용하는 실제 자연 집단의 변화를 예측하는 용도로는 적합하지 않습니다. 또한, 이 확률론적 생물학 모델에는 공학적 안전 계수가 적용되지 않습니다.
공식, 대입 및 정밀도
시뮬레이션에 적용되는 수학적 공식과 첫 번째 세대의 구체적인 대입 계산식은 다음과 같습니다:
- 전이 확률:
매 세대마다, Wright–Fisher 전이는 다음 대립유전자 수를 추출하고 이를 사용 가능한 유전자 복제 수로 나눕니다: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne). - 적률 (Moments):
추출 전에, 다음 적률들은 가능한 다음 세대의 범위를 나타냅니다: E[Xₜ₊₁] = 2Ne·pₜ; Var(Xₜ₊₁) = 2Ne·pₜ(1 − pₜ); Var(pₜ₊₁) = pₜ(1 − pₜ) ÷ (2Ne). - 이형접합도 감소:
서로 다른 대립유전자 쌍의 기대 비율은 t세대를 거치며 다음과 같이 감소합니다: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ.
첫 번째 세대 대입 예시
1세대는 2 × ‹population› = ‹copies›번의 대립유전자 복제 추출을 사용합니다.E[X₁] = ‹copies› × ‹frequency› = ‹mean›개의 A 복제본.1세대의 경우, Var(X₁) = ‹copies› × ‹frequency› × (1 − ‹frequency›) = ‹variance› 이며, SD(p₁) = ‹sd› 입니다.그래프에 표시된 첫 번째 반복군에서 X₁ = ‹sampled›개의 A 복제본이 추출되었으므로, p₁ = ‹sampled› ÷ ‹copies› = ‹frequency›입니다.
자주 묻는 질문 (FAQ)
Q: 실제 개체 수와 유효 집단 크기 중 어느 것을 입력해야 합니까?
A: 유효 집단 크기 Ne를 입력하세요. 이는 연구하려는 집단과 동일한 속도로 부동이 일어나는 이상화된 번식 집단의 크기입니다. 성비, 번식 성공률, 집단 변동 또는 집단 구조가 불균형할 경우 실제 개체 수는 이보다 훨씬 더 클 수 있습니다.
Q: 최종 고정의 중립 확률은 시작 빈도와 같습니까?
A: 네, 돌연변이나 이주가 없는 이 중립 모델에서 시작 빈도가 p₀인 대립유전자의 최종 고정 확률은 p₀이고 소실 확률은 1 − p₀입니다. 위에 표시된 비율은 입력된 세대 수와 반복 횟수만을 대상으로 하므로 시드에 따라 달라집니다.
Q: 이형접합도가 감소하는 동안에도 평균 대립유전자 빈도가 p₀ 근처로 유지될 수 있는 이유는 무엇입니까?
A: 중립적 부동은 여러 독립된 집단 전체에서 선호하는 방향이 없으므로, 평균 빈도의 기댓값은 p₀로 유지됩니다. 그러나 개별 집단은 0 또는 1을 향해 퍼져 나가며, 두 경계 모두 이형접합도가 0이 됩니다. 따라서 집단 간 평균은 거의 변하지 않더라도 변이는 소실됩니다.
Q: 이 도구로 실제 집단이 어떻게 변할지 예측할 수 있습니까?
A: 아니요. 이 도구는 의도적으로 이상화된 중립 Wright–Fisher 모델 하에서의 결과를 보여줍니다. 실제 예측을 하려면 유효 크기뿐만 아니라 해당 사례에 영향을 미치는 선택, 돌연변이, 이주, 집단 크기 변화, 중복 세대, 연관 및 집단 구조에 대한 타당한 추정치가 필요합니다.