منصوبے کے بارے میں

## یہ کیا ہے AlleleForge ایک ریسرچ-اورینٹڈ ڈیزائن فریم ورک ہے جو CRISPR جینوم ایڈیٹنگ کے لیے بنایا گیا ہے، جس کا آغاز گائیڈ کے بجائے ایک ٹوٹے ہوئے ایلیل (allele) سے ہوتا ہے۔ آپ ایک ویرینٹ فراہم کرتے ہیں — ClinVar انٹری، rsID، HGVS، VCF یا خام کوآرڈینیٹس — اور پائپ لائن اسے حل کرتا ہے، موزوں ایڈیٹنگ کیمسٹریز کی طرف بھیجتا ہے، ممکنہ گائیڈز/pegRNAs کی فہرست بناتا ہے، انہیں اسکور کرتا ہے، اور امیدوار ایڈیٹس کا ایک درجہ بند مینو واپس کرتا ہے۔ تین کیمسٹریز شامل ہیں: SpCas9 nuclease، بیس ایڈیٹرز (ABE/CBE) اور پرائم ایڈیٹنگ، جسے یہ پروجیکٹ اپنی مرکزی طریقہ کار کے طور پر استعمال کرتا ہے۔ ہر امیدوار کے ساتھ ایک متوقع ایڈیٹ نتیجہ، غیر یقینی صورتحال کا وقفہ (uncertainty interval)، اور ایک آف-ٹارگٹ رپورٹ منسلک ہوتی ہے۔ یہ سب ایک کور کے اوپر تین شیلز کے ذریعے دستیاب ہے: ایک Python لائبریری، ایک `aforge` کمانڈ لائن انٹرفیس، اور ایک ویب UI (FastAPI بیک اینڈ کے ساتھ Next.js فرنٹ اینڈ)۔ ## غیر یقینی صورتحال اور حفاظتی رپورٹنگ پیش گوئیاں کبھی بھی سادہ floats نہیں ہوتیں۔ ہر عددی نتیجے کے ساتھ ایک وقفہ، اسے تیار کرنے والا طریقہ، اور ایک `calibrated` جھنڈا (flag) ہوتا ہے جو ظاہر کرتا ہے کہ آیا وقفے کو ہولڈ-آؤٹ کوریج کے خلاف فٹ کیا گیا تھا۔ ڈیفالٹ طور پر، وزن سے پاک ڈیفالٹس ہیورسٹکس ہوتے ہیں اور `calibrated=False` رپورٹ کرتے ہیں۔ وقفے کی دوبارہ کیلبریشن کے لیے اسپلٹ-کنفورمل طریقوں اور پروببلٹی کیلبریشن کے لیے आइसوٹونک ریگریشن کا استعمال کیا جاتا ہے، جس میں ضرورت پڑنے پر `empirical_coverage`/ECE سامنے آتا ہے۔ آف-ٹارگٹ تجزیہ آبادی اور ہیپلوٹائپ سے آگاہ ہوتا ہے، لیکن یہ واضح طور پر آپشنل ہے: پروجیکٹ کوئی gnomAD ڈیٹا فراہم نہیں کرتا، اس لیے نسل کے لحاظ سے درجہ بند اسکین کے لیے صارف کو فریکوئنسی سورس (`--gnomad`, `--haplotypes`, `--patient-vcf`) فراہم کرنا پڑتا ہے۔ اس کے بغیر، اسکین صرف ریفرنس تک محدود ہوتا ہے اور آؤٹ پٹ میں یہی بتایا جاتا ہے۔ نسل کے خطرے کو اوسط کے بجائے سب سے زیادہ متاثرہ آبادی کے طور پر رپورٹ کیا جاتا ہے، جس میں آبادی اور ہیپلوٹائپ راستوں پر یکساں کیرینگ تھریش ہول لاگو کیا جاتا ہے۔ نامزدگی دو مخصوص ماڈلز (CFD اور MIT) کو یکجا کرتی ہے، اور ہر سائٹ کے لیے دونوں اسکورز ریکارڈ کرتی ہے۔ کراس-رن آف-ٹارگٹ کیش کو صرف ریفرنس-ونلی، ڈیفالٹ-اسکورر سرچز کے لیے حفاظتی گیٹ کے ذریعے محدود کیا گیا ہے۔ ## ریپروڈیوسبلٹی اور انجینئرنگ پوزیشن README میں دستاویزی ڈیزائن فیصلے ریپروڈیوسبلٹی پر زور دیتے ہیں: مواد سے ایڈریس شدہ نتائج، اسپلٹس اور کیشز (انٹیگریٹی کی دوبارہ تصدیق کے ساتھ)، پن شدہ ماحول، ڈیٹرمینسٹک سیڈز، اور مواد کے ہیش شدہ چیک پوائنٹس۔ ایک `null` آرٹفیکٹ ہیش ڈیزائن کے مطابق ڈاؤن لوڈ کو بلاک کر دیتا ہے۔ ماڈلز کو رضامندی/لائسنس/چیک سم گیٹ کے ذریعے لوڈ کیا جاتا ہے؛ ڈیفالٹ بیک بون (Nucleotide Transformer v2 500M) CC-BY-NC-SA-4.0 ہے اور لوڈ ٹائم پر تجارتی استعمال کے لیے اسے مسترد کر دیا جاتا ہے، جس میں کوئی حقیقی ویٹس (weights) شامل نہیں ہیں۔ بیک بون کے لیے ایک ONNX ایکسپورٹ پاتھ موجود ہے۔ ایک Rust/PyO3 کریٹ (`aforge_native`) اختیاری ایکسلریشن کرنلز فراہم کرتا ہے — FM-index BWT سرچ، k-mer سیڈنگ، ہیپلوٹائپ واکنگ اور بلجڈ الائنمنٹ — جن میں سے ہر ایک کا بائٹ-آئیڈنٹیکل پیور-پائتھن فال بیک اور پیرٹی ٹیسٹ موجود ہے؛ لائبریری اس کریٹ کے بغیر بھی انسٹال اور پاس ہو جاتی ہے۔ قابل ذکر بات یہ ہے کہ بینچ مارکنگ کے بعد پروجیکٹ نے FM-index اور k-mer سیڈ پری فلٹر کو ڈیفالٹ کے بجائے آپشنل رکھا، کیونکہ دونوں کو نیٹ اسکین لیول لاگت کے طور پر ناپا گیا۔ ## بینچ مارک اور اسٹیٹس ایک عوامی بینچ مارک، CRISPR-Bench، ٹاسکس، منجمد اسپلٹس، میٹرکس، ایک رنر اور ایک لیڈر بورڈ فراہم کرتا ہے؛ ایک کیلبریشن/جنرلائزیشن اسٹڈی اسکرپٹ فی-ٹاسک ECE، کراس-سیل-ٹائپ جنرلائزیشن گیپ اور ری کیلبریشن رپورٹس کو دوبارہ تیار کرتا ہے۔ ریپروڈیوسبل SVG فگرز ایک ڈیپینڈینسی-فری رینڈرر کے ذریعے تیار کیے جاتے ہیں۔ v0.1.0 روڈ میپ کے تمام پندرہ مراحل مکمل نشان زد ہیں (کور ٹائپس، جینوم ایکسیس، ڈیٹا رجسٹری، ویرینٹ ریزولور، آف-ٹارگٹ انجن، اسکورنگ/ماڈل زو، تین کیمسٹریز، ڈیزائنر، رپورٹنگ، CLI، ویب، بینچ مارک، دستاویزات)۔ v0.1.0 کے بعد v1.0 کی طرف بڑھنے والے کام جاری یا شروع نہیں ہوئے کے طور پر درج ہیں، بشمول حقیقی آرٹفیکٹ ہیشز کی پننگ اور ایک ویلیڈیشن/کیلبریشن اسٹڈی۔ ## انسٹالیشن کی شکل کور انسٹال جان بوجھ کر ہلکا رکھا گیا ہے (ٹائپڈ ماڈلز، کنفیگ، ماڈل کارڈ پارسنگ) جس میں `core`, `genome`, `variant`, `cli`, `web`, `ml`, `cas9-rs3`, `docs` اور `dev` کے لیے اختیاری اضافیات موجود ہیں۔ Python ≥ 3.11 درکار ہے۔ `variant` اضافیات کے لیے PostgreSQL کلائنٹ ہیڈرز کی ضرورت ہے کیونکہ `hgvs` کا انحصار `psycopg2` پر ہے؛ README میں ذکر ہے کہ اس کی وجہ سے پہلے ایک دستاویزی انسٹال کمانڈ چلانا ناممکن تھا۔ پروجیکٹ واضح طور پر بیان کرتا ہے کہ یہ ایک تحقیقی ٹول ہے، طبی آلہ (medical device) نہیں، اور آف-ٹارگٹ نامزدگیاں کمپیوٹیشنل ہیں اور انہیں تجرباتی طور پر تصدیق کیا جانا چاہیے۔