شبیهسازی رانش ژنتیکی با مدل رایت-فیشر
رانش ژنتیکی یکی از نیروهای بنیادی تکامل است که فراوانی آللها را در طول زمان تحت تأثیر قرار میدهد. در جمعیتهای محدود، نمونهگیری تصادفی گامتها در هر نسل باعث نوسان فراوانی آللها میشود. این ابزار به شما امکان میدهد تا با استفاده از مدل دیپلوئید و خنثی رایت-فیشر (Wright–Fisher)، مسیرهای فراوانی آلل را در چندین جمعیت مستقل شبیهسازی و مشاهده کنید. با تنظیم پارامترهای مختلف، میتوانید چگونگی از دست رفتن یا تثبیت تنوع ژنتیکی را در طول نسلهای متوالی بررسی کنید.
تمام محاسبات و فرآیندهای شبیهسازی به طور کامل در مرورگر وب شما انجام میشود و هیچ دادهای به سرور ارسال نمیگردد.
تنظیمات جمعیت
برای شروع شبیهسازی، ابتدا باید پارامترهای اولیه را در بخش «تنظیمات جمعیت» وارد کنید. این بخش شامل گزینهها و محدودیتهای زیر است:
- سناریوها: میتوانید از پیشتنظیمهای موجود مانند «جمعیت کوچک»، «جمعیت بزرگ» یا «آلل کمیاب» برای بارگذاری سریع پارامترها استفاده کنید.
- اندازه جمعیت مؤثر، Ne: این مقدار بر حسب «افراد مولد» وارد میشود و باید یک عدد صحیح بین 1 تا 100,000 باشد.
- فراوانی اولیه آلل، p₀: این مقدار به عنوان «نسبت، 0–1» وارد میشود و باید بین 0 و 1 (شامل هر دو مرز) باشد.
- نسلها: تعداد نسلهای شبیهسازی که باید یک عدد صحیح بین 1 تا 2,000 باشد.
- جمعیتهای مستقل: تعداد تکرارهای شبیهسازی که باید یک عدد صحیح بین 1 تا 200 باشد.
- هسته تصادفی: متنی حداکثر تا 100 نویسه که برای بازتولید دقیق مسیرهای شبیهسازی استفاده میشود. با کلیک روی دکمه «هسته جدید» میتوانید یک هسته تصادفی جدید تولید کنید.
در صورتی که مقادیر ورودی خارج از محدوده مجاز باشند، خطاهای مربوطه نمایش داده میشوند؛ به عنوان مثال:
اندازه جمعیت مؤثر باید یک عدد صحیح از 1 تا 100,000 باشد.فراوانی اولیه آلل باید بین 0 و 1 باشد، شامل هر دو مرز.تعداد نسلها باید یک عدد صحیح از 1 تا 2,000 باشد.تعداد جمعیتهای مستقل باید یک عدد صحیح از 1 تا 200 باشد.هسته تصادفی را حداکثر 100 نویسه نگه دارید.
همچنین اگر ورودی نامعتبر یا غیرعددی باشد، خطاهایی مانند ‹field›: «‹token›» یک عدد نیست. یا ‹field›: یک عدد صحیح وارد کنید. نمایش داده خواهند شد.
روش، فرضها و محدودیتها
این صفحه مدل دیپلوئید خنثی Wright–Fisher را که توسط Nature Education و متن ژنتیک انسانی استنفورد توصیف شده است، پیادهسازی میکند. هر نسل جدید یک نمونه تصادفی از 2Ne نسخه آلل از نسل قبلی است. منابع بررسیشده در 6 اوت 2026.
این مدل بر پایه فرضهای زیر استوار است:
- اندازه جمعیت مؤثر ثابت است.
- نسلها مجزا و غیرهمپوشان هستند.
- نمونهگیری تصادفی به صورت کاملاً مستقل انجام میشود.
- بیطرفی انتخابی برقرار است (هیچ آللی مزیت بقا یا تولیدمثلی ندارد).
- یک جایگاه ژنی غیرپیوسته با دو آلل بررسی میشود.
- هیچگونه جهش یا مهاجرتی وجود ندارد.
از این ابزار نباید به عنوان پیشبینی در شرایطی استفاده کرد که انتخاب طبیعی، تغییر اندازه جمعیت، عدم تعادل جنسی یا موفقیت تولیدمثلی، نسلهای همپوشان، همخونی، پیوستگی ژنی، جریان ژنی یا ساختار جمعیت اهمیت دارد. ضریب ایمنی مهندسی در مورد این مدل زیستشناختی تصادفی صدق نمیکند.
محدودیت پردازش مرورگر
برای جلوگیری از کرش کردن مرورگر، یک حد مجاز برای محاسبات در نظر گرفته شده است. حداکثر تعداد برداشتهای برنامهریزیشده نسخه آلل که به صورت 2Ne × generations × replicates محاسبه میشود، برابر با 5,000,000 است. در صورت فراتر رفتن از این مقدار، خطای زیر نمایش داده میشود:
این تنظیمات برای ‹draws› برداشت نسخه آلل برنامهریزی میکند که فراتر از حد مجاز مرورگر (‹limit›) است. اندازه جمعیت، نسلها یا تکرارها را کاهش دهید.
فرمول، جایگذاری و دقت
در هر نسل، انتقال 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 ÷ (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›.
نتایج و آمارهای خلاصه
پس از اجرای شبیهسازی، نموداری با عنوان «مسیرهای فراوانی آلل» و برچسب دسترسیپذیری «فراوانی آلل بر اساس نسل برای جمعیتهای شبیهسازیشده مکرر» نمایش داده میشود. محور افقی این نمودار «نسل» و محور عمودی آن «فراوانی آلل p» است. خط مرجع روی نمودار نشاندهنده «مقدار مورد انتظار p = p₀» است.
در زیر نمودار، وضعیت شبیهسازی و آمارهای خلاصه به شرح زیر ارائه میشود:
- پیامهای وضعیت:
- در حالت آمادهباش:
سناریوی جمعیت را تغییر دهید یا این نمونه هستهگذاریشده را دوباره اجرا کنید. - در حال محاسبه:
نمونهگیری از نسلهای بعدی… - پس از اتمام:
تعداد ‹replicates› جمعیت در طول ‹generations› نسل با استفاده از هسته «‹seed›» شبیهسازی شدند.
- در حالت آمادهباش:
- تعداد مسیرها:
نمایش ‹shown› مسیر از ‹total› مسیر؛ تمام تکرارها در خلاصه گنجانده شدهاند. - آمارهای نهایی:
تثبیتشده در p = 1(نسبت جمعیتهایی که آلل در آنها تثبیت شده است).از دست رفته در p = 0(نسبت جمعیتهایی که آلل در آنها از بین رفته است).جذبنشده تا T(جمعیتهایی که تا نسل آخر هنوز به فراوانی 0 یا 1 نرسیدهاند).میانگین p نهایی.H مورد انتظار در T.میانگین H شبیهسازیشده در T.میانگین نسل جذب(در صورت عدم وقوع جذب، عبارتحاصل نشدهنمایش داده میشود).
پرسشهای متداول (FAQ)
آیا باید اندازه سرشماری را وارد کنم یا اندازه جمعیت مؤثر را؟
اندازه جمعیت مؤثر، Ne را وارد کنید: اندازه یک جمعیت تولیدمثلکننده ایدهآلسازیشده که با همان سرعت جمعیت مورد مطالعه شما دچار رانش میشود. اندازه سرشماری میتواند بسیار بزرگتر باشد زمانی که نسبتهای جنسی، موفقیت تولیدمثلی، نوسانات جمعیتی یا ساختار جمعیت نامتوازن باشند.
چرا میانگین فراوانی آلل میتواند نزدیک p₀ باقی بماند در حالی که هتروزیگوسیتی کاهش مییابد؟
رانش خنثی جهت ترجیحی خاصی در میان چندین جمعیت مستقل ندارد، بنابراین میانگین فراوانی در مقدار مورد انتظار p₀ باقی میماند. با این حال، جمعیتهای منفرد به سمت 0 یا 1 پراکنده میشوند و هر دو مرز دارای هتروزیگوسیتی صفر هستند. بنابراین، تنوع از دست میرود حتی در حالی که میانگین بینجمعیتی تقریباً بدون تغییر باقی میماند.
آیا احتمال خنثی برای تثبیت نهایی با فراوانی اولیه برابر است؟
بله، در این مدل خنثی بدون جهش یا مهاجرت، آللی که با فراوانی p₀ شروع میشود، احتمال تثبیت نهایی p₀ و احتمال از دست رفتن 1 − p₀ دارد. نرخهای نشاندادهشده در بالا فقط تعداد نسلها و تکرارهای واردشده را پوشش میدهند، بنابراین با تغییر هسته تصادفی تغییر خواهند کرد.
آیا این ابزار میتواند رفتار یک جمعیت واقعی را پیشبینی کند؟
خیر. این ابزار نتایج را تحت یک مدل خنثی و ایدهآلسازیشده Wright–Fisher نشان میدهد. پیشبینیهای واقعی نیازمند تخمینهای قابل دفاع از اندازه مؤثر و هرگونه انتخاب، جهش، مهاجرت، تغییر اندازه جمعیت، نسلهای همپوشان، پیوستگی و ساختار جمعیتی است که در آن مورد اهمیت دارند.