فائدہ:
- مالیکیولز کو نام سے نہیں بلکہ ساخت کی نمائندگی سے پہچاننے کی صلاحیت (انسانوں کے ساتھ مسکراہٹ، ڈیٹا بیس کے ساتھ InChI/InChIKey)
- RDKit کے ساتھ مصنوعی ذہانت کے ذریعے دی گئی ہر مسکراہٹ کو پارس، توثیق اور کینونیکلائز کرکے غلط یا غلط ڈھانچے کا پتہ لگانے کی صلاحیت
- یہ سمجھنے کے قابل ہونا کہ مالیکیولر وزن اور فارمولہ جیسی تعییناتی مقداریں قاعدہ پر مبنی ٹول سے حاصل کی جانی چاہئیں، زبان کے ماڈل سے نہیں۔
کیمسٹری میں AI کو محفوظ طریقے سے استعمال کرنے کی پہلی شرط یہ ہے کہ مالیکیول کو ایسی زبان میں لکھیں جسے مشین اور انسان دونوں سمجھ سکیں۔ آپ کہتے ہیں "فینول"، AI صحیح ہو جاتا ہے؛ لیکن جب آپ "تیزاب" کہتے ہیں تو ہزاروں امکانات ہوتے ہیں۔ نام مبہم ہیں؛ ساخت کی نمائندگی عین مطابق ہے. اس یونٹ میں، ہم دو بنیادی اشارے سیکھیں گے جو مالیکیول کو ٹیکسٹ میں ترجمہ کرتے ہیں (SMILES اور InChI) اور وہ ٹول جو ان کی تصدیقی طور پر تصدیق کرتا ہے (RDKit)۔ ہمارا مقصد: AI کو مالیکیول کو اس طرح دینا کہ اسے کبھی غلط فہمی نہ ہو، اور ایک ٹول کے ذریعے AI کی طرف سے تیار کردہ ساخت کی تصدیق کرنا۔
مسکراہٹ کیا ہے؟
سمائلس (آسان مالیکیولر-ان پٹ لائن-انٹری سسٹم) متن کی ایک لائن میں مالیکیول لکھنے کا ایک فارمیٹ ہے۔ ایٹموں کی نمائندگی حروف کے ذریعے، علامتوں کے ذریعے بانڈز، اور نمبروں کے ذریعے حلقوں کے ذریعے کی جاتی ہے۔ مثالیں:
- ایتھنول: سی سی او (کاربن – کاربن – آکسیجن؛ ہائیڈروجن مضمر)۔
- بینزین: c1ccccc1 (چھوٹا "c" خوشبو دار کاربن کی نشاندہی کرتا ہے؛ 1 انگوٹھی کے قریب ہے)۔
- اسپرین: CC(=O)Oc1cccc1C(=O)O
- کیفین: Cn1cnc2c1c(=O)n(C)c(=O)n2C۔
SMILES کی طاقت یہ ہے کہ یہ پورے لنک ڈھانچے کو ایک لائن میں لے جاتی ہے۔ اس کی کمزوری یہ ہے کہ ایک ہی مالیکیول میں ایک سے زیادہ درست SMILES ہو سکتے ہیں (اسے غیر اصولی کہا جاتا ہے)۔ ہم اسے ایک لمحے میں RDKit کے ساتھ حل کریں گے۔
اشارہ: ایک مالیکیول کے لیے "کیننیکل SMILES" اس مالیکیول کے لیے واحد، معیاری ہجے ہے۔ یہ دیکھنے کے لیے کہ آیا دو مسکراہٹ ایک ہی مالیکیول ہیں، کینونیکلائز کریں اور ان کا موازنہ کریں۔ وہ متنی طور پر مساوی نہیں ہونا چاہئے، لیکن وہ برابر مالیکیول ہونے چاہئیں۔
InChI کیا ہے؟
InChI (بین الاقوامی کیمیائی شناخت کنندہ) ایک معیاری شناخت کنندہ ہے جسے IUPAC نے تیار کیا ہے۔ SMILES سے فرق یہ ہے کہ ایک ہی مالیکیول ہمیشہ ایک ہی InChI دیتا ہے۔ یعنی یہ فطرت میں کینونیکل ہے۔ یہ لمبا اور پڑھنا مشکل ہے، لیکن ڈیٹا بیس کے ملاپ کے لیے مثالی ہے۔ تلاش کے لیے مختصراً "InChIKey" (27 حروف کا ڈائجسٹ) استعمال کیا جاتا ہے۔
- ایسپرین InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N۔
اصول: لوگ SMILES بولتے ہیں (پڑھیں)، مشینیں اور ڈیٹا بیس InChI/InChIKey (بالکل) سے مماثل ہیں۔ اے آئی کو مسکراہٹیں دیں؛ InChIKey کے ساتھ ڈیٹا بیس میں تصدیق کریں۔
RDKit: ڈیٹرمنسٹک تصدیقی انجن
RDKit ایک اوپن سورس کیمنفارمیٹکس لائبریری ہے۔ زبان کے ماڈل کے برعکس، یہ اصول پر مبنی ہے: SMILES کو پارس کرتا ہے، مالیکیولر وزن کا حساب لگاتا ہے، کینونیکل SMILES تیار کرتا ہے، InChI/InChIKey لوٹاتا ہے، مالیکیول کھینچتا ہے۔ لہذا RDKit "حساب" کرتا ہے کہ AI "پیش گوئی" کیا کرتا ہے۔ یہ ورک فلو کا مرکز ہے: AI پیدا کرتا ہے، RDKit تصدیق کرتا ہے۔
ایک بنیادی تصدیقی بہاؤ:
rdkit import Chemfrom rdkit.Chem امپورٹ ڈسکرپٹرز، ڈراسمائلز = "CC(=O)Oc1cccc1C(=O)O" Chem.MolToSmiles(mol)) پرنٹ ("سالماتی فارمولا:"، Chem.rdMolDescriptors.CalcMolFormula:"وزن (Momol)) round(Descriptors.MolWt(mol), 2), "g/mol") پرنٹ("InChIKey:", Chem.MolToInchiKey(mol))
اگر MolFromSmiles کوئی نہیں لوٹاتا ہے، تو AI نے آپ کو ایک غلط مالیکیول دیا ہے۔ یہ اکیلے ایک بہت قیمتی انتباہ ہے. اگر درست ہے، تو آپ کو سالماتی وزن کے لیے زبان کے ماڈل سے پوچھنے کی ضرورت نہیں ہے۔ یہ فیصلہ کن طور پر آپ کے ہاتھ میں ہے۔
مرحلہ وار: AI + RDKit انٹرآپریشن
- مالیکیول کی شناخت کریں: AI کو نام دیں، مسکراہٹ کے لیے پوچھیں۔ مثال کے طور پر، "پیراسیٹامول کے لیے کینونیکل مسکراہٹ کی تصدیق کریں۔"
- تصدیق کریں: آنے والی مسکراہٹوں کو MolFromSmiles کے ساتھ پارس کریں۔ اگر کوئی نہیں تو مسترد کر دیں۔
- Canonicalize: MolToSmiles کے ساتھ کینونیکل ہجے کی بازیافت کریں۔ اسے اب سے ہمیشہ استعمال کریں۔
- نمبروں کا حساب لگائیں: مالیکیولر ویٹ، فارمولہ، انگوٹھیوں کی تعداد، ہائیڈروجن بانڈ ڈونرز/قبول کرنے والوں کی تعداد وغیرہ RDKit سے حاصل کریں، AI سے نہیں۔
- آئی ڈی درست کریں: InChIKey بنائیں، ڈیٹا بیس (PubChem) میں تلاش کریں، تصدیق کریں کہ مالیکیول واقعی وہ مرکب ہے جو آپ چاہتے ہیں۔
چار کاپی کرنے کے قابل ٹیمپلیٹس
1) مسکراہٹ کی درخواست کرنا (اسم سے ساخت تک):
ٹاسک: درج ذیل کمپاؤنڈ کے لیے کینونیکل مسکراہٹیں دیں۔ مرکب: پیراسیٹامول (ایسیٹامنفین)۔ اصول: صرف SMILES سٹرنگ اور InChIKey دیں، مزید کوئی وضاحت شامل نہ کریں۔ اگر آپ کو یقین نہیں ہے تو، "UNSURE" لکھیں، قضاء نہ کریں۔
2) مسکراہٹ کی توثیق کی درخواست (سٹرکچر سے کنٹرول تک):
ذیل میں مسکراہٹوں کا جائزہ لیں: CC(=O)Nc1ccc(O)cc1 سوالات:1) کیا یہ درست سمائلز ہے؟ 2) یہ کس مرکب سے مطابقت رکھتا ہے (عام نام)؟ 3) مالیکیولر فارمولا کیا ہے؟ نوٹ: میں RDKit کے ساتھ عین مالیکیولر وزن کا حساب لگاؤں گا؛ آپ صرف اپنی ساخت کی تشریح دیں۔
3) دو نمائندگیوں کا موازنہ:
میرے پاس دو مسکراہٹیں ہیں: A) OCCB) CCOTask: کیا یہ ایک ہی مالیکیول ہیں یا مختلف؟ اپنا استدلال لکھیں۔ نوٹ: میں آپ کے جواب کو RDKit میں کینونیکلائز کر کے کراس چیک کروں گا۔
4) ساخت کی وضاحت (سیکھنے کے مقاصد کے لیے):
مسکراہٹیں: Cn1cnc2c1c(=O)n(C)c(=O)n2CTask: اس SMILES کو ٹکڑے ٹکڑے کرکے پڑھیں اور واضح کریں کہ سادہ ترکی میں ہر علامت (ایٹم، بانڈ، رنگ، خوشبو) کا کیا مطلب ہے۔ یہ بھی بتائیں کہ یہ کون سا مرکب ہے۔
کمزور فوری / مضبوط اشارہ
کمزور:
ایسیٹامنفین کی خصوصیات بتائیں۔
"خصوصیت" مبہم ہے؛ AI مالیکیولر وزن سے پگھلنے کے نقطہ تک بے ترتیب نمبر تیار کرتا ہے، جن میں سے کچھ غلط ہوں گے۔
مضبوط:
کمپاؤنڈ: acetaminophen.1) Canonical SMILES اور InChIKey ver.2) مالیکیولر فارمولا دیں۔ اصول: عددی قدریں نہ دیں جیسے سالماتی وزن، پگھلنے کا نقطہ، وغیرہ۔ میں انہیں RDKit/PubChem کے ساتھ حاصل کروں گا۔ بس بلڈ آئی ڈی دیں۔
فرق: ہم نے AI کو اس کی طرف ہدایت کی کہ یہ کس چیز پر مضبوط ہے (ساخت کی شناخت) اور اس سے دور ہے جس پر یہ کمزور ہے (تجرباتی نمبر)۔
نقوش کا موازنہ
خصوصیت
مسکراہٹیں
InChI / InChIKey
پڑھنے کی اہلیت
اعلیٰ (لوگ دوست)
کم (مشین دوستانہ)
اصول پسندی
تبدیلی کے تابع (کیننائزیشن کی ضرورت ہے)
قدرتی طور پر اکیلا
استعمال
انسانی مواصلات، ڈرائنگ، ان پٹ
ڈیٹا بیس میچ، شناخت
سٹیریو کیمسٹری
سپورٹ کرتا ہے (@ علامتیں)
سپورٹ کرتا ہے (پرتوں والا)
AI کو دینے کے لیے
مثالی
تصدیق کے لیے مثالی۔
چھوٹے مقدمات
کیس 1 - دو نام، ایک مالیکیول۔ ایک طالب علم نے سوچا کہ "N-acetyl-para-aminophenol" اور "paracetamol" مختلف مرکبات ہیں اور اس نے دو الگ الگ تجربات کی منصوبہ بندی کی۔ جب RDKit میں اپنی مسکراہٹوں کو کینونیکلائز کیا گیا تو وہ دونوں CC(=O)Nc1ccc(O)cc1 نکلے؛ یہ وہی مالیکیول تھا۔ ضائع: منصوبہ بندی کا آدھا دن؛ فائدہ: 2 منٹ کی کینونیکلائزیشن چیک سے بچا جا سکتا تھا۔
کیس 2 - غلط سمائل کیپچر۔ AI نے CC(=O)Nc1ccc(O)cc1C( ایک متغیر (بریکٹ بند نہیں) کے لیے واپس کیا۔ طالب علم نے MolFromSmiles چلایا، اس نے کوئی نہیں واپس کیا، فوری طور پر خرابی دیکھی اور سمائلس کو درست کرنے کی درخواست کی۔ تصدیق کے بغیر، ناقص ڈھانچہ تمام اکاؤنٹس میں پھیل چکا ہوتا۔
کیس 3 - غلط سالماتی وزن۔ YZ نے ibuprofen (C13H18O2) کے لیے "سالماتی وزن 214.3 g/mol" کہا۔ RDKit کیلکولیشن نے 206.28 g/mol دیا ہے۔ 0.1 مول کے لیے فرق: YZ کے ساتھ 21.43 جی، اصل میں 20.63 جی۔ 3.9% کا یہ فرق stoichiometry اور پیداوار کے حساب کتاب میں خلل ڈالے گا۔ یہ تعییناتی کیلکولس لایا۔
عام غلطیاں
- نام سے مالیکیول دینا۔ مترادفات/تجارتی نام الجھے ہوئے ہیں۔ ہمیشہ SMILES یا InChI شامل کریں۔
- SMILES کو کینونیکلائز کیے بغیر اس کا موازنہ کرنا۔ OCC اور CCO متن میں مختلف ہیں لیکن مالیکیولز میں ایک جیسے ہیں۔
- زبان کے ماڈل سے مالیکیولر وزن پوچھنا۔ یہ ایک تعییناتی حساب ہے؛ یہ RDKit سے یا فارمولے سے دستی طور پر کیا جاتا ہے۔
- غلط مسکراہٹوں کو نہیں دیکھ رہا ہے۔ MolFromSmiles None کی واپسی کی جانچ نہ کرنا اور غلط ڈھانچے کے ساتھ جاری رکھنا۔
- سٹیریو کیمسٹری کو نظر انداز کرنا۔ دو enantiomers (آئینے کی تصویر isomers) مختلف حیاتیاتی اثرات کی نمائش کر سکتے ہیں؛ SMILES میں @/@@ نشانات کو چھوڑنا۔
توجہ: ایک ہی مالیکیولر فارمولے کا مطلب مختلف مالیکیول نہیں ہے۔ C2H6O دونوں ایتھنول (CCO) اور ڈائمتھائل ایتھر (COC) ہیں۔ فارمولے کی مساوات شناخت کی مساوات نہیں ہے۔ شناخت کے لیے InChIKey استعمال کریں۔
خلاصہ میں
- مالیکیولز کی شناخت ساخت کے اشارے سے کریں، نام سے نہیں: انسان کے ساتھ مسکراہٹ، ڈیٹا بیس کے ساتھ InChI/InChIKey۔
- RDKit فیصلہ کن ہے؛ AI پیش گوئی کرتا ہے، RDKit حساب لگاتا ہے اور تصدیق کرتا ہے۔
- MolFromSmiles کے ساتھ ہر AI SMILES کو پارس کریں اور None کو چیک کریں، پھر کینونیکلائز کریں۔
- RDKit سے مالیکیولر وزن اور فارمولہ جیسے نمبر حاصل کریں، زبان کے ماڈل سے نہیں۔
- فارمولہ مساوات کا مطلب مالیکیولر شناخت نہیں ہے۔ شناخت کے لیے InChIKey استعمال کریں۔
درخواست کا کام
تین مرکبات کا انتخاب کریں (جیسے کیفین، آئبوپروفین، گلائسین)۔ ہر ایک کے لیے کیننیکل مسکراہٹ کے لیے AI سے پوچھیں۔ پھر ایک RDKit اسکرپٹ لکھیں (اوپر کا ٹیمپلیٹ استعمال کریں) اور تخلیق کریں: کینونیکل SMILES، مالیکیولر فارمولہ، سالماتی وزن، InChIKey۔ AI کی طرف سے دی گئی مسکراہٹوں میں سے کتنی درست تھیں؟ اگر YZ نے مالیکیولر وزن بھی دیا ہے، تو RDKit قدر کے ساتھ فیصد کے طور پر فرق کا حساب لگائیں۔ اپنے نتائج کو ایک چھوٹی سی میز میں پلاٹ کریں۔
چیک لسٹ
- [ ] میں جانتا ہوں کہ SMILES اور InChI/InChIKey کیا ہیں اور انہیں کب استعمال کرنا ہے۔
- [ ] میں AI کی طرف سے دی گئی ہر مسکراہٹ کی تصدیق MolFromSmiles سے کرتا ہوں۔
- [ ] میں ان کا موازنہ کرنے سے پہلے مسکراہٹوں کو کینونیکلائز کرتا ہوں۔
- میں RDKit سے مالیکیولر وزن اور فارمولہ حاصل کر رہا ہوں، زبان کے ماڈل سے نہیں۔
- میں InChIKey کے ساتھ ڈیٹا بیس میں مالیکیول کی شناخت کی تصدیق کرتا ہوں۔
- میں ایسے حالات جانتا ہوں جہاں سٹیریو کیمسٹری اہم ہے۔