Üksus 2 / 11

Molekulaarne esitus ja keemiline struktuur: valideerimine SMILESi, InChI ja RDKitiga

Kasu:

  • Võimalus tuvastada molekule mitte nime, vaid struktuuri esituse järgi (SMILES inimestega, InChI/InChIKey andmebaasiga)
  • Võimalus tuvastada kehtetuid või valesid struktuure, analüüsides, valideerides ja kanoniseerides iga tehisintellekti poolt RDKitiga antud SMILES.
  • Oskus mõista, et deterministlikud suurused, nagu molekulmass ja valem, tuleks saada reeglipõhisest tööriistast, mitte keelemudelist.

Tehisintellekti ohutu kasutamise esimene tingimus keemias on molekuli kirjutamine nii masinale kui ka inimesele arusaadavas keeles. Kui ütlete "fenool", tehisintellekt saab sellest õigesti aru; aga kui sa ütled "hape", on tuhandeid võimalusi. Nimed on mitmetähenduslikud; struktuuri esitused on täpsed. Selles üksuses õpime tundma kahte põhimärki, mis tõlgivad molekuli tekstiks (SMILES ja InChI) ning tööriista, mis neid deterministlikult kontrollib (RDKit). Meie eesmärk: anda tehisintellektile molekul viisil, millest see kunagi valesti aru ei saaks, ning kinnitada tehisintellekti toodetud struktuur tööriistaga.

Mis on SMILES?

SMILES (lihtsustatud molekulaarse sisestuse reasisestussüsteem) on vorming, mille abil kirjutatakse molekul ühele tekstireale. Aatomeid tähistavad tähed, sidemeid sümbolitega ja rõngaid numbritega. Näited:

  • Etanool: CCO (süsinik-süsinik-hapnik; vesinikud kaudselt).
  • Benseen: c1ccccc1 (väike "c" tähistab aromaatset süsinikku; 1-d sulgevad tsükli).
  • Aspiriin: CC(=O)Oc1ccccc1C(=O)O.
  • Kofeiin: Cn1cnc2c1c(=O)n(C)c(=O)n2C.

SMILESi võimsus seisneb selles, et see kannab kogu lingi struktuuri ühel real; Selle nõrkus seisneb selles, et samal molekulil võib olla mitu kehtivat naeratust (seda nimetatakse mittekanoonilisuseks). Lahendame selle hetke pärast RDKitiga.

Vihje: Molekuli "kanooniline NAERATAUS" on selle molekuli üks standardne kirjapilt. Et näha, kas kaks SMILE'i on sama molekul, kanoniseerige ja võrrelge neid; Need ei tohiks olla tekstiliselt võrdsed, kuid need peaksid olema võrdsed molekulid.

Mis on InChI?

InChI (International Chemical Identifier) ​​on standardne identifikaator, mille on välja töötanud IUPAC. Erinevus SMILESist seisneb selles, et sama molekul annab alati sama InChI; see tähendab, et see on oma olemuselt kanooniline. See on pikk ja raskesti loetav, kuid sobib ideaalselt andmebaasi sobitamiseks. Otsinguks kasutatakse lühendit "InChIKey" (27-märgiline kokkuvõte).

  • Aspiriin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.

Reegel: inimesed räägivad NAERATUSID (loe), masinad ja andmebaasid vastavad InChI/InChIKey (täpne). Andke tehisintellektile SMILES; Kinnitage andmebaasis InChIKey abil.

RDKit: deterministlik kontrollimootor

RDKit on avatud lähtekoodiga cheminformaatika raamatukogu. Erinevalt keelemudelist on see reeglipõhine: analüüsib SMILES, arvutab molekulmassi, genereerib kanoonilisi SMILES, tagastab InChI/InChIKey, joonistab molekuli. Nii et RDKit "arvutab", mida AI "ennustab". See on töövoo süda: AI genereerib, RDKit kontrollib.

Põhiline kinnitusvoog:

from rdkit import Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Molecular valem:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print(",.WoltDescriptors:l 2), "g/mol") print("InChIKey:", Chem.MolToInchiKey(mol))

Kui MolFromSmiles tagastab None, on AI andnud teile kehtetu molekuli; Ainuüksi see on väga väärtuslik hoiatus. Kui see kehtib, ei pea te enam molekulmassi keelemudelilt küsima; See on deterministlikult teie kätes.

Samm-sammult: AI + RDKit koostoimimine

  1. Molekuli tuvastamine: andke tehisintellektile nimi, küsige NAERAATUSI. Näiteks "kinnitage paratsetamooli kanoonilised SMILES".
  2. Kinnitage: sõeluge sissetulevad SMILES-id rakendusega MolFromSmiles. Kui puudub, lükake tagasi.
  3. Kanooniliseks muutmine: kanoonilise õigekirja toomine rakendusega MolToSmiles; Kasutage seda edaspidi alati.
  4. Arvutage arvud: hankige molekulmass, valem, rõngaste arv, vesiniksideme doonorite/aktseptorite arv jne RDKitist, mitte AI-st.
  5. Paranduse ID: genereerige InChIKey, otsige andmebaasist (PubChem), kinnitage, et molekul on tõepoolest soovitud ühend.

Neli kopeeritavat malli

1) SMILES'i taotlemine (nimisõnast struktuurini):

Ülesanne: andke järgmise ühendi kanoonilised NAERATUSED. Ühend: paratsetamool (atsetaminofeen). Reegel: sisestage ainult string SMILES ja InChIKey, ärge lisage täiendavaid selgitusi. Kui te pole kindel, kirjutage "EI KINDEL", ärge meikige.

2) SMILESi valideerimistaotlus (struktuurist juhtelemendini):

Uurige allolevaid SMILES-i: CC(=O)Nc1ccc(O)cc1Küsimused:1) Kas see on kehtiv SMILES?2) Millisele ühendile see vastab (tavaline nimetus)?3) Mis on molekulvalem?Märkus: arvutan täpse molekulmassi RDKitiga; Sa lihtsalt annad oma struktuurile tõlgenduse.

3) Kahe esituse võrdlemine:

Mul on kaks naeratust:A) OCCB) CCOTesk: Kas need on samad või erinevad molekulid? Kirjutage oma põhjendus.Märkus. Kontrollin teie vastust, muutes selle RDKitis kanoniseerituks.

4) Struktuuri selgitus (õppe eesmärgil):

NAERATAD: Cn1cnc2c1c(=O)n(C)c(=O)n2CTÜlesanne: Lugege see NAERATAUS tükkhaaval läbi ja selgitage, mida iga sümbol tähendab (aatom, side, ring, aromaatsus) lihtsas türgi keeles. Öelge ka, mis ühendiga on tegemist.

Nõrk viip / Tugev viip

Nõrk:

Esitage atsetaminofeeni omadused.

"Funktsioon" on ebamäärane; AI genereerib juhuslikke numbreid molekulmassist kuni sulamistemperatuurini, millest mõned on valed.

Tugev:

Ühend: atsetaminofeen.1) Canonical SMILES ja InChIKey ver.2) Esitage molekulaarvalem.Reegel: ÄRGE ANDKE ARVUTI Väärtusi, nagu molekulmass, sulamistemperatuur jne; Ma saan need RDKit / PubChemiga. Andke lihtsalt ehituse ID.

Erinevus: Suunasime tehisintellekti selle poole, milles see on tugev (struktuuri identiteet) ja eemale sellest, milles ta on nõrk (eksperimentaalsed numbrid).

Muljete võrdlus

funktsiooni

NAERATAB

InChI / InChIKey

Loetavus

Kõrge (inimesesõbralik)

Madal (masinasõbralik)

kanoonilisus

Võib muutuda (vajab kanoniseerimist)

loomulikult vallaline

Kasutamine

inimsuhtlus, joonistamine, sisend

Andmebaasi vaste, identiteet

stereokeemia

Toetused (@ sümbolid)

Toed (kihilised)

AI-le anda

ideaalne

Ideaalne kinnituseks

mini korpused

Juhtum 1 – kaks nime, üks molekul. Üks õpilane arvas, et "N-atsetüül-para-aminofenool" ja "paratsetamool" on erinevad ühendid ja kavandas kaks eraldi katset. Kui nende NAERATUS RDKitis kanoniseeriti, osutusid mõlemad CC(=O)Nc1ccc(O)cc1; See oli sama molekul. Kadunud: pool päeva planeerimist; võimendus: oleks saanud 2-minutilise kanoniseerimiskontrolliga vältida.

Juhtum 2 – vigane SMILES-i jäädvustamine. Tehisintellekt tagastas variandi CC(=O)Nc1ccc(O)cc1C() (sulgud pole suletud). Õpilane käivitas MolFromSmiles'i, see tagastas None'i, nägi kohe viga ja palus parandada SMILES. Ilma kontrollimiseta oleks vigane struktuur levinud kõikidele kontodele.

Juhtum 3 – vale molekulmass. YZ ütles ibuprofeeni (C13H18O2) kohta "molekulmass 214,3 g/mol". RDKit arvutus andis 206,28 g/mol. Erinevus 0,1 mooli kohta: 21,43 g YZ-ga, tegelikult 20,63 g. See 3,9% erinevus häiriks stöhhiomeetriat ja saagise arvutamist. See tõi kaasa deterministliku arvutuse.

Levinud vead

  • Molekuli andmine nime järgi. Sünonüümid/kaubanimed on segaduses. Kaasake alati SMILES või InChI.
  • SMILESi võrdlemine ilma seda kanoniseerimata. OCC ja CCO on tekstis erinevad, kuid molekulides on samad.
  • Keelemudelilt molekulmassi küsimine. See on deterministlik arvutus; Seda tehakse RDKiti kaudu või käsitsi valemist.
  • Ei märka kehtetuid SMILES. MolFromSmiles None tagastamist ei kontrollita ja jätkatakse vale struktuuriga.
  • Stereokeemia eiramine. Need kaks enantiomeeri (peegelpildi isomeerid) võivad avaldada erinevat bioloogilist toimet; @/@@ märkide vahelejätmine rakenduses SMILES.
Tähelepanu: sama molekulaarvalem ei tähenda erinevaid molekule. C2H6O on nii etanool (CCO) kui ka dimetüüleeter (COC). Valemi võrdsus ei ole identiteedi võrdsus; Kasutage tuvastamiseks InChIKey-d.

Kokkuvõttes

  • Tuvastage molekulid struktuuri, mitte nime järgi: SMILES inimesega, InChI/InChIKey andmebaasiga.
  • RDKit on deterministlik; AI ennustab, RDKit arvutab ja kontrollib.
  • Parsige iga AI SMILES rakendusega MolFromSmiles ja kontrollige valikut Puudub, seejärel kanoniseerige.
  • Hankige arvud, nagu molekulmass ja valem, RDKitist, mitte keelemudelist.
  • Valemi võrdsus ei tähenda molekulaarset identiteeti; Kasutage tuvastamiseks InChIKey-d.

Rakenduse ülesanne

Valige kolm ühendit (nt kofeiin, ibuprofeen, glütsiin). Küsige tehisintellektilt igaühe jaoks kanoonilisi naeratusi. Seejärel kirjutage RDKiti skript (kasutage ülaltoodud malli) ja genereerige: kanoonilised SMILES, molekulaarvalem, molekulmass, InChIKey. Kui palju AI-i antud NAERATUStest kehtis? Kui YZ andis ka molekulmassi, arvutage erinevus protsentides RDKit väärtusest. Joonistage oma leiud väikesesse tabelisse.

kontrollnimekiri

  • [ ] Ma tean, mis on SMILES ja InChI/InChIKey ning millal neid kasutada.
  • [ ] Kontrollin iga tehisintellekti antud NAERATUS MolFromSmilesiga.
  • [ ] Kanoniseerin SMILES enne nende võrdlemist.
  • [ ] Ma saan molekulmassi ja valemi RDKiti-st, mitte keelemudelist.
  • [ ] Kinnitan InChIKey abil andmebaasis oleva molekuli identiteedi.
  • [ ] Tean olukordi, kus stereokeemia on oluline.