Birlik 2 / 11

Molekulyar vakillik va kimyoviy tuzilma: SMILES, InChI va RDKit bilan tekshirish

Daromadlar:

  • Molekulalarni nomi bo'yicha emas, balki tuzilish ko'rinishi bo'yicha aniqlash qobiliyati (odamlar bilan SMILES, ma'lumotlar bazasi bilan InChI/InChIKey)
  • RDKit bilan sun'iy intellekt tomonidan berilgan har bir SMILESni tahlil qilish, tasdiqlash va kanoniklashtirish orqali noto'g'ri yoki noto'g'ri tuzilmalarni aniqlash qobiliyati
  • Molekulyar og'irlik va formula kabi deterministik miqdorlarni til modelidan emas, balki qoidaga asoslangan vositadan olish kerakligini tushuna olish.

Kimyoda sun'iy intellektdan xavfsiz foydalanishning birinchi sharti molekulani mashina ham, inson ham tushunadigan tilda yozishdir. Siz "fenol" deysiz, AI buni to'g'ri tushunadi; ammo "kislota" deganda minglab imkoniyatlar mavjud. Ismlar noaniq; strukturaning tasvirlari aniq. Ushbu bo'limda biz molekulani matnga aylantiruvchi ikkita asosiy belgini (SMILES va InChI) va ularni deterministik tarzda tekshiradigan vositani (RDKit) o'rganamiz. Maqsadimiz: molekulani AIga u hech qachon noto'g'ri tushunmaydigan tarzda berish va AI tomonidan ishlab chiqarilgan strukturani asbob bilan tasdiqlash.

SMILES nima?

SMILES (Simplified Molecular-Input Line-Entry System) — matnning bir qatoriga molekula yozish formati. Atomlar harflar, bog'lanishlar belgilar va halqalar raqamlar bilan ifodalanadi. Misollar:

  • Etanol: CCO (uglerod-uglerod-kislorod; vodorodlar yashirin).
  • Benzol: c1ccccc1 ("c" kichik harf aromatik uglerodni bildiradi; 1 halqani yopadi).
  • Aspirin: CC(=O)Oc1cccc1C(=O)O.
  • Kofein: Cn1cnc2c1c(=O)n(C)c(=O)n2C.

SMILESning kuchi shundaki, u butun bog'lanish strukturasini bitta chiziqda olib yuradi; Uning zaif tomoni shundaki, bir xil molekula bir nechta haqiqiy SMILESga ega bo'lishi mumkin (bu kanonik bo'lmagan deb ataladi). Biz buni bir zumda RDKit bilan hal qilamiz.

Maslahat: Molekula uchun "kanonik TABASS" bu molekula uchun yagona, standart imlo. Ikki tabassum bir xil molekula ekanligini bilish uchun ularni kanoniklashtiring va solishtiring; Ular matn jihatidan teng bo'lmasligi kerak, lekin ular teng molekulalar bo'lishi kerak.

InChI nima?

InChI (Xalqaro kimyoviy identifikator) IUPAC tomonidan ishlab chiqilgan standart identifikatordir. SMILES dan farqi shundaki, bir xil molekula har doim bir xil InChI ni beradi; ya'ni tabiatan kanonikdir. U uzoq va o'qish qiyin, lekin ma'lumotlar bazasini moslashtirish uchun ideal. Qidiruv uchun qisqartirilgan "InChIKey" (27 belgidan iborat dayjest) ishlatiladi.

  • Aspirin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.

Qoida: Odamlar SMILES (o'qish) tilida gaplashadi, mashinalar va ma'lumotlar bazalari InChI/InChIKey (aniq). AIga tabassum bering; InChIKey bilan ma'lumotlar bazasida tasdiqlang.

RDKit: deterministik tekshirish mexanizmi

RDKit ochiq manbali kimyoformatik kutubxonadir. Til modelidan farqli o'laroq, u qoidalarga asoslangan: SMILESni tahlil qiladi, molekulyar og'irlikni hisoblaydi, kanonik SMILESni hosil qiladi, InChI/InChIKeyni qaytaradi, molekulani chizadi. Shunday qilib, RDKit AI "bashorat qilgan" narsani "hisoblaydi". Bu ish jarayonining yuragi: AI yaratadi, RDKit tekshiradi.

Asosiy tekshirish jarayoni:

from rdkit import Chemfrom rdkit.Chem import Deskriptorlar, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Molekulyar formula:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("Molekulyarlar),(M2) skript:",.MolWt "g/mol") print("InChIKey:", Chem.MolToInchiKey(mol))

Agar MolFromSmiles "Yo'q" ni qaytarsa, AI sizga yaroqsiz molekulani bergan; Faqat bu juda qimmatli ogohlantirishdir. Agar to'g'ri bo'lsa, endi molekulyar og'irlik uchun til modelidan so'rashingiz shart emas; Bu sizning qo'lingizda aniq.

Bosqichma-bosqich: AI + RDKit bilan o'zaro ishlash

  1. Molekulani aniqlang: AIga nom bering, SMILELAR so'rang. Masalan, "paratsetamol uchun kanonik SMILESni tekshiring."
  2. Tekshiring: MolFromSmiles bilan kiruvchi SMILESni tahlil qiling. Agar yo'q bo'lsa, rad eting.
  3. Kanoniklashtirish: MolToSmiles yordamida kanonik imloni oling; Bundan buyon har doim foydalaning.
  4. Raqamlarni hisoblang: molekulyar og'irlik, formula, halqalar soni, vodorod bog'lanish donorlari/akseptorlari sonini va hokazolarni AIdan emas, RDKit-dan oling.
  5. Fix ID: InChIKey-ni yarating, ma'lumotlar bazasida (PubChem) qidiring, molekula haqiqatan ham siz xohlagan birikma ekanligini tasdiqlang.

To'rt nusxa ko'chirish shablonlari

1) SMILES so'rash (otdan tuzilishga):

Vazifa: Quyidagi birikma uchun kanonik SMAILLARni bering. Murakkab: paratsetamol (asetaminofen). Qoida: Faqat SMILES satrini va InChIKeyni bering, boshqa tushuntirishlarni qo'shmang. Agar ishonchingiz komil bo'lmasa, "ISHONCHSIZ" deb yozing, tuzatmang.

2) SMILES tekshirish so'rovi (tuzilmadan boshqaruvga):

Quyidagi SMILESni tekshirib ko'ring: CC(=O)Nc1ccc(O)cc1Savollar:1) Bu to'g'ri SMILESmi?2) U qaysi birikmaga mos keladi (umumiy nom)?3) Molekulyar formula nima? Eslatma: Men RDKit yordamida aniq molekulyar og'irlikni hisoblayman; Siz shunchaki tuzilmangizni talqin qilasiz.

3) Ikki tasvirni solishtirish:

Menda ikkita tabassum bor:A) OCCB) CCOTTask: Bular bir xil molekulalarmi yoki boshqachami? Fikringizni yozing. Eslatma: Javobingizni RDKit-da kanoniklashtirish orqali o'zaro tekshiraman.

4) Strukturani tushuntirish (o'rganish uchun):

SMILYES: Cn1cnc2c1c(=O)n(C)c(=O)n2CTVazifa: Ushbu SMILYESni parcha-parcha o‘qing va har bir belgi (atom, bog‘, halqa, aromatiklik) nimani anglatishini oddiy turkchada tushuntiring. Qaysi birikma ekanligini ham ayting.

Zaif taklif / Kuchli taklif

Zaif:

Asetaminofenning xossalarini keltiring.

"Xususiyatlar" noaniq; AI molekulyar og'irlikdan erish nuqtasiga qadar tasodifiy sonlarni hosil qiladi, ularning ba'zilari noto'g'ri bo'ladi.

Kuchli:

Murakkab: asetaminofen.1) Kanonik SMILES va InChIKey ver.2) Molekulyar formulani keltiring. Qoida: molekulyar og'irlik, erish nuqtasi va boshqalar kabi SON qiymatlarni BERMANG; Men ularni RDKit/PubChem bilan olaman. Faqat qurilish identifikatorini bering.

Farq: Biz AIni kuchli bo'lgan narsaga (tuzilish identifikatori) va zaif bo'lgan narsaga (tajriba raqamlari) yo'naltirdik.

Taassurotlarni taqqoslash

xususiyat

TABASS

InChI / InChIKey

O'qish qobiliyati

Yuqori (odamlarga do'stona)

Past (mashinaga mos)

kanoniklik

O'zgartirish mumkin (kanonizatsiya kerak)

tabiiy ravishda yolg'iz

Foydalanish

insoniy muloqot, chizish, kiritish

Ma'lumotlar bazasi mosligi, identifikatsiya

stereokimyo

Qo'llab-quvvatlaydi (@ belgilari)

Qo'llab-quvvatlaydi (qatlamli)

AIga berish

ideal

Tasdiqlash uchun ideal

mini holatlar

1-holat - Ikki nom, bitta molekula. Talaba "N-asetil-para-aminofenol" va "paratsetamol" ni turli birikmalar deb o'yladi va ikkita alohida tajribani rejalashtirdi. RDKit-da o'zlarining SMILESlari kanoniklashtirilganda, ularning ikkalasi ham CC(=O)Nc1ccc(O)cc1 bo'lib chiqdi; Bu bir xil molekula edi. Yo'qotilgan: rejalashtirishning yarim kuni; daromad: 2 daqiqalik kanoniklashtirish tekshiruvi bilan oldini olish mumkin edi.

2-holat – SMILES tasviri noto‘g‘ri. AI variant uchun (qavslar yopilmagan) CC(=O)Nc1ccc(O)cc1C( ni qaytardi). Talaba MolFromSmiles dasturini ishga tushirdi, u Yo‘q deb qaytardi, darhol xatoni ko‘rdi va to‘g‘rilangan SMILESni so‘radi. Tekshiruvsiz noto‘g‘ri tuzilma barcha hisoblarga tarqalib ketgan bo‘lardi.

3-holat - noto'g'ri molekulyar og'irlik. YZ ibuprofen (C13H18O2) uchun "molekulyar og'irligi 214,3 g / mol" dedi. RDKit hisobi 206,28 g / molni berdi. 0,1 mol uchun farq: YZ bilan 21,43 g, aslida 20,63 g. Bu 3,9% farq stoxiometriya va hosilni hisoblashni buzadi. Bu deterministik hisobni keltirdi.

Umumiy xatolar

  • Molekulaning nomini berish. Sinonimlar/savdo nomlari chalkashib ketgan. Har doim SMILES yoki InChI ni qo'shing.
  • SMILESni kanoniklashtirmasdan solishtirish. OCC va CCO matnda farq qiladi, ammo molekulalarda bir xil.
  • Til modeliga molekulyar og'irlikni so'rash. Bu deterministik hisob; Bu RDKit-dan yoki formuladan qo'lda amalga oshiriladi.
  • Noto'g'ri SMILES sezilmayapti. MolFromSmiles None-ning qaytishini tekshirmaslik va noto'g'ri tuzilishda davom etish.
  • Stereokimyoni e'tiborsiz qoldirish. Ikki enantiomer (oyna tasviri izomerlari) turli xil biologik ta'sir ko'rsatishi mumkin; SMILES da @/@@ belgilari oʻtkazib yuborilmoqda.
Diqqat: Bir xil molekulyar formula turli molekulalarni anglatmaydi. C2H6O ham etanol (CCO) va dimetil efirdir (COC). Formulaning tengligi o'ziga xoslik tengligi emas; Identifikatsiya qilish uchun InChIKey-dan foydalaning.

Xulosa

  • Molekulalarni nomi bo'yicha emas, tuzilish belgilari bo'yicha aniqlang: SMILES inson bilan, InChI/InChIKey ma'lumotlar bazasi bilan.
  • RDKit deterministikdir; AI bashorat qiladi, RDKit hisoblaydi va tekshiradi.
  • MolFromSmiles yordamida har bir AI SMILESni tahlil qiling va Yo'q deb belgilang, so'ngra kanoniklashtiring.
  • Molekulyar ogʻirlik va formula kabi raqamlarni til modelidan emas, RDKit’dan oling.
  • Formulaning tengligi molekulyar o'ziga xoslikni anglatmaydi; Identifikatsiya qilish uchun InChIKey-dan foydalaning.

Ilova vazifasi

Uchta birikmani tanlang (masalan, kofein, ibuprofen, glitsin). AIdan har biri uchun kanonik tabassumlarni so'rang. Keyin RDKit skriptini yozing (yuqoridagi shablondan foydalaning) va yarating: kanonik SMILES, molekulyar formula, molekulyar og'irlik, InChIKey. AI tomonidan berilgan tabassumlarning nechtasi haqiqiy edi? Agar YZ molekulyar og'irlikni ham bergan bo'lsa, RDKit qiymati bilan farqni foiz sifatida hisoblang. Topilmalaringizni kichik jadvalga joylashtiring.

nazorat ro'yxati

  • [ ] Men SMILES va InChI/InChIKey nima ekanligini va ulardan qachon foydalanishni bilaman.
  • [ ] Men MolFromSmiles bilan sun'iy intellekt tomonidan berilgan har bir SMAILLARni tasdiqlayman.
  • [ ] Men ularni solishtirishdan oldin SMILESni kanoniklashtiraman.
  • [ ] Men molekulyar ogʻirlik va formulani til modelidan emas, RDKit’dan olaman.
  • [ ] InChIKey bilan maʼlumotlar bazasidagi molekula identifikatorini tasdiqlayman.
  • [ ] Men stereokimyo muhim bo'lgan vaziyatlarni bilaman.