Wright–Fisher মডেলের গাণিতিক ভিত্তি
পপুলেশন জেনেটিক্স ড্রিফট সিমুলেটরটি ডিপ্লয়েড Wright–Fisher মডেলের উপর ভিত্তি করে তৈরি করা হয়েছে, যা একটি আদর্শ প্রজননশীল জনসংখ্যার মধ্যে নিউট্রাল জেনেটিক ড্রিফটের প্রভাব বিশ্লেষণ করতে সাহায্য করে [i, j]। এই মডেলের মূল ভিত্তি হলো প্রতিটি প্রজন্মে অ্যালিল কপির র্যান্ডম স্যাম্পলিং।
প্রতিটি প্রজন্মে, 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)।
এই গাণিতিক কাঠামোর মাধ্যমে ব্যবহারকারীরা দেখতে পারেন কীভাবে একটি নির্দিষ্ট প্রজন্মের অ্যালিল ফ্রিকোয়েন্সি তার পূর্ববর্তী প্রজন্মের ফ্রিকোয়েন্সির উপর ভিত্তি করে একটি দ্বিপদী বিন্যাসের মাধ্যমে নির্ধারিত হয়। প্রতিটি দ্বিপদী ড্র নিখুঁত Bernoulli স্যাম্পলিং ব্যবহার করে; কোনো নরমাল অ্যাপ্রক্সিমেশন ব্যবহার করা হয় না। হিসাবগুলো JavaScript-এর ডাবল প্রিসিশন বজায় রাখে। ফ্রিকোয়েন্সিগুলো 1 ÷ (2Ne)-এর গুণিতক হিসেবে থাকে; ডিসপ্লেতে সর্বোচ্চ ছয় দশমিক স্থান পর্যন্ত রাউন্ড করা হয়।
কার্যকর বনাম সেন্সাস জনসংখ্যার আকার
সিমুলেশনটি সঠিকভাবে পরিচালনা করার জন্য ব্যবহারকারীকে অবশ্যই "কার্যকর জনসংখ্যা, Ne" (Effective population size) প্রবেশ করাতে হবে, যা "প্রজননশীল জীব" এককে পরিমাপ করা হয়। এটি বাস্তব বা সেন্সাস জনসংখ্যার আকার (Census population size) থেকে ভিন্ন হতে পারে।
বাস্তব প্রাকৃতিক জনসংখ্যায় লিঙ্গ অনুপাতের ভারসাম্যহীনতা, প্রজনন সাফল্যের তারতম্য, এবং প্রজন্মের পর প্রজন্ম ধরে জনসংখ্যার আকারের ওঠানামার কারণে জেনেটিক ড্রিফটের হার বৃদ্ধি পায়। এই সিমুলেটরে ব্যবহৃত কার্যকর জনসংখ্যা Nₑ হলো এমন একটি তাত্ত্বিক আদর্শ জনসংখ্যার আকার যা বাস্তব জনসংখ্যার সমান হারে জেনেটিক বৈচিত্র্য হারায়। ব্যবহারকারীরা ইন্টারফেসে ১ থেকে ১০০,০০০-এর মধ্যে যেকোনো পূর্ণসংখ্যা কার্যকর জনসংখ্যা হিসেবে নির্ধারণ করতে পারেন।
হেটেরোজাইগোসিটি এবং জেনেটিক বৈচিত্র্যের হ্রাস
জেনেটিক ড্রিফটের অন্যতম প্রধান প্রভাব হলো সময়ের সাথে সাথে জনসংখ্যার মধ্যে হেটেরোজাইগোসিটি বা জেনেটিক বৈচিত্র্য হ্রাস পাওয়া [i, j]। ভিন্ন অ্যালিল জোড়ার প্রত্যাশিত অনুপাত t প্রজন্ম জুড়ে নিম্নরূপ হ্রাস পায়: H₀ = 2p₀(1 − p₀); Hₜ = H₀(1 − 1 ÷ (2Ne))ᵗ।
এই সমীকরণটি দেখায় যে কার্যকর জনসংখ্যার আকার (Nₑ) যত ছোট হবে, প্রতি প্রজন্মে হেটেরোজাইগোসিটি বা বৈচিত্র্য হারানোর হার তত দ্রুত হবে। সিমুলেটরটি প্রতিটি রান শেষে "T প্রজন্মে প্রত্যাশিত H" এবং "T প্রজন্মে গড় সিমুলেটেড H" গণনা করে প্রদর্শন করে, যা ব্যবহারকারীদের তাত্ত্বিক প্রত্যাশার সাথে বাস্তব সিমুলেশনের ফলাফলের তুলনা করতে সাহায্য করে।
ফিক্সেশন, বিলুপ্তি এবং গড়ের প্যারাডক্স
একটি নিউট্রাল মডেলে, কোনো নির্দিষ্ট অ্যালিলের চূড়ান্ত ফিক্সেশন (p = 1) হওয়ার সম্ভাবনা তার শুরুর অ্যালিল ফ্রিকোয়েন্সি p₀-এর সমান [j]। বিপরীতভাবে, অ্যালিলটি বিলুপ্ত (p = 0) হওয়ার সম্ভাবনা 1 - p₀ [j]।
যখন অনেকগুলো স্বাধীন জনসংখ্যা বা রেপ্লিকেট সমান্তরালভাবে সিমুলেট করা হয়, তখন একটি আকর্ষণীয় ঘটনা লক্ষ্য করা যায়। প্রতিটি পৃথক জনসংখ্যা র্যান্ডম ড্রিফটের কারণে শেষ পর্যন্ত ফিক্সেশন বা বিলুপ্তির দিকে ধাবিত হলেও, সমস্ত জনসংখ্যা জুড়ে "গড় চূড়ান্ত p" এর মান শুরুর ফ্রিকোয়েন্সি p₀-এর কাছাকাছি থাকে। একে গড়ের প্যারাডক্স বলা যেতে পারে। সিমুলেটরটি রান করার পর নিচের ফলাফলগুলো প্রদর্শন করে:
- "p = 1 এ ফিক্সড"
- "p = 0 তে বিলুপ্ত"
- "T প্রজন্মের মধ্যে অ্যাবসবড হয়নি"
- "গড় চূড়ান্ত p"
- "গড় অ্যাবসর্পশন প্রজন্ম" (যদি কোনো জনসংখ্যাই ফিক্সেশন বা বিলুপ্তিতে না পৌঁছায়, তবে এটি "পৌঁছায়নি" প্রদর্শন করে)।
সিমুলেটর ইন্টারফেস এবং ইনপুট প্যারামিটার
সিমুলেটরটি ব্যবহার করার জন্য "জনসংখ্যা সেটআপ" ইন্টারফেসে নিম্নলিখিত প্যারামিটারগুলো প্রদান করতে হবে:
- সিনারিও: ব্যবহারকারীরা দ্রুত সিমুলেশনের জন্য কিছু পূর্বনির্ধারিত প্রিসেট নির্বাচন করতে পারেন, যেমন "ক্ষুদ্র জনসংখ্যা", "বৃহৎ জনসংখ্যা", অথবা "দুর্লভ অ্যালিল"।
- কার্যকর জনসংখ্যা, Ne: ১ থেকে ১০০,০০০-এর মধ্যে একটি পূর্ণসংখ্যা।
- শুরুর অ্যালিল ফ্রিকোয়েন্সি, p₀: ০ থেকে ১-এর মধ্যে যেকোনো ভগ্নাংশ বা মান (উভয় সীমানাসহ)।
- প্রজন্ম: ১ থেকে ২,০০০-এর মধ্যে একটি পূর্ণসংখ্যা।
- স্বাধীন জনসংখ্যা: ১ থেকে ২০০-এর মধ্যে একটি পূর্ণসংখ্যা (রেপ্লিকেট)।
- র্যান্ডম সিড: সিমুলেশনের ফলাফল পুনরুৎপাদন করার জন্য ১০০ অক্ষরের কম একটি টেক্সট। ব্যবহারকারীরা "নতুন সিড" বাটনে ক্লিক করে এটি র্যান্ডমাইজ করতে পারেন।
সিমুলেশন চলাকালীন ব্রাউজারটি একটি কাজের সীমা প্রয়োগ করে। এই সেটআপে সর্বোচ্চ ৫,০০০,০০০টি অ্যালিল-কপি ড্র করার অনুমতি রয়েছে, যা 2Nₑ × প্রজন্ম × রেপ্লিকেট হিসেবে গণনা করা হয়।
পদ্ধতি, অনুমান এবং সীমাবদ্ধতা
এই পেজটি Nature Education এবং Stanford Human Genetics টেক্সট দ্বারা বর্ণিত নিউট্রাল ডিপ্লয়েড Wright–Fisher মডেলটি বাস্তবায়ন করে। উৎসসমূহ যাচাই করা হয়েছে ৬ আগস্ট ২০২৬ তারিখে।
অনুমানসমূহ: ধ্রুবক কার্যকর জনসংখ্যা, বিচ্ছিন্ন নন-ওভারল্যাপিং প্রজন্ম, র্যান্ডম স্বাধীন স্যাম্পলিং, সিলেক্টিভ নিউট্রালিটি, একটি আনলিঙ্কড দুই-অ্যালিল লোকাস এবং কোনো মিউটেশন বা মাইগ্রেশন নেই। সিলেকশন, জনসংখ্যার পরিবর্তন, লিঙ্গ বা প্রজনন-সাফল্যের ভারসাম্যহীনতা, ওভারল্যাপিং প্রজন্ম, ইনব্রিডিং, লিংকেজ, জিন প্রবাহ বা জনসংখ্যার কাঠামো গুরুত্বপূর্ণ হলে এটিকে পূর্বাভাস হিসেবে ব্যবহার করবেন না। এই স্টোকাস্টিক জৈবিক মডেলে কোনো ইঞ্জিনিয়ারিং সেফটি ফ্যাক্টর প্রযোজ্য নয়।
আপনার প্যারামিটার এবং সিমুলেটেড জনসংখ্যা এই ব্রাউজারেই থাকে। সমস্ত প্রসেসিং স্থানীয়ভাবে ব্যবহারকারীর ডিভাইসে সম্পন্ন হয় এবং কোনো ডেটা সার্ভারে আপলোড করা হয় না।
সূত্র, মান প্রতিস্থাপন এবং নির্ভুলতা
সিমুলেশনটি রান করার পর, প্রথম প্রজন্মের হিসাবগুলো কীভাবে করা হয়েছে তা স্পষ্টভাবে দেখানোর জন্য নিচের সূত্র ও মান প্রতিস্থাপনগুলো প্রদর্শিত হয়:
- প্রথম প্রজন্ম 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›।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)
প্রশ্ন: আমার কি সেন্সাস সাইজ নাকি কার্যকর জনসংখ্যা প্রবেশ করানো উচিত?
উত্তর: কার্যকর জনসংখ্যা, Ne লিখুন: এটি একটি আদর্শ প্রজননশীল জনসংখ্যার আকার যা আপনার অধ্যয়ন করতে চাওয়া জনসংখ্যার সমান হারে ড্রিফট করবে। লিঙ্গ অনুপাত, প্রজনন সাফল্য, জনসংখ্যার ওঠানামা বা জনসংখ্যার কাঠামো অসম হলে সেন্সাস সাইজ অনেক বড় হতে পারে।
প্রশ্ন: চূড়ান্ত ফিক্সেশনের নিউট্রাল সম্ভাবনা কি শুরুর ফ্রিকোয়েন্সির সমান?
উত্তর: হ্যাঁ, কোনো মিউটেশন বা মাইগ্রেশন ছাড়া এই নিউট্রাল মডেলে, p₀ ফ্রিকোয়েন্সিতে শুরু হওয়া একটি অ্যালিলের চূড়ান্ত ফিক্সেশন সম্ভাবনা p₀ এবং বিলুপ্তির সম্ভাবনা 1 − p₀ [j]। উপরে প্রদর্শিত হারগুলো কেবল প্রবেশ করানো প্রজন্ম এবং পুনরাবৃত্তির সংখ্যাকে কভার করে, তাই এগুলো সিডের সাথে পরিবর্তিত হবে।
প্রশ্ন: হেটেরোজাইগোসিটি হ্রাস পাওয়ার পরেও গড় অ্যালিল ফ্রিকোয়েন্সি কেন p₀-এর কাছাকাছি থাকতে পারে?
উত্তর: অনেকগুলো স্বাধীন জনসংখ্যা জুড়ে নিউট্রাল ড্রিফটের কোনো নির্দিষ্ট দিক থাকে না, তাই প্রত্যাশা অনুযায়ী গড় ফ্রিকোয়েন্সি p₀ থাকে [i, j]। তবে, একক জনসংখ্যাগুলো 0 বা 1-এর দিকে ছড়িয়ে পড়ে এবং উভয় সীমানাতেই হেটেরোজাইগোসিটি শূন্য থাকে [i, j]। ফলস্বরূপ, জনসংখ্যা-জুড়ে গড় প্রায় অপরিবর্তিত থাকলেও বৈচিত্র্য হারিয়ে যায় [i, j]।
প্রশ্ন: এটি কি একটি বাস্তব জনসংখ্যা কী করবে তা পূর্বাভাস দিতে পারে?
উত্তর: না। এটি একটি ইচ্ছা অত্যন্ত আদর্শায়িত নিউট্রাল Wright–Fisher মডেলের অধীনে ফলাফল দেখায় [i, j]। বাস্তব পূর্বাভাসের জন্য কার্যকর আকার এবং এই বিষয়ের সাথে প্রাসঙ্গিক যেকোনো সিলেকশন, মিউটেশন, মাইগ্রেশন, পরিবর্তনশীল জনসংখ্যার আকার, ওভারল্যাপিং প্রজন্ম, লিংকেজ এবং জনসংখ্যার কাঠামোর নির্ভরযোগ্য অনুমান প্রয়োজন [i, j]।