Qazanclar:
- Molekulları adla deyil, struktur təmsili ilə müəyyən etmək bacarığı (insanlarla SMILES, verilənlər bazası ilə InChI/InChIKey)
- RDKit ilə süni intellekt tərəfindən verilən hər bir SMILES-i təhlil etmək, təsdiqləmək və kanonikləşdirmək yolu ilə etibarsız və ya yanlış strukturları aşkar etmək imkanı
- Molekulyar çəki və düstur kimi deterministik kəmiyyətlərin dil modelindən deyil, qaydaya əsaslanan alətdən alınmalı olduğunu başa düşmək.
Kimyada süni intellektdən təhlükəsiz istifadənin ilk şərti molekulun həm maşının, həm də insanın anlaya biləcəyi dildə yazılmasıdır. Siz "fenol" deyirsiniz, AI bunu düzgün başa düşür; amma "turşu" deyəndə minlərlə ehtimal var. Adlar birmənalı deyil; struktur təsvirləri dəqiqdir. Bu bölmədə biz molekulu mətnə çevirən iki əsas qeydi (SMILES və InChI) və onları deterministik şəkildə yoxlayan aləti (RDKit) öyrənəcəyik. Məqsədimiz: molekulu heç vaxt səhv başa düşməyəcək şəkildə süni intellektə vermək və süni intellektin yaratdığı quruluşu alətlə təsdiqləmək.
SMILES nədir?
SMILES (Simplified Molecular-Input Line-Entry System) bir mətn sətirində molekulun yazılması formatıdır. Atomlar hərflərlə, bağlar simvollarla, üzüklər isə rəqəmlərlə təmsil olunur. Nümunələr:
- Etanol: CCO (karbon-karbon-oksigen; hidrogenlər gizli).
- Benzol: c1ccccc1 (kiçik "c" aromatik karbonu göstərir; 1 halqanı bağlayır).
- Aspirin: CC(=O)Oc1ccccc1C(=O)O.
- Kofein: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
SMILES-in gücü ondan ibarətdir ki, o, bütün link strukturunu bir xəttdə daşıyır; Onun zəif tərəfi ondan ibarətdir ki, eyni molekulun bir neçə etibarlı GÜLMƏSİ ola bilər (buna qeyri-kanoniklik deyilir). Bunu RDKit ilə bir azdan həll edəcəyik.
İpucu: Bir molekul üçün "kanonik GÜLÜŞƏMƏLƏR" həmin molekul üçün vahid, standart yazımdır. İki SMILE-nin eyni molekul olub olmadığını görmək üçün onları kanonikləşdirin və müqayisə edin; Onlar mətn baxımından bərabər olmamalıdır, lakin bərabər molekullar olmalıdır.
InChI nədir?
InChI (Beynəlxalq Kimyəvi İdentifikator) IUPAC tərəfindən hazırlanmış standart identifikatordur. SMILES-dən fərq ondan ibarətdir ki, eyni molekul həmişə eyni InChI verir; yəni kanonik xarakter daşıyır. Uzun və oxumaq çətindir, lakin verilənlər bazası uyğunluğu üçün idealdır. Axtarış üçün qısaldılmış "InChIKey" (27 simvoldan ibarət digest) istifadə olunur.
- Aspirin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Qayda: İnsanlar SMILES danışır (oxu), maşınlar və verilənlər bazası InChI/InChIKey (dəqiq) ilə uyğun gəlir. AI-yə təbəssümlər verin; InChIKey ilə verilənlər bazasında təsdiqləyin.
RDKit: deterministik yoxlama mühərriki
RDKit açıq mənbəli kimyaformatik kitabxanadır. Dil modelindən fərqli olaraq, o, qaydalara əsaslanır: SMILES-i təhlil edir, molekulyar çəkisini hesablayır, kanonik SMILES yaradır, InChI/InChIKey-i qaytarır, molekulu çəkir. Beləliklə, RDKit süni intellektin "proqnozlaşdırdığını" "hesablayır". Bu iş axınının ürəyidir: AI yaradır, RDKit yoxlayır.
Əsas yoxlama axını:
from rdkit import Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Molecular formula:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("),(Molecular weight),(M2t) print "g/mol") çap ("InChIKey:", Chem.MolToInchiKey(mol))
MolFromSmiles Yox cavabını verirsə, AI sizə etibarsız molekul verib; Təkcə bu çox dəyərli xəbərdarlıqdır. Etibarlıdırsa, artıq molekulyar çəki üçün dil modelindən soruşmağa ehtiyac yoxdur; Mütləq sizin əlinizdədir.
Addım-addım: AI + RDKit qarşılıqlı əlaqəsi
- Molekulu müəyyən edin: AI-yə ad verin, SMILES-i soruşun. Məsələn, "parasetamol üçün kanonik SMILES-i yoxlayın."
- Doğrulayın: MolFromSmiles ilə daxil olan SMILES-ləri təhlil edin. Yoxdursa, rədd edin.
- Canonicalize: MolToSmiles ilə kanonik orfoqrafiyanı əldə edin; Bundan sonra həmişə bundan istifadə edin.
- Nömrələri hesablayın: AI-dən deyil, RDKit-dən molekulyar çəki, düstur, halqaların sayını, hidrogen bağı donorlarının/qəbuledicilərinin sayını və s. alın.
- Fix ID: InChIKey yaradın, verilənlər bazasında (PubChem) axtarın, molekulun həqiqətən istədiyiniz birləşmə olduğunu təsdiqləyin.
Dörd kopyalana bilən şablon
1) Təbəssüm tələb etmək (isimdən quruluşa):
Tapşırıq: Aşağıdakı birləşmə üçün kanonik GÜLÜŞMƏLƏRİ verin. Qarışıq: parasetamol (asetaminofen). Qayda: Yalnız SMILES sətri və InChIKey verin, əlavə izahat əlavə etməyin. Əmin deyilsinizsə "Əmin deyilsiniz" yazın, düzəltməyin.
2) SMILES doğrulama sorğusu (strukturdan nəzarətə):
Aşağıdakı GÜLÜŞMƏLƏRİ nəzərdən keçirin: CC(=O)Nc1ccc(O)cc1Suallar:1) Bu etibarlı GÜLÜMƏDİR?2) O hansı birləşməyə uyğundur (ümumi ad)?3) Molekulyar düstur nədir?Qeyd: RDKit ilə dəqiq molekulyar çəki hesablayacağam; Siz sadəcə öz quruluşunuzu şərh edirsiniz.
3) İki təmsilin müqayisəsi:
Mənim iki GÜLÜŞÜM var:A) OCCB) CCOTask: Bunlar eyni molekuldur yoxsa fərqlidir? Məntiqinizi yazın. Qeyd: Cavabınızı RDKit-də kanonikləşdirməklə çarpaz yoxlayacağam.
4) Struktur izahı (öyrənmə məqsədləri üçün):
GÜLÜŞMƏLƏR: Cn1cnc2c1c(=O)n(C)c(=O)n2CTapşırıq: Bu GÜLÜŞÜMÜ parça-parça oxuyun və hər bir simvolun (atom, bağ, üzük, aromatiklik) nə demək olduğunu sadə türkcə izah edin. Onun hansı birləşmə olduğunu da söyləyin.
Zəif məlumat / Güclü göstəriş
Zəif:
Asetaminofenin xüsusiyyətlərini verin.
"Xüsusiyyət" qeyri-müəyyəndir; Süni intellekt molekulyar çəkidən ərimə nöqtəsinə qədər təsadüfi ədədlər yaradır, bəziləri səhv olacaq.
Güclü:
Mürəkkəb: asetaminofen.1) Canonical SMILES və InChIKey ver.2) Molekulyar düsturları verin.Qayda: Molekulyar çəki, ərimə nöqtəsi və s. kimi rəqəmləri VERMƏYİN; Mən onları RDKit/PubChem ilə əldə edəcəm. Sadəcə tikinti ID-ni verin.
Fərq: Biz süni intellektni güclü olduğu şeyə (struktur eyniliyi) və zəif olandan (eksperimental ədədlər) uzaqlaşdırdıq.
Təəssüratların müqayisəsi
xüsusiyyət
GÜLÜŞÜM
InChI / InChIKey
Oxuma qabiliyyəti
Yüksək (insanlara uyğun)
Aşağı (maşına uyğun)
kanoniklik
Dəyişdirilə bilər (kanonizasiya tələb olunur)
təbii olaraq subay
İstifadəsi
insan ünsiyyəti, rəsm, giriş
Verilənlər bazası uyğunluğu, şəxsiyyət
stereokimya
Dəstəkləyir (@ simvolları)
Dəstəklər (laylı)
AI-yə vermək
ideal
Təsdiq üçün idealdır
mini hallar
Məsələn 1 - İki ad, bir molekul. Bir tələbə "N-asetil-para-aminofenol" və "parasetamol"un fərqli birləşmələr olduğunu düşünərək iki ayrı təcrübə planlaşdırdı. RDKit-də SMILES-lərini kanonikləşdirdikdə, onların hər ikisi CC(=O)Nc1ccc(O)cc1 oldu; Eyni molekul idi. İtirilmiş: yarım gün planlaşdırma; qazanc: 2 dəqiqəlik kanonikləşdirmə yoxlaması ilə qarşısını almaq olardı.
Case 2 — Etibarsız SMILES çəkilişi. Süni intellekt variant üçün CC(=O)Nc1ccc(O)cc1C() qaytardı (mötərizələr bağlanmayıb). Tələbə MolFromSmiles-ı işə saldı, o, Yox cavabını verdi, dərhal xətanı gördü və düzəldilmiş SMILES tələb etdi. Doğrulama olmasaydı, səhv struktur bütün hesablara yayılacaqdı.
3-cü hal – Yanlış molekulyar çəki. YZ ibuprofen (C13H18O2) üçün "molekulyar çəki 214.3 q/mol" dedi. RDKit hesablanması 206,28 q/mol verdi. 0,1 mol üçün fərq: YZ ilə 21,43 q, əslində 20,63 q. Bu 3,9% fərq stokiometriyanı və məhsulun hesablanmasını pozar. Bu, deterministik hesablama gətirdi.
Ümumi səhvlər
- Molekulun adının verilməsi. Sinonimlər/ticarət adları qarışıqdır. Həmişə SMILES və ya InChI daxil edin.
- SMILES-i kanonikləşdirmədən müqayisə etmək. OCC və CCO mətndə fərqlidir, lakin molekullarda eynidir.
- Dil modelinə molekulyar çəki soruşmaq. Bu deterministik hesablamadır; RDKit-dən və ya düsturdan əl ilə edilir.
- Etibarsız GÜLÜŞMƏLƏRİ fərq etməmək. MolFromSmiles None-un qaytarılmasını yoxlamaq və yanlış strukturla davam etmək.
- Stereokimyaya məhəl qoymamaq. İki enantiomer (güzgü təsviri izomerləri) müxtəlif bioloji təsirlər göstərə bilər; SMILES-də @/@@ işarələrinin atlanması.
Diqqət: Eyni molekulyar formula fərqli molekullar demək deyil. C2H6O həm etanol (CCO), həm də dimetil efirdir (COC). Düsturun bərabərliyi eynilik bərabərliyi deyil; İdentifikasiya üçün InChIKey istifadə edin.
Xülasə
- Molekulları adla deyil, struktur notasiyası ilə müəyyən edin: insanla SMILES, verilənlər bazası ilə InChI/InChIKey.
- RDKit deterministikdir; AI proqnozlaşdırır, RDKit hesablayır və yoxlayır.
- MolFromSmiles ilə hər bir AI SMILES-i təhlil edin və Heç birini yoxlayın, sonra kanonikləşdirin.
- Molekulyar çəki və formula kimi rəqəmləri dil modelindən deyil, RDKit-dən əldə edin.
- Formula bərabərliyi molekulyar eynilik demək deyil; İdentifikasiya üçün InChIKey istifadə edin.
Tətbiq tapşırığı
Üç birləşmə seçin (məsələn, kofein, ibuprofen, glisin). Süni intellektdən hər biri üçün kanonik GÜLÜŞMƏLƏR üçün soruşun. Sonra RDKit skripti yazın (yuxarıdakı şablondan istifadə edin) və yaradın: kanonik SMILES, molekulyar formula, molekulyar çəki, InChIKey. Süni intellekt tərəfindən verilən təbəssümlərdən neçəsi etibarlı idi? YZ də molekulyar çəki veribsə, RDKit dəyəri ilə fərqi faizlə hesablayın. Tapıntılarınızı kiçik bir cədvəldə tərtib edin.
yoxlama siyahısı
- [ ] Mən SMILES və InChI/InChIKey-in nə olduğunu və onlardan nə vaxt istifadə edəcəyimi bilirəm.
- [ ] Mən MolFromSmiles ilə süni intellekt tərəfindən verilən hər GÜLÜŞÜMÜ yoxlayıram.
- [ ] Mən SMILES-i müqayisə etməzdən əvvəl onları kanonikləşdirirəm.
- [ ] Mən molekulyar çəki və formulanı dil modelindən deyil, RDKit-dən alıram.
- [ ] InChIKey ilə verilənlər bazasında molekulun eyniliyini təsdiq edirəm.
- [ ] Mən stereokimyanın vacib olduğu vəziyyətləri bilirəm.