Egység 2 / 11

Molekuláris ábrázolás és kémiai szerkezet: Érvényesítés SMILES, InChI és RDKit segítségével

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

  1. 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."
  2. Ellenőrzés: Elemezze a bejövő SMILES-eket a MolFromSmiles segítségével. Ha nincs, utasítsa el.
  3. Canonicalize: Kanonikus helyesírás lekérése a MolToSmiles segítségével; Mostantól mindig ezt használja.
  4. 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.
  5. 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.