zisky:
- Schopnosť identifikovať molekuly nie podľa názvu, ale podľa reprezentácie štruktúry (SMILES s ľuďmi, InChI/InChIKey s databázou)
- Schopnosť odhaliť neplatné alebo nesprávne štruktúry analýzou, overením a kanonizáciou každého SMILES poskytnutého umelou inteligenciou pomocou RDKit
- Byť schopný pochopiť, že deterministické veličiny, ako je molekulová hmotnosť a vzorec, by sa mali získať z nástroja založeného na pravidlách, nie z jazykového modelu.
Prvou podmienkou bezpečného používania AI v chémii je napísať molekulu v jazyku, ktorému rozumie stroj aj človek. Poviete „fenol“, AI to má správne; ale ked sa povie "kyselina" su tisice moznosti. Názvy sú nejednoznačné; reprezentácie štruktúry sú presné. V tomto celku sa naučíme dva základné zápisy, ktoré prekladajú molekulu do textu (SMILES a InChI) a nástroj, ktorý ich deterministicky overuje (RDKit). Náš cieľ: dať molekulu AI spôsobom, ktorý nikdy nepochopí, a pomocou nástroja potvrdiť štruktúru produkovanú AI.
Čo je SMILES?
SMILES (Simplified Molecular-Input Line-Entry System) je formát zápisu molekuly do jedného riadku textu. Atómy sú reprezentované písmenami, väzby symbolmi a kruhy číslami. Príklady:
- Etanol: CCO (uhlík-uhlík-kyslík; implicitne vodíky).
- Benzén: c1cccc1 (malé písmeno „c“ označuje aromatický uhlík; 1 uzatvára kruh).
- Aspirín: CC(=O)Oc1cccccc1C(=O)O.
- Kofeín: Cn1cnc2clc(=0)n(C)c(=0)n2C.
Sila SMILES je v tom, že nesie celú štruktúru odkazov v jednom riadku; Jeho slabinou je, že tá istá molekula môže mať viacero platných SMILES (toto sa nazýva nekanonickosť). O chvíľu to vyriešime s RDKit.
Tip: „Kanonický SMILES“ pre molekulu je jediný štandardný pravopis pre túto molekulu. Ak chcete zistiť, či sú dva SMILES rovnaké molekuly, kanonizujte ich a porovnajte ich; Nemali by byť textovo rovnaké, ale mali by to byť rovnaké molekuly.
čo je InChI?
InChI (International Chemical Identifier) je štandardný identifikátor vyvinutý IUPAC. Rozdiel oproti SMILES je v tom, že tá istá molekula dáva vždy rovnaký InChI; to znamená, že má kánonickú povahu. Je dlhý a ťažko čitateľný, ale je ideálny na porovnávanie databáz. Na vyhľadávanie sa používa skratka „InChIKey“ (27-znakový súhrn).
- Aspirín InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Pravidlo: Ľudia hovoria SMILES (čítajú), stroje a databázy zodpovedajú InChI/InChIKey (presne). Venujte AI SMILES; Potvrďte v databáze pomocou InChIKey.
RDKit: deterministický overovací mechanizmus
RDKit je open source cheminformatická knižnica. Na rozdiel od jazykového modelu je založený na pravidlách: analyzuje SMILES, vypočítava molekulovú hmotnosť, generuje kanonické SMILES, vracia InChI/InChIKey, kreslí molekulu. RDKit teda „vypočítava“, čo AI „predpovedá“. Toto je srdce pracovného toku: AI generuje, RDKit overuje.
Základný postup overenia:
from rdkit import Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Molekulový vzorec:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("Molekulárna hmotnosť:/mol"2) ,Descriptors./mol. print("InChIKey:", Chem.MolToInchiKey(mol))
Ak MolFromSmiles vráti None, AI vám dala neplatnú molekulu; Už len toto je veľmi cenné varovanie. Ak je to platné, už nemusíte žiadať od jazykového modelu molekulovú hmotnosť; Je to vo vašich rukách deterministicky.
Krok za krokom: Interoperabilita AI + RDKit
- Identifikujte molekulu: Pomenujte AI, požiadajte o SMILES. Napríklad "overiť kanonické SMILES pre paracetamol."
- Overenie: Analyzujte prichádzajúce SMILES pomocou MolFromSmiles. Ak Žiadne, odmietnite.
- Canonicalize: Získajte kanonický pravopis pomocou MolToSmiles; Odteraz to vždy používajte.
- Vypočítajte čísla: Získajte molekulovú hmotnosť, vzorec, počet kruhov, počet donorov/akceptorov vodíkových väzieb atď. z RDKit, nie z AI.
- Oprava ID: Vygenerujte InChIKey, vyhľadajte v databáze (PubChem), potvrďte, že molekula je skutočne zlúčenina, ktorú chcete.
Štyri kopírovateľné šablóny
1) Žiadosť o SMILES (od podstatného mena po štruktúru):
Úloha: Dajte kanonické SMILES pre nasledujúcu zlúčeninu. Zlúčenina: paracetamol (acetaminofén). Pravidlo: Uveďte iba reťazec SMILES a InChIKey, nepridávajte žiadne ďalšie vysvetlenie. Ak si nie ste istá, napíšte „NEISTÁ“, nevymýšľajte.
2) Žiadosť o overenie SMILES (od štruktúry po kontrolu):
Preskúmajte SMILES nižšie: CC(=O)Nc1ccc(O)cc1Questions:1) Je toto platný SMILES?2) Akej zlúčenine zodpovedá (bežnému názvu)?3) Aký je molekulový vzorec?Poznámka: Presnú molekulovú hmotnosť vypočítam pomocou RDKit; Vy len dáte výklad svojej štruktúry.
3) Porovnanie dvoch zobrazení:
Mám dva ÚSMEVY: A) OCCB) CCOTask: Sú to rovnaké alebo odlišné molekuly? Napíšte svoje zdôvodnenie. Poznámka: Vašu odpoveď skontrolujem tak, že ju kanonizujem v RDKit.
4) Vysvetlenie štruktúry (na vzdelávacie účely):
SMILES: Cn1cnc2c1c(=O)n(C)c(=O)n2CTÚloha: Prečítajte si tento SMILES kúsok po kúsku a vysvetlite, čo jednotlivé symboly znamenajú (atóm, väzba, kruh, aromaticita) v obyčajnej turečtine. Povedzte tiež, o akú zlúčeninu ide.
Slabá výzva / Silná výzva
slabé:
Uveďte vlastnosti acetaminofénu.
"Funkcia" je vágna; AI generuje náhodné čísla od molekulovej hmotnosti po bod topenia, z ktorých niektoré budú nesprávne.
Silný:
Zlúčenina: acetaminofén.1) Kanonické SMILES a InChIKey ver.2) Uveďte molekulárny vzorec.Pravidlo: NEUVÁDZAJTE ČÍSELNÉ hodnoty, ako je molekulová hmotnosť, bod topenia atď.; Získam ich pomocou RDKit/PubChem. Stačí zadať ID zostavy.
Rozdiel: Nasmerovali sme AI na to, v čom je silná (identita štruktúry) a preč od toho, v čom je slabá (experimentálne čísla).
Porovnanie dojmov
vlastnosť
ÚSMEVY
InChI / InChIKey
Čitateľnosť
Vysoká (priateľské k ľuďom)
Nízke (strojovo vhodné)
kanonickosť
Zmeny vyhradené (vyžaduje kanonizáciu)
prirodzene single
Použitie
ľudská komunikácia, kresba, vstup
Zhoda databázy, identita
stereochémia
Podporuje (symboly @)
Podporuje (vrstvené)
dať AI
ideálne
Ideálne na potvrdenie
mini prípady
Prípad 1 – Dve mená, jedna molekula. Študent si myslel, že "N-acetyl-para-aminofenol" a "paracetamol" sú rôzne zlúčeniny a naplánoval dva samostatné experimenty. Keď kanonizovali svoje SMILES v RDKit, obaja sa ukázali ako CC(=O)Nc1ccc(O)cc1; Bola to tá istá molekula. Stratené: pol dňa plánovania; zisk: dalo sa mu vyhnúť 2-minútovou kontrolou kanonizácie.
Prípad 2 – Neplatné zachytenie SMILES. AI vrátilo CC(=O)Nc1ccc(O)cc1C( pre variant (zátvorky nie sú zatvorené). Študent spustil MolFromSmiles, vrátil None, okamžite videl chybu a požiadal o opravené SMILES. Bez overenia by sa chybná štruktúra rozšírila na všetky účty.
Prípad 3 – Nesprávna molekulová hmotnosť. YZ uviedol „molekulová hmotnosť 214,3 g/mol“ pre ibuprofén (C13H18O2). Výpočet RDKit poskytol 206,28 g/mol. Rozdiel pre 0,1 mol: 21,43 g s YZ, v skutočnosti 20,63 g. Tento rozdiel 3,9 % by narušil stechiometriu a výpočet výťažku. Prinieslo to deterministický kalkul.
Časté chyby
- Uvedenie molekuly menom. Synonymá/obchodné názvy sú zamieňané. Vždy zahrňte SMILES alebo InChI.
- Porovnávanie SMILES bez kanonizácie. OCC a CCO sú odlišné v texte, ale rovnaké v molekulách.
- Opýtanie sa na molekulovú hmotnosť modelu jazyka. Toto je deterministický výpočet; Vykonáva sa z RDKit alebo ručne zo vzorca.
- Nevšimnú si neplatné SMILES. Nekontroluje návrat MolFromSmiles None a pokračuje s nesprávnou štruktúrou.
- Zanedbanie stereochémie. Dva enantioméry (izoméry so zrkadlovým obrazom) môžu vykazovať rôzne biologické účinky; Preskakovanie znakov @/@@ v SMILES.
Pozor: Rovnaký molekulový vzorec neznamená rôzne molekuly. C2H60 je etanol (CCO) aj dimetyléter (COC). Rovnosť vzorca nie je rovnosť identity; Na identifikáciu použite InChIKey.
V súhrne
- Identifikujte molekuly podľa zápisu štruktúry, nie podľa mena: SMILES s človekom, InChI/InChIKey s databázou.
- RDKit je deterministický; AI predpovedá, RDKit vypočítava a overuje.
- Analyzujte každý AI SMILES pomocou MolFromSmiles a skontrolujte, či neobsahuje None, potom kanonizujte.
- Získajte čísla ako molekulová hmotnosť a vzorec z RDKit, nie z jazykového modelu.
- Rovnosť vzorca neznamená molekulovú identitu; Na identifikáciu použite InChIKey.
Aplikačná úloha
Vyberte si tri zlúčeniny (napr. kofeín, ibuprofén, glycín). Požiadajte AI o kanonické SMILES pre každého. Potom napíšte skript RDKit (použite šablónu vyššie) a vygenerujte: kanonické SMILES, molekulový vzorec, molekulovú hmotnosť, InChIKey. Koľko úsmevov poskytnutých AI bolo platných? Ak YZ udával aj molekulovú hmotnosť, vypočítajte rozdiel ako percento s hodnotou RDKit. Zaznamenajte svoje zistenia do malej tabuľky.
kontrolný zoznam
- [ ] Viem, čo sú SMILES a InChI/InChIKey a kedy ich použiť.
- [ ] Overujem každý SMILES daný AI pomocou MolFromSmiles.
- [ ] Pred porovnaním SMILES kanonizujem.
- [ ] Molekulárnu hmotnosť a vzorec získavam z RDKit, nie z jazykového modelu.
- [ ] Potvrdzujem identitu molekuly v databáze pomocou InChIKey.
- [ ] Poznám situácie, kde je dôležitá stereochémia.