Nyereség:
- A molekulák azonosításának képessége nem név, hanem szerkezeti ábrázolás alapján (SMILES emberrel, InChI/InChIKey adatbázissal)
- Érvénytelen vagy hibás struktúrák észlelése a mesterséges intelligencia által adott SMILES-ek elemzésével, érvényesítésével és kanonizálásával az RDKit segítségével
- Annak megértése, hogy a determinisztikus mennyiségeket, például a molekulatömeget és a képletet a szabályalapú eszközből kell megszerezni, nem a nyelvi modellből.
A mesterséges intelligencia kémiában való biztonságos használatának első feltétele, hogy a molekulát olyan nyelven írjuk meg, amelyet a gép és az ember is megért. Azt mondod, hogy "fenol", az AI jól értelmezi; de amikor azt mondod, hogy "sav", több ezer lehetőség van. A nevek nem egyértelműek; A szerkezeti ábrázolások pontosak. Ebben az egységben megtanuljuk a molekulát szöveggé lefordító két alapvető jelölést (SMILES és InChI), valamint az ezeket determinisztikusan ellenőrző eszközt (RDKit). Célunk: a molekulát úgy átadni a mesterséges intelligencia számára, hogy az soha ne értse félre, és egy eszközzel megerősítsük az AI által létrehozott szerkezetet.
Mi az a SMILES?
A SMILES (Simplified Molecular-Input Line-Entry System) egy olyan formátum, amellyel egy molekulát egyetlen sorba írhatunk. Az atomokat betűk, a kötéseket szimbólumok, a gyűrűket pedig számok ábrázolják. Példák:
- Etanol: CCO (szén–szén–oxigén; hidrogének implicit).
- Benzol: c1ccccc1 (a kis "c" aromás szénatomot jelöl; az 1-esek zárják a gyűrűt).
- Aszpirin: CC(=O)Oc1ccccc1C(=O)O.
- Koffein: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
A SMILES ereje abban rejlik, hogy a teljes linkszerkezetet egyetlen sorban hordozza; Gyengesége, hogy ugyanannak a molekulának több érvényes SMILE-je is lehet (ezt nem kanonikusnak nevezzük). Ezt egy pillanat alatt megoldjuk az RDKittel.
Tipp: A molekulák "kanonikus SMILES"-je az adott molekula egyetlen, szabványos írásmódja. Ha szeretné megnézni, hogy két SMILE ugyanaz-e a molekula, kanonizálja és hasonlítsa össze őket; Szövegben nem lehetnek egyenlőek, de egyenlő molekuláknak kell lenniük.
Mi az InChI?
Az InChI (International Chemical Identifier) az IUPAC által kifejlesztett szabványos azonosító. A különbség a SMILES-től az, hogy ugyanaz a molekula mindig ugyanazt az InChI-t adja; vagyis kanonikus jellegű. Hosszú és nehezen olvasható, de ideális az adatbázis-illesztéshez. A kereséshez az "InChIKey" (27 karakteres kivonat) rövidítést használjuk.
- Aspirin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Szabály: Az emberek SMILES-t beszélnek (olvasás), a gépek és az adatbázisok megegyeznek az InChI/InChIKey-vel (pontosan). Adj SMILES-t az AI-nak; Erősítse meg az adatbázisban az InChIKey segítségével.
RDKit: determinisztikus ellenőrző motor
Az RDKit egy nyílt forráskódú cheminformatikai könyvtár. A nyelvi modelltől eltérően szabályalapú: elemzi a SMILES-t, kiszámítja a molekulatömeget, kanonikus SMILES-t generál, visszaadja az InChI/InChIKey-t, megrajzolja a molekulát. Tehát az RDKit „kiszámolja”, amit az AI „jósol”. Ez a munkafolyamat lényege: az AI generál, az RDKit pedig ellenőrzi.
Egy alapvető ellenőrzési folyamat:
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(",.WoltDescriptors:l 2), "g/mol") print("InChIKey:", Chem.MolToInchiKey(mol))
Ha a MolFromSmiles None értéket ad vissza, akkor az AI érvénytelen molekulát adott. Ez önmagában is nagyon értékes figyelmeztetés. Ha érvényes, akkor többé nem kell a nyelvi modelltől megkérdezni a molekulatömeget; Determinisztikusan a te kezedben van.
Lépésről lépésre: AI + RDKit együttműködés
- Azonosítsa a molekulát: Adja meg a mesterséges intelligencia nevét, és kérjen SMILES-t. Például: "Verify canonical SMILES for paracetamol."
- Ellenőrzés: Elemezze a bejövő SMILES-eket a MolFromSmiles segítségével. Ha nincs, utasítsa el.
- Canonicalize: Kanonikus helyesírás lekérése a MolToSmiles segítségével; Mostantól mindig ezt használja.
- Számok kiszámítása: A molekulatömeget, a képletet, a gyűrűk számát, a hidrogénkötés donorok/akceptorok számát stb. az RDKit-től kapja meg, nem az AI-tól.
- Fix ID: InChIKey létrehozása, keresés az adatbázisban (PubChem), ellenőrizze, hogy a molekula valóban a kívánt vegyület.
Négy másolható sablon
1) SMILES kérése (főnévtől szerkezetig):
Feladat: Adja meg a kanonikus SMILES-t a következő vegyülethez! Vegyület: paracetamol (acetaminofen). Szabály: Csak a SMILES karakterláncot és az InChIKey-t adja meg, ne adjon hozzá további magyarázatot. Ha nem biztos benne, írja be, hogy "BIZTONSÁGOS", ne pótolja.
2) SMILES érvényesítési kérés (a szerkezettől a vezérlőig):
Vizsgálja meg az alábbi SMILES-t: CC(=O)Nc1ccc(O)cc1Kérdések:1) Érvényes SMILES?2) Milyen vegyületnek felel meg (általános név)?3) Mi a molekulaképlet? Megjegyzés: A pontos molekulatömeget az RDKit-tel fogom kiszámítani; Te csak megadod a szerkezet értelmezését.
3) Két ábrázolás összehasonlítása:
Két SMILE-m van:A) OCCB) CCOTask: Ezek ugyanazok a molekulák vagy különböznek egymástól? Írja le az érvelését.Megjegyzés: A válaszát az RDKitben való kanonizálással fogom összevetni.
4) Szerkezeti magyarázat (tanulási célból):
MOSOLYOK: Cn1cnc2c1c(=O)n(C)c(=O)n2CTfeladat: Olvassa el ezt a SMILES-t darabonként, és magyarázza el, mit jelentenek az egyes szimbólumok (atom, kötés, gyűrű, aromás) egyszerű törökül. Azt is mondja meg, hogy melyik vegyületről van szó.
Gyenge felszólítás / Erős felszólítás
Gyenge:
Adja meg az acetaminofen tulajdonságait!
A "jellemző" homályos; A mesterséges intelligencia véletlenszerű számokat generál a molekulatömegtől az olvadáspontig, amelyek egy része hibás lesz.
Erős:
Vegyület: acetaminophen.1) Canonical SMILES és InChIKey ver.2) Adja meg a molekulaképletet.Szabály: NE ADJON MEG SZÁMOS értékeket, például molekulatömeget, olvadáspontot stb.; RDKit/PubChem segítségével szerzem meg őket. Csak adja meg a build ID-t.
Különbség: Az AI-t arra irányítottuk, hogy miben erős (struktúraazonosság), és távolabb attól, amiben gyenge (kísérleti számok).
A benyomások összehasonlítása
jellemzője
MOSOLYOK
InChI / InChIKey
Olvashatóság
Magas (emberbarát)
Alacsony (gépbarát)
kanonitás
A változtatás jogát fenntartjuk (kanonizálásra szorul)
természetesen egyedülálló
Használat
emberi kommunikáció, rajz, bevitel
Adatbázis egyezés, identitás
sztereokémia
Támogatja (@ szimbólumok)
Támogatások (réteges)
adni az AI-nak
ideális
Ideális megerősítéshez
mini tokok
1. eset – Két név, egy molekula. Egy diák úgy gondolta, hogy az "N-acetil-para-aminofenol" és a "paracetamol" különböző vegyületek, és két külön kísérletet tervezett. Amikor kanonizáltuk a SMILES-t az RDKitben, mindkettőről kiderült, hogy CC(=O)Nc1ccc(O)cc1; Ugyanaz a molekula volt. Elveszett: fél nap tervezés; nyereség: 2 perces kanonizálási ellenőrzéssel elkerülhető lett volna.
2. eset – Érvénytelen SMILES rögzítés. Az AI egy változatnál a CC(=O)Nc1ccc(O)cc1C() értéket adta vissza (a zárójelek nincsenek zárva). A diák futtatta a MolFromSmiles-t, az None-t adott vissza, azonnal látta a hibát, és kijavított SMILES-t kért. Ellenőrzés nélkül a hibás szerkezet az összes fiókra átterjedt volna.
3. eset – Helytelen molekulatömeg. YZ azt mondta, hogy "molekulatömeg 214,3 g/mol" az ibuprofénre (C13H18O2). Az RDKit számítás 206,28 g/mol értéket adott. Különbség 0,1 mol esetén: 21,43 g YZ-vel, valójában 20,63 g. Ez a 3,9%-os különbség megzavarná a sztöchiometriát és a hozamszámítást. Determinisztikus számítást hozott.
Gyakori hibák
- A molekula név szerinti megadása. A szinonimák/kereskedelmi nevek zavarosak. Mindig szerepeljen a SMILES vagy az InChI.
- A SMILES összehasonlítása kanonizálás nélkül. Az OCC és a CCO szövegben különbözik, de molekulákban ugyanaz.
- A molekulatömeg megkérdezése a nyelvmodelltől. Ez egy determinisztikus számítás; Az RDKitből vagy manuálisan a képletből történik.
- Nem veszi észre az érvénytelen SMILES-t. Nem ellenőrzi a MolFromSmiles None visszatérését, és rossz szerkezettel folytatja.
- A sztereokémia figyelmen kívül hagyása. A két enantiomer (tükörképi izomer) eltérő biológiai hatást fejthet ki; A @/@@ jelek kihagyása a SMILES alkalmazásban.
Figyelem: Ugyanaz a molekulaképlet nem jelent különböző molekulákat. A C2H6O egyben etanol (CCO) és dimetil-éter (COC). A képlet egyenlősége nem azonos az azonosság egyenlőségével; Az azonosításhoz használja az InChIKey-t.
Összefoglalva
- A molekulák azonosítása szerkezeti jelöléssel, ne név szerint: SMILES emberrel, InChI/InChIKey adatbázissal.
- Az RDKit determinisztikus; Az AI előre jelez, az RDKit kiszámítja és ellenőrzi.
- Elemezze az egyes AI SMILES-eket a MolFromSmiles segítségével, és ellenőrizze a None elemet, majd kanonizálja.
- A számokat, például a molekulatömeget és a képletet az RDKitből szerezheti be, nem a nyelvi modellből.
- A képlet egyenlősége nem jelenti a molekuláris azonosságot; Az azonosításhoz használja az InChIKey-t.
Pályázati feladat
Válasszon három vegyületet (például koffein, ibuprofen, glicin). Mindegyikhez kérjen kanonikus SMILES-t az AI-tól. Ezután írjon egy RDKit szkriptet (használja a fenti sablont), és generálja: kanonikus SMILES, molekulaképlet, molekulatömeg, InChIKey. Az AI által adott SMILE-ek közül hány volt érvényes? Ha YZ megadta a molekulatömeget is, számítsa ki a különbséget százalékban az RDKit értékkel. A leleteket ábrázolja egy kis táblázatban.
ellenőrző lista
- [ ] Tudom, mi az a SMILES és az InChI/InChIKey, és mikor kell használni őket.
- [ ] Minden, a mesterséges intelligencia által adott SMILE-t ellenőrizek a MolFromSmiles segítségével.
- [ ] Az összehasonlítás előtt kanonizálom a SMILES-t.
- [ ] A molekulatömeget és a képletet az RDKitből kapom, nem a nyelvi modellből.
- [ ] Megerősítem a molekula azonosságát az adatbázisban az InChIKey segítségével.
- [ ] Ismerek olyan helyzeteket, amikor a sztereokémia fontos.