L5 · 24 دقيقة
SMILES وSMARTS وInChI
لغة الجزيء الخطية.
أهداف التعلّم
- قراءة وكتابة SMILES وفهم SMARTS كاستعلام بنيوي وInChI كمعرّف.
- اكتشاف كيف يُسقِط SMILES بلا stereo أو بلا شحنة نوعاً فيزيائياً يحتاجه الالتحام.
السلسلة ليست الجزيء، بل عقد
SMILES يصف طوبولوجيا: ذرات، روابط، حلقات، ويمكنه حمل @ و / و \ للشstereo، وأقواس للشحنة. SMARTS يصف نمطاً (مثل مانح H-bond) للبحث. InChI طبقات تُعيد ترتيب التمثيل لتقليل الغموض. خطأ واحد في نتروجين عطري يُغيّر tautomer والشحنة في صمت.
فخاخ السلسلة
- نتروجين عطري بلا H مقابل [nH]: tautomer.
- C[N+](C)(C)C مقابل CN(C)C: شحنة رباعية نُسيت.
- حلقات غير مغلقة أو أرقام حلقات معادة: جزيء مكسور.
- SMILES لـ racemate بلا @@: فقدان اليد.
from rdkit import Chem
mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")
Chem.MolToSmiles(mol, canonical=True)الغرض: تحليل SMILES للأسبرين كمثال تعليمي وإعادة كتابته بشكل قانوني.
المُدخل: سلسلة SMILES.
المُخرج: كائن جزيء ثم SMILES قانوني إن نجح التحليل.
المعنى: الفشل يعيد None: السلسلة ليست عقداً صالحاً. النجاح لا يعني البروتنة الفسيولوجية.
أخطاء شائعة: None أو تكافؤ خاطئ: تحقّق من الأقواس وأرقام الحلقات والشحنات.
لماذا؟ — لماذا لا يكفي InChIKey كمدخل تحام؟
المفتاح معرّف هاش، لا إحداثيات ولا حالة tautomer ثلاثية الأبعاد. تحتاج بنية (من SMILES أو molblock) ثم توليد 3D وبروتنة. المفتاح ممتاز لإزالة التكرار في المكتبة.
ماذا لو؟ — ماذا لو مرّرتَ مكتبة SMILES إلى docking دون أن تفحص MolFromSmiles is None؟
ستُسقط مركبات بصمت أو تُدخل هياكل مكسورة تُترجم إلى هندسة عبثية. سجّل فشل التحليل كخطوة QC إلزامية.
مواضيع مرتبطة