zisky:
- Schopnost identifikovat molekuly nikoli podle názvu, ale podle reprezentace struktury (SMILES s lidmi, InChI/InChIKey s databází)
- Schopnost odhalit neplatné nebo nesprávné struktury analýzou, ověřením a kanonizací každého SMILES poskytnutého umělou inteligencí pomocí RDKit
- Schopnost pochopit, že deterministické veličiny, jako je molekulová hmotnost a vzorec, by měly být získány z nástroje založeného na pravidlech, nikoli z jazykového modelu.
První podmínkou bezpečného používání umělé inteligence v chemii je napsat molekulu v jazyce, kterému rozumí stroj i člověk. Říkáte „fenol“, AI to má správně; ale když se řekne "kyselina", jsou tisíce možností. Jména jsou nejednoznačná; reprezentace struktury jsou přesné. V této lekci se naučíme dva základní zápisy, které převádějí molekulu do textu (SMILES a InChI) a nástroj, který je deterministicky ověřuje (RDKit). Náš cíl: předat molekulu AI způsobem, který nikdy nepochopí, a potvrdit strukturu vytvořenou AI pomocí nástroje.
Co je SMILES?
SMILES (Simplified Molecular-Input Line-Entry System) je formát zápisu molekuly do jednoho řádku textu. Atomy jsou reprezentovány písmeny, vazby symboly a kruhy čísly. Příklady:
- Ethanol: CCO (uhlík–uhlík–kyslík; implicitně vodíky).
- Benzen: c1ccccc1 (malé „c“ označuje aromatický uhlík; 1 uzavírá kruh).
- Aspirin: CC(=O)Oc1cccccc1C(=O)O.
- Kofein: Cn1cnc2clc(=O)n(C)c(=O)n2C.
Síla SMILES spočívá v tom, že nese celou strukturu odkazů v jedné linii; Jeho slabinou je, že stejná molekula může mít více platných SMILES (to se nazývá nekanonickost). To za chvíli vyřešíme s RDKit.
Tip: „Kanonický SMILES“ pro molekulu je jediný standardní pravopis pro tuto molekulu. Chcete-li zjistit, zda jsou dva SMILES stejnou molekulou, kanonizujte je a porovnejte je; Neměly by být stejné textově, ale měly by to být stejné molekuly.
Co je InChI?
InChI (International Chemical Identifier) je standardní identifikátor vyvinutý IUPAC. Rozdíl oproti SMILES je v tom, že stejná molekula dává vždy stejný InChI; to znamená, že má kanonický charakter. Je dlouhý a obtížně čitelný, ale je ideální pro vyhledávání v databázi. Pro vyhledávání se používá zkrácený „InChIKey“ (27znakový výtah).
- Aspirin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Pravidlo: Lidé mluví SMILES (čtení), stroje a databáze odpovídají InChI/InChIKey (přesně). Dejte SMILES AI; Potvrďte v databázi pomocí InChIKey.
RDKit: deterministický ověřovací engine
RDKit je open source cheminformatics knihovna. Na rozdíl od jazykového modelu je založen na pravidlech: analyzuje SMILES, vypočítává molekulovou hmotnost, generuje kanonické SMILES, vrací InChI/InChIKey, kreslí molekulu. RDKit tedy „vypočítá“, co AI „předpovídá“. Toto je srdce pracovního postupu: AI generuje, RDKit ověřuje.
Základní ověřovací postup:
from rdkit import Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Molekulární vzorec:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("Molekulární hmotnost:/mol"), kolo (Descriptors./mol) print("InChIKey:", Chem.MolToInchiKey(mol))
Pokud MolFromSmiles vrátí None, AI vám dala neplatnou molekulu; Už jen toto je velmi cenné varování. Pokud je to platné, nemusíte se již ptát jazykového modelu na molekulovou hmotnost; Je to deterministicky ve vašich rukou.
Krok za krokem: Interoperace AI + RDKit
- Identifikujte molekulu: Dejte AI jméno, požádejte o SMILES. Například "ověřte kanonické SMILES pro paracetamol."
- Ověřte: Analyzujte příchozí SMILES pomocí MolFromSmiles. Pokud Žádné, odmítněte.
- Canonicalize: Získejte kanonický pravopis pomocí MolToSmiles; Od této chvíle to vždy používejte.
- Vypočítejte čísla: Získejte molekulovou hmotnost, vzorec, počet kruhů, počet donorů/akceptorů vodíkových vazeb atd. z RDKit, nikoli z AI.
- Oprava ID: Vygenerujte InChIKey, vyhledejte v databázi (PubChem), potvrďte, že molekula je skutečně sloučenina, kterou chcete.
Čtyři kopírovatelné šablony
1) Požadavek SMILES (od podstatného jména po strukturu):
Úkol: Dejte kanonické SMILES pro následující sloučeninu. Sloučenina: paracetamol (acetaminofen). Pravidlo: Uveďte pouze řetězec SMILES a InChIKey, nepřidávejte žádné další vysvětlení. Nejste-li si jisti, napište "NEJISTO", nevymýšlejte.
2) Žádost o ověření SMILES (od struktury po kontrolu):
Prozkoumejte SMILES níže: CC(=O)Nc1ccc(O)cc1Questions:1) Je toto platný SMILES?2) Jaké sloučenině odpovídá (běžnému názvu)?3) Jaký je molekulární vzorec?Poznámka: Přesnou molekulovou hmotnost vypočítám pomocí RDKit; Jen dáte svůj výklad struktury.
3) Porovnání dvou reprezentací:
Mám dva SMILES:A) OCCB) CCOTask: Jsou to stejné molekuly nebo různé? Napište své zdůvodnění. Poznámka: Vaši odpověď zkontroluji kanonizací v RDKit.
4) Vysvětlení struktury (pro účely učení):
SMILES: Cn1cnc2c1c(=O)n(C)c(=O)n2CTÚkol: Přečtěte si tento SMILES kousek po kousku a vysvětlete, co jednotlivé symboly znamenají (atom, vazba, kruh, aromaticita) v jednoduché turečtině. Řekněte také, o jakou sloučeninu se jedná.
Slabá výzva / Silná výzva
slabé:
Uveďte vlastnosti acetaminofenu.
"Funkce" je vágní; AI generuje náhodná čísla od molekulové hmotnosti po bod tání, z nichž některá budou chybná.
Silný:
Sloučenina: acetaminofen.1) Kanonické SMILES a InChIKey ver.2) Uveďte molekulární vzorec.Pravidlo: NEUVÁDĚJTE ČÍSELNÉ hodnoty, jako je molekulová hmotnost, bod tání atd.; Dostanu je pomocí RDKit/PubChem. Stačí zadat ID sestavení.
Rozdíl: Nasměrovali jsme AI na to, v čem je silná (strukturní identita) a pryč od toho, v čem je slabá (experimentální čísla).
Porovnání dojmů
funkce
ÚSMĚVY
InChI / InChIKey
Čitelnost
Vysoká (přátelské k lidem)
Nízká (strojově šetrná)
kanonicita
Změny vyhrazeny (vyžaduje kanonizaci)
přirozeně single
Využití
lidská komunikace, kresba, vstup
Shoda databáze, identita
stereochemie
Podporuje (symboly @)
Podporuje (vrstvené)
dát AI
ideální
Ideální pro potvrzení
mini pouzdra
Případ 1 – Dvě jména, jedna molekula. Student si myslel, že "N-acetyl-para-aminofenol" a "paracetamol" jsou různé sloučeniny a naplánoval dva samostatné experimenty. Když kanonizovali své SMILES v RDKit, oba se ukázali jako CC(=O)Nc1ccc(O)cc1; Byla to stejná molekula. Ztraceno: půl dne plánování; zisk: bylo možné se mu vyhnout 2minutovou kontrolou kanonizace.
Případ 2 — Neplatné zachycení SMILES. Umělá inteligence vrátila CC(=O)Nc1ccc(O)cc1C( pro variantu (závorky nejsou uzavřeny). Student spustil MolFromSmiles, vrátil None, okamžitě viděl chybu a požádal o opravené SMILES. Bez ověření by se chybná struktura rozšířila na všechny účty.
Případ 3 – Nesprávná molekulová hmotnost. YZ uvedl "molekulová hmotnost 214,3 g/mol" pro ibuprofen (C13H18O2). Výpočet RDKit poskytl 206,28 g/mol. Rozdíl pro 0,1 mol: 21,43 g s YZ, ve skutečnosti 20,63 g. Tento rozdíl 3,9 % by narušil stechiometrii a výpočet výtěžku. Přineslo to deterministický kalkul.
Časté chyby
- Uvedení molekuly jménem. Synonyma/obchodní názvy jsou zmatené. Vždy zahrňte SMILES nebo InChI.
- Porovnání SMILES bez kanonizace. OCC a CCO se liší v textu, ale stejné v molekulách.
- Zeptání se na molekulovou hmotnost modelu jazyka. Toto je deterministický výpočet; Provádí se z RDKit nebo ručně ze vzorce.
- Nevšimnete si neplatných SMILES. Nekontroluje návrat MolFromSmiles Žádný a pokračuje se špatnou strukturou.
- Zanedbání stereochemie. Dva enantiomery (izomery se zrcadlovým obrazem) mohou vykazovat různé biologické účinky; Přeskakování znaků @/@@ ve SMILES.
Pozor: Stejný molekulární vzorec neznamená různé molekuly. C2H6O je jak ethanol (CCO), tak dimethylether (COC). Rovnost vzorce není rovnost identity; Pro identifikaci použijte InChIKey.
V souhrnu
- Identifikujte molekuly podle struktury, nikoli podle jména: SMILES s člověkem, InChI/InChIKey s databází.
- RDKit je deterministický; AI předpovídá, RDKit počítá a ověřuje.
- Analyzujte každý AI SMILES pomocí MolFromSmiles a zkontrolujte, zda neobsahuje None, pak kanonizujte.
- Získejte čísla jako molekulová hmotnost a vzorec z RDKit, nikoli z jazykového modelu.
- Rovnost vzorce neznamená molekulární identitu; Pro identifikaci použijte InChIKey.
Aplikační úkol
Vyberte tři sloučeniny (např. kofein, ibuprofen, glycin). Požádejte AI o kanonické SMILES pro každého. Poté napište skript RDKit (použijte šablonu výše) a vygenerujte: kanonické SMILES, molekulární vzorec, molekulovou hmotnost, InChIKey. Kolik ze SMILES poskytnutých AI bylo platných? Pokud YZ udává také molekulovou hmotnost, vypočítejte rozdíl jako procento s hodnotou RDKit. Zapište své poznatky do malé tabulky.
kontrolní seznam
- [ ] Vím, co jsou SMILES a InChI/InChIKey a kdy je použít.
- [ ] Ověřuji každý SMILES daný AI pomocí MolFromSmiles.
- [ ] Před porovnáním SMILES kanonizujem.
- [ ] Molekulární hmotnost a vzorec získávám z RDKit, ne z jazykového modelu.
- [ ] Potvrzuji identitu molekuly v databázi pomocí InChIKey.
- [ ] Znám situace, kdy je stereochemie důležitá.