เครื่องมือจำลองการเลื่อนลอยทางพันธุกรรมของประชากร

ติดตามเส้นทางความถี่ของแอลลีลตามแบบจำลอง Wright–Fisher ที่สามารถทำซ้ำได้ และเปรียบเทียบการตรึงคงที่ การสูญหาย และความหลากหลายที่เหลืออยู่ระหว่างประชากรที่ทำซ้ำ

การตั้งค่าประชากร

หนึ่งแอลลีลที่เป็นกลาง หนึ่งขนาดประชากรดิพลอยด์ และการทำซ้ำที่เป็นอิสระต่อกันหลายครั้ง

แผนการสุ่มเลือกสำเนาแอลลีล640,000ขีดจำกัด 5,000,000

เส้นทางความถี่ของแอลลีล

ค่าคาดหมาย p = p₀

ตรึงคงที่ที่ p = 1—
สูญหายที่ p = 0—
ไม่ถูกดูดซับภายในเวลา T—
ค่าเฉลี่ย p สุดท้าย—
ค่าคาดหมาย H ณ เวลา T—
ค่าเฉลี่ย H จากการจำลอง ณ เวลา T—
รุ่นเฉลี่ยที่เกิดการดูดซับ—

สูตร การแทนค่า และความแม่นยำ

ในทุกรุ่น การเปลี่ยนผ่านของ 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))ᵗ

  1. —
  2. —
  3. —
  4. —

การสุ่มแบบทวินามทุกครั้งใช้การสุ่มตัวอย่างแบบเบอร์นูลลีที่แม่นยำ โดยไม่มีการใช้การประมาณค่าแบบปกติ การคำนวณยังคงรักษาความแม่นยำแบบทศนิยมคู่ (double precision) ของ JavaScript ความถี่จะเพิ่มขึ้นทีละ 1 ÷ (2Ne) และการแสดงผลจะปัดเศษทศนิยมไม่เกินหกตำแหน่ง

วิธีการ ข้อสมมติ และข้อจำกัด

หน้านี้ใช้แบบจำลองที่เป็นกลางของ Wright–Fisher สำหรับสิ่งมีชีวิตดิพลอยด์ตามที่อธิบายโดย Nature Education และตำราพันธุศาสตร์มนุษย์ของ Stanford แต่ละรุ่นใหม่คือการสุ่มตัวอย่างสำเนาแอลลีลจำนวน 2Ne จากรุ่นก่อนหน้า ตรวจสอบแหล่งข้อมูลเมื่อวันที่ 6 สิงหาคม 2026

เอกสารอ้างอิงการเลื่อนลอยและขนาดประสิทธิผลของ Nature Educationบทการเลื่อนลอยทางพันธุกรรมของ Stanford Human Genetics

เปลี่ยนสถานการณ์จำลองประชากร หรือรันตัวอย่างที่ใช้ค่าสุ่มเริ่มต้นนี้อีกครั้ง

พารามิเตอร์และประชากรจำลองของคุณจะอยู่ภายในเบราว์เซอร์นี้เท่านั้น

คำถามที่พบบ่อย

ฉันควรป้อนขนาดประชากรจากการสำรวจจริงหรือขนาดประชากรประสิทธิผล?

โปรดป้อนขนาดประชากรประสิทธิผล (Ne) ซึ่งก็คือขนาดของประชากรผสมพันธุ์ในอุดมคติที่จะเกิดการเลื่อนลอยทางพันธุกรรมในอัตราเดียวกับประชากรที่คุณต้องการศึกษา ขนาดประชากรจากการสำรวจจริงอาจมีขนาดใหญ่กว่ามากเมื่ออัตราส่วนเพศ ความสำเร็จในการสืบพันธุ์ ความผันผวนของประชากร หรือโครงสร้างประชากรไม่มีความสม่ำเสมอ

โอกาสในการตรึงคงที่ในที่สุดภายใต้แบบจำลองที่เป็นกลางจะเท่ากับความถี่เริ่มต้นหรือไม่?

ใช่ ในแบบจำลองที่เป็นกลางซึ่งไม่มีการกลายพันธุ์หรือการย้ายถิ่นนี้ แอลลีลที่มีความถี่เริ่มต้น p₀ จะมีโอกาสตรึงคงที่ในที่สุดเท่ากับ p₀ และมีโอกาสสูญหายเท่ากับ 1 − p₀ อย่างไรก็ตาม อัตราที่แสดงด้านบนครอบคลุมเฉพาะจำนวนรุ่นและจำนวนการทำซ้ำที่ป้อนไว้เท่านั้น จึงจะแปรผันตามค่าสุ่มเริ่มต้น (seed)

ทำไมความถี่เฉลี่ยของแอลลีลจึงคงอยู่ใกล้ p₀ ในขณะที่ความเป็นเฮเทอโรไซโกซิตี้ลดลง?

การเลื่อนลอยทางพันธุกรรมที่เป็นกลางไม่มีทิศทางที่ต้องการเฉพาะเจาะจงเมื่อพิจารณาจากหลายประชากรที่เป็นอิสระต่อกัน ดังนั้นความถี่เฉลี่ยจึงยังคงเป็น p₀ ตามค่าคาดหมาย อย่างไรก็ตาม ประชากรแต่ละกลุ่มจะกระจายตัวเข้าหา 0 หรือ 1 และขอบเขตทั้งสองนี้มีความเป็นเฮเทอโรไซโกซิตี้เป็นศูนย์ ความหลากหลายจึงสูญเสียไปแม้ว่าค่าเฉลี่ยระหว่างประชากรจะแทบไม่เปลี่ยนแปลงก็ตาม

เครื่องมือนี้สามารถทำนายสิ่งที่จะเกิดขึ้นกับประชากรจริงได้หรือไม่?

ไม่ แบบจำลองนี้แสดงผลลัพธ์ภายใต้แบบจำลองที่เป็นกลางของ Wright–Fisher ในอุดมคติที่ตั้งใจกำหนดขึ้น การคาดการณ์ในความเป็นจริงจำเป็นต้องใช้ค่าประมาณที่สมเหตุสมผลของขนาดประชากรประสิทธิผล รวมถึงการคัดเลือก การกลายพันธุ์ การย้ายถิ่น การเปลี่ยนแปลงขนาดประชากร รุ่นที่คาบเกี่ยวกัน ลิงเกจ และโครงสร้างประชากรที่มีความสำคัญต่อกรณีนั้นๆ

การจำลองการเลื่อนลอยทางพันธุกรรมด้วยแบบจำลอง Wright–Fisher

เครื่องมือจำลองการเลื่อนลอยทางพันธุกรรมของประชากรเป็นเครื่องมือออนไลน์ฟรีที่ช่วยให้ผู้ใช้สามารถจำลองและแสดงภาพการเลื่อนลอยทางพันธุกรรมที่เป็นกลาง (neutral genetic drift) โดยใช้แบบจำลอง Wright–Fisher สำหรับสิ่งมีชีวิตดิพลอยด์ การตั้งค่าประชากรผสมพันธุ์จำลองช่วยให้ผู้ใช้สามารถติดตามและเปรียบเทียบเส้นทางความถี่ของแอลลีลที่เกิดขึ้นซ้ำได้ในหลายประชากรที่เป็นอิสระต่อกัน เพื่อสังเกตว่าความแปรปรวนทางพันธุกรรมสูญหายหรือถูกตรึงคงที่อย่างไรในแต่ละรุ่น เครื่องมือนี้ช่วยให้เข้าใจอิทธิพลของการสุ่มตัวอย่างที่มีต่อความถี่ของแอลลีลเมื่อเวลาผ่านไป โดยแสดงค่าความเป็นเฮเทอโรไซโกซิตี้ อัตราการตรึงคงที่ และอัตราการสูญหายจากการจำลอง โดยไม่ได้มีวัตถุประสงค์เพื่อทำนายผลลัพธ์วิวัฒนาการในโลกความเป็นจริง


การตั้งค่าประชากรและพารามิเตอร์นำเข้า

ผู้ใช้สามารถกำหนดพารามิเตอร์ต่างๆ ในส่วนการตั้งค่าประชากรได้ดังนี้:

  • สถานการณ์จำลอง (Presets): ตัวเลือกสำเร็จรูป ได้แก่ ประชากรขนาดเล็ก, ประชากรขนาดใหญ่ และ แอลลีลเด่นน้อย/หายาก
  • ขนาดประชากรประสิทธิผล, Ne: ป้อนในหน่วย "จำนวนประชากรที่ผสมพันธุ์" โดยต้องเป็นจำนวนเต็มตั้งแต่ 1 ถึง 100,000
  • ความถี่เริ่มต้นของแอลลีล, p₀: ป้อนในหน่วย "สัดส่วน, 0–1" โดยต้องอยู่ระหว่าง 0 ถึง 1 รวมถึงขอบเขตทั้งสองฝั่ง
  • จำนวนรุ่น: ป้อนในหน่วย "รุ่น" โดยต้องเป็นจำนวนเต็มตั้งแต่ 1 ถึง 2,000
  • จำนวนประชากรที่เป็นอิสระต่อกัน: ป้อนในหน่วย "ประชากรจำลองซ้ำ" โดยต้องเป็นจำนวนเต็มตั้งแต่ 1 ถึง 200
  • ค่าสุ่มเริ่มต้น (seed): ช่องกรอกข้อความสำหรับสร้างเส้นทางจำลองซ้ำ ต้องมีความยาวไม่เกิน 100 ตัวอักษร และมีปุ่ม "ค่าสุ่มเริ่มต้นใหม่" เพื่อสุ่มค่านี้

การแสดงผลลัพธ์และสถิติสรุป

หลังจากรันการจำลอง เครื่องมือจะแสดงผลลัพธ์และข้อความสถานะดังต่อไปนี้:

  • ข้อความสถานะ:
    • เปลี่ยนสถานการณ์จำลองประชากร หรือรันตัวอย่างที่ใช้ค่าสุ่มเริ่มต้นนี้อีกครั้ง
    • กำลังสุ่มตัวอย่างรุ่นถัดไป…
    • จำลองประชากร {replicates} กลุ่ม ผ่าน {generations} รุ่น โดยใช้ค่าสุ่มเริ่มต้น “{seed}” เรียบร้อยแล้ว
  • เส้นทางความถี่ของแอลลีล: แผนภูมิแสดงเส้นทางความถี่ของแอลลีลตามรุ่นสำหรับประชากรจำลองที่ทำซ้ำ โดยมีแกน X คือ รุ่น และแกน Y คือ ความถี่ของแอลลีล p พร้อมเส้นอ้างอิง ค่าคาดหมาย p = p₀ และข้อความระบุว่า กำลังแสดง {shown} จากทั้งหมด {total} เส้นทาง โดยสรุปผลจะรวมทุกประชากรจำลองซ้ำ
  • สถิติสรุป:
    • ตรึงคงที่ที่ p = 1
    • สูญหายที่ p = 0
    • ไม่ถูกดูดซับภายในเวลา T
    • ค่าเฉลี่ย p สุดท้าย
    • ค่าคาดหมาย H ณ เวลา T
    • ค่าเฉลี่ย H จากการจำลอง ณ เวลา T
    • รุ่นเฉลี่ยที่เกิดการดูดซับ (จะแสดงข้อความ ไม่ถึง หากไม่เกิดการดูดซับขึ้น)

วิธีการ ข้อสมมติ และข้อจำกัด

หน้านี้ใช้แบบจำลองที่เป็นกลางของ Wright–Fisher สำหรับสิ่งมีชีวิตดิพลอยด์ตามที่อธิบายโดย เอกสารอ้างอิงการเลื่อนลอยและขนาดประสิทธิผลของ Nature Education และ บทการเลื่อนลอยทางพันธุกรรมของ Stanford Human Genetics ตรวจสอบแหล่งข้อมูลเมื่อวันที่ 6 สิงหาคม 2026

สูตร การแทนค่า และความแม่นยำ

  • แบบจำลองคณิตศาสตร์: ในทุกรุ่น การเปลี่ยนผ่านของ 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))ᵗ
  • การคำนวณรุ่นแรก:
    • รุ่นแรกใช้การสุ่มเลือกสำเนาแอลลีล 2 × {population} = {copies} ครั้ง
    • E[X₁] = {copies} × {frequency} = {mean} สำเนาของ A
    • สำหรับรุ่นแรก Var(X₁) = {copies} × {frequency} × (1 − {frequency}) = {variance}; SD(p₁) = {sd}
    • ประชากรจำลองซ้ำแรกที่พล็อตสุ่มได้ X₁ = {sampled} สำเนาของ A ดังนั้น p₁ = {sampled} ÷ {copies} = {frequency}

ความแม่นยำและขีดจำกัดการทำงาน

การสุ่มแบบทวินามทุกครั้งใช้การสุ่มตัวอย่างแบบเบอร์นูลลีที่แม่นยำ โดยไม่มีการใช้การประมาณค่าแบบปกติ การคำนวณยังคงรักษาความแม่นยำแบบทศนิยมคู่ (double precision) ของ JavaScript ความถี่จะเพิ่มขึ้นทีละ 1 ÷ (2Ne) และการแสดงผลจะปัดเศษทศนิยมไม่เกินหกตำแหน่ง

เบราว์เซอร์จะจำกัดการคำนวณไว้ที่ 5,000,000 สำเนาแอลลีล (คำนวณจาก 2Ne × รุ่น × ประชากรจำลองซ้ำ) หากเกินขีดจำกัดนี้ ระบบจะแสดงข้อความแจ้งเตือน: การตั้งค่านี้มีแผนการสุ่มเลือกสำเนาแอลลีล {draws} ครั้ง ซึ่งเกินขีดจำกัดของเบราว์เซอร์ที่ {limit} ครั้ง โปรดลดขนาดประชากร จำนวนรุ่น หรือจำนวนการทำซ้ำ

ข้อสมมติของแบบจำลอง

แบบจำลองนี้มีข้อสมมติคือ ขนาดประชากรประสิทธิผลคงที่, รุ่นที่แยกจากกันและไม่คาบเกี่ยวกัน, การสุ่มตัวอย่างแบบอิสระ, ความเป็นกลางต่อการคัดเลือก, หนึ่งโลคัสที่มีสองแอลลีลและไม่เชื่อมโยงกัน, และไม่มีการกลายพันธุ์หรือการย้ายถิ่น ห้ามใช้เครื่องมือนี้ในการคาดการณ์เมื่อการคัดเลือก การเปลี่ยนแปลงของประชากร ความไม่สมดุลทางเพศหรือความสำเร็จในการสืบพันธุ์ รุ่นที่คาบเกี่ยวกัน การผสมเกี่ยวดอง ลิงเกจ การไหลของยีน หรือโครงสร้างประชากรมีผลต่อระบบ แบบจำลองทางชีววิทยาเชิงสุ่มนี้ไม่มีการใช้ค่าเผื่อเพื่อความปลอดภัยทางวิศวกรรม


ความเป็นส่วนตัวและการประมวลผลข้อมูล

พารามิเตอร์และประชากรจำลองของคุณจะอยู่ภายในเบราว์เซอร์นี้เท่านั้น การประมวลผลทั้งหมดเกิดขึ้นภายในอุปกรณ์ของผู้ใช้ และไม่มีการอัปโหลดข้อมูลใดๆ ออกไปภายนอก


คำถามที่พบบ่อย (FAQ)

ถาม: ฉันควรป้อนขนาดประชากรจากการสำรวจจริงหรือขนาดประชากรประสิทธิผล?
ตอบ: โปรดป้อนขนาดประชากรประสิทธิผล (Ne) ซึ่งก็คือขนาดของประชากรผสมพันธุ์ในอุดมคติที่จะเกิดการเลื่อนลอยทางพันธุกรรมในอัตราเดียวกับประชากรที่คุณต้องการศึกษา ขนาดประชากรจากการสำรวจจริงอาจมีขนาดใหญ่กว่ามากเมื่ออัตราส่วนเพศ ความสำเร็จในการสืบพันธุ์ ความผันผวนของประชากร หรือโครงสร้างประชากรไม่มีความสม่ำเสมอ

ถาม: ทำไมความถี่เฉลี่ยของแอลลีลจึงคงอยู่ใกล้ p₀ ในขณะที่ความเป็นเฮเทอโรไซโกซิตี้ลดลง?
ตอบ: การเลื่อนลอยทางพันธุกรรมที่เป็นกลางไม่มีทิศทางที่ต้องการเฉพาะเจาะจงเมื่อพิจารณาจากหลายประชากรที่เป็นอิสระต่อกัน ดังนั้นความถี่เฉลี่ยจึงยังคงเป็น p₀ ตามค่าคาดหมาย อย่างไรก็ตาม ประชากรแต่ละกลุ่มจะกระจายตัวเข้าหา 0 หรือ 1 และขอบเขตทั้งสองนี้มีความเป็นเฮเทอโรไซโกซิตี้เป็นศูนย์ ความหลากหลายจึงสูญเสียไปแม้ว่าค่าเฉลี่ยระหว่างประชากรจะแทบไม่เปลี่ยนแปลงก็ตาม

ถาม: โอกาสในการตรึงคงที่ในที่สุดภายใต้แบบจำลองที่เป็นกลางจะเท่ากับความถี่เริ่มต้นหรือไม่?
ตอบ: ใช่ ในแบบจำลองที่เป็นกลางซึ่งไม่มีการกลายพันธุ์หรือการย้ายถิ่นนี้ แอลลีลที่มีความถี่เริ่มต้น p₀ จะมีโอกาสตรึงคงที่ในที่สุดเท่ากับ p₀ และมีโอกาสสูญหายเท่ากับ 1 − p₀ อย่างไรก็ตาม อัตราที่แสดงด้านบนครอบคลุมเฉพาะจำนวนรุ่นและจำนวนการทำซ้ำที่ป้อนไว้เท่านั้น จึงจะแปรผันตามค่าสุ่มเริ่มต้น (seed)

ถาม: เครื่องมือนี้สามารถทำนายสิ่งที่จะเกิดขึ้นกับประชากรจริงได้หรือไม่?
ตอบ: ไม่ แบบจำลองนี้แสดงผลลัพธ์ภายใต้แบบจำลองที่เป็นกลางของ Wright–Fisher ในอุดมคติที่ตั้งใจกำหนดขึ้น การคาดการณ์ในความเป็นจริงจำเป็นต้องใช้ค่าประมาณที่สมเหตุสมผลของขนาดประชากรประสิทธิผล รวมถึงการคัดเลือก การกลายพันธุ์ การย้ายถิ่น การเปลี่ยนแปลงขนาดประชากร รุ่นที่คาบเกี่ยวกัน ลิงเกจ และโครงสร้างประชากรที่มีความสำคัญต่อกรณีนั้นๆ