集団遺伝学遺伝子浮動シミュレーター

再現可能な Wright–Fisher 対立遺伝子頻度の軌跡をたどり、繰り返される集団間での固定、消失、および残存する変異を比較できます。

集団の設定

1つの中立対立遺伝子、1つの二倍体集団サイズ、および多数の独立した反復試行を設定します。

予定されている対立遺伝子コピー抽出数640,000制限 5,000,000

対立遺伝子頻度の軌跡

期待値 p = p₀

p = 1 で固定
p = 0 で消失
世代 T までに吸収されず
最終平均 p
世代 T における期待ヘテロ接合度 H
世代 T におけるシミュレーション平均ヘテロ接合度 H
平均吸収世代

数式、代入、および精度

各世代において、Wright–Fisher 遷移は次の対立遺伝子数をサンプリングし、それを利用可能な遺伝子コピー数で除算します: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne)。

サンプリングを行う前において、以下のモーメントが次の世代で起こり得る範囲を示します: 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))ᵗ。

すべての二項抽出には正確なベルヌーイサンプリングが使用され、正規近似は使用されません。計算は JavaScript の倍精度を維持します。頻度は 1 ÷ (2Ne) の増分で変化し、表示は最大で小数点以下6桁に丸められます。

計算方法、前提条件、および限界

このページは、Nature Education およびスタンフォード大学の人間遺伝学テキストに記載されている中立二倍体 Wright–Fisher モデルを実装しています。各新世代は、前世代から 2Ne 個の対立遺伝子コピーをランダムに抽出したサンプルです。ソース確認日: 2026年8月6日。

Nature Education 遺伝子浮動および有効サイズに関するリファレンススタンフォード大学 人間遺伝学 遺伝子浮動の章

集団シナリオを変更するか、このシード値の例をもう一度実行してください。

入力されたパラメータおよびシミュレーションされた集団は、このブラウザ内のみに保持されます。

よくある質問

実際の個体数と有効集団サイズのどちらを入力すべきですか?

有効集団サイズ Ne を入力してください。これは、研究対象とする集団と同じ速度で遺伝子浮動が起こる、理想化された繁殖集団のサイズです。性比、繁殖成功度、集団の変動、または集団構造が不均一な場合、実際の個体数(センサスサイズ)はこれよりはるかに大きくなることがあります。

中立的な最終固定確率は、初期頻度と等しくなりますか?

はい。突然変異や移入がないこの中立モデルでは、初期頻度 p₀ から始まる対立遺伝子が最終的に固定する確率は p₀、消失する確率は 1 − p₀ となります。ただし、上に表示されている割合は入力された世代数と反復試行数のみを対象としているため、シード値によって変動します。

ヘテロ接合度が低下する一方で、平均対立遺伝子頻度が p₀ 付近に留まるのはなぜですか?

多くの中立な独立した集団全体において、中立遺伝子浮動には特定の方向性がないため、平均頻度の期待値は p₀ のまま維持されます。しかし、個々の集団は 0 または 1 に向かって拡散し、両方の境界におけるヘテロ接合度はゼロになります。そのため、集団間の平均頻度がほとんど変化しないままであっても、変異は失われていきます。

これは実際の集団がどのように動くかを予測できますか?

いいえ。これは意図的に理想化された中立的な Wright–Fisher モデルにおける結果を示すものです。実際の予測には、有効集団サイズや、その事例に関係する淘汰、突然変異、移入、集団サイズの変動、世代の重複、連鎖、遺伝子流動、集団構造などの妥当な推定値が必要となります。

集団遺伝学における中立遺伝子浮動のシミュレーション

集団遺伝学遺伝子浮動シミュレーターは、二倍体 Wright–Fisher モデルを用いて中立遺伝子浮動をシミュレートし、可視化する無料のオンラインツールです。シミュレーション上の繁殖集団を設定することにより、複数の独立した集団にわたって再現可能な対立遺伝子頻度の軌跡を追跡・比較し、世代の経過とともに遺伝的変異がどのように消失または固定していくかを観察できます。このツールは、ランダムなサンプリングが時間の経過とともに対立遺伝子頻度にどのような影響を与えるかを理解するのに役立ち、シミュレートされたヘテロ接合度、固定率、消失率を示しますが、現実世界の進化結果を予測することを主張するものではありません。

入力されたパラメータおよびシミュレーションされた集団は、このブラウザ内のみに保持されます。データがユーザーのデバイスから送信されることはありません。


集団の設定とパラメータ

シミュレーションを開始するには、「集団の設定」インターフェースにおいて以下のパラメータを指定します。

  • シナリオ(プリセット): 「小集団」、「大集団」、または「稀な対立遺伝子」から選択して、特定の初期条件を素早く設定できます。
  • 有効集団サイズ, Ne: 「繁殖個体数」として入力します。1 から 100,000 までの整数でなければなりません。
  • 初期対立遺伝子頻度, p₀: 「割合, 0–1」として入力します。両端の境界値を含む 0 から 1 の間でなければなりません。
  • 世代数: 「世代」として入力します。1 から 2,000 までの整数でなければなりません。
  • 独立した集団数: 「反復試行」として入力します。1 から 200 までの整数でなければなりません。
  • ランダムシード: シミュレーションの軌跡を再現するためのテキストフィールドです。100 文字以下にする必要があります。「新しいシード」ボタンをクリックしてランダムな値を生成することもできます。

計算方法、前提条件、および限界

このページは、Nature Education およびスタンフォード大学の人間遺伝学テキストに記載されている中立二倍体 Wright–Fisher モデルを実装しています。各新世代は、前世代から 2Ne 個の対立遺伝子コピーをランダムに抽出したサンプルです。ソース確認日: 2026年8月6日。

モデルの前提条件

このモデルは以下の条件を前提としています。

  • 一定の有効集団サイズ
  • 離散的で重複のない世代
  • ランダムな独立抽出
  • 選択的中立性
  • 連鎖していない1遺伝子座2対立遺伝子
  • 突然変異や移入がないこと

淘汰、集団の変動、性比や繁殖成功度の不均衡、世代の重複、近親交配、連鎖、遺伝子流動、または集団構造が関係する場合には、予測として使用しないでください。この確率的生物学モデルに工学的な安全率は適用されません。

抽出と精度

すべての二項抽出には正確なベルヌーイサンプリングが使用され、正規近似は使用されません。計算は JavaScript の倍精度を維持します。頻度は 1 ÷ (2Ne) の増分で変化し、表示は最大で小数点以下6桁に丸められます。

ワークロード制限

ブラウザの負荷を抑えるため、予定されている対立遺伝子コピー抽出数(2Ne × 世代数 × 反復試行数)が 5,000,000 回を超える設定ではシミュレーションの実行がブロックされます。


数式、代入、および精度

シミュレーションの各ステップにおける確率的挙動は、以下の数式に基づいて計算されます。

各世代において、Wright–Fisher 遷移は次の対立遺伝子数をサンプリングし、それを利用可能な遺伝子コピー数で除算します: Xₜ₊₁ ~ Binomial(2Ne, pₜ); pₜ₊₁ = Xₜ₊₁ ÷ (2Ne)

サンプリングを行う前において、以下のモーメントが次の世代で起こり得る範囲を示します: 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))ᵗ

具体的な代入例

有効集団サイズ Ne、初期頻度 p₀ に基づく第1世代の具体的な計算プロセスは以下の通りです。

  • 第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› となります。

シミュレーション結果の出力

実行後、ツールは以下のステータス、チャート、および要約統計量を表示します。

ステータス表示

  • 実行前・リセット時: 集団シナリオを変更するか、このシード値の例をもう一度実行してください。
  • 計算中: 次の世代をサンプリング中…
  • 完了時: シード「‹seed›」を使用して、‹replicates› 個の集団を ‹generations› 世代にわたりシミュレートしました。

対立遺伝子頻度の軌跡(チャート)

「対立遺伝子頻度の軌跡」と題されたチャートには、以下の要素が含まれます。

  • ARIAラベル: シミュレーションを繰り返した集団における世代ごとの対立遺伝子頻度
  • X軸: 世代
  • Y軸: 対立遺伝子頻度 p
  • 基準線: 期待値 p = p₀
  • 表示件数インジケータ: ‹total› 個の軌跡のうち ‹shown› 個を表示中(すべての反復試行が要約に含まれています)

要約統計量

  • p = 1 で固定
  • p = 0 で消失
  • 世代 T までに吸収されず
  • 最終平均 p
  • 世代 T における期待ヘテロ接合度 H
  • 世代 T におけるシミュレーション平均ヘテロ接合度 H
  • 平均吸収世代(吸収が発生しなかった場合は 未到達 と表示)

エラーメッセージ一覧

入力値が許容範囲外、または不正な形式の場合、以下のエラーメッセージが表示されます。

  • 数値以外の入力: ‹field›: 「‹token›」は数値ではありません。
  • 小数の入力(整数が必要な項目): ‹field›: 整数を入力してください。
  • 有効集団サイズの範囲外: 有効集団サイズは 1 から 100,000 までの整数でなければなりません。
  • 初期頻度の範囲外: 初期対立遺伝子頻度は、両端の境界値を含む 0 から 1 の間でなければなりません。
  • 世代数の範囲外: 世代数は 1 から 2,000 までの整数でなければなりません。
  • 反復試行数の範囲外: 独立した集団数は 1 から 200 までの整数でなければなりません。
  • シード値の未入力: シミュレーションを再現するために、ランダムシードを入力してください。
  • シード値の超過: ランダムシードは 100 文字以下にしてください。
  • ワークロード制限超過: この設定では ‹draws› 回の対立遺伝子コピーの抽出が予定されており、ブラウザの制限である ‹limit› 回を超えています。集団サイズ、世代数、または反復試行数を減らしてください。

よくある質問 (FAQ)

実際の個体数と有効集団サイズのどちらを入力すべきですか?

有効集団サイズ Ne を入力してください。これは、研究対象とする集団と同じ速度で遺伝子浮動が起こる、理想化された繁殖集団のサイズです。性比、繁殖成功度、集団の変動、または集団構造が不均一な場合、実際の個体数(センサスサイズ)はこれよりはるかに大きくなることがあります。

ヘテロ接合度が低下する一方で、平均対立遺伝子頻度が p₀ 付近に留まるのはなぜですか?

多くの中立な独立した集団全体において、中立遺伝子浮動には特定の方向性がないため、平均頻度の期待値は p₀ のまま維持されます。しかし、個々の集団は 0 または 1 に向かって拡散し、両方の境界におけるヘテロ接合度はゼロになります。そのため、集団間の平均頻度がほとんど変化しないままであっても、変異は失われていきます。

中立的な最終固定確率は、初期頻度と等しくなりますか?

はい。突然変異や移入がないこの中立モデルでは、初期頻度 p₀ から始まる対立遺伝子が最終的に固定する確率は p₀、消失する確率は 1 − p₀ となります。ただし、上に表示されている割合は入力された世代数と反復試行数のみを対象としているため、シード値によって変動します。

これは実際の集団がどのように動くかを予測できますか?

いいえ。これは意図的に理想化された中立的な Wright–Fisher モデルにおける結果を示すものです。実際の予測には、有効集団サイズや、その事例に関係する淘汰、突然変異、移入、集団サイズの変動、世代の重複、連鎖、遺伝子流動、集団構造などの妥当な推定値が必要となります。