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

ติดตามเส้นทางความถี่ของแอลลีลตามแบบจำลอง 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))ᵗ

การสุ่มแบบทวินามทุกครั้งใช้การสุ่มตัวอย่างแบบเบอร์นูลลีที่แม่นยำ โดยไม่มีการใช้การประมาณค่าแบบปกติ การคำนวณยังคงรักษาความแม่นยำแบบทศนิยมคู่ (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 ในอุดมคติที่ตั้งใจกำหนดขึ้น การคาดการณ์ในความเป็นจริงจำเป็นต้องใช้ค่าประมาณที่สมเหตุสมผลของขนาดประชากรประสิทธิผล รวมถึงการคัดเลือก การกลายพันธุ์ การย้ายถิ่น การเปลี่ยนแปลงขนาดประชากร รุ่นที่คาบเกี่ยวกัน ลิงเกจ และโครงสร้างประชากรที่มีความสำคัญต่อกรณีนั้นๆ