Zyski:
- Możliwość identyfikacji cząsteczek nie po nazwie, ale poprzez reprezentację struktury (SMILES z ludźmi, InChI/InChIKey z bazą danych)
- Możliwość wykrywania nieprawidłowych lub niepoprawnych struktur poprzez analizowanie, sprawdzanie poprawności i kanonizację każdego UŚMIECHU wysyłanego przez sztuczną inteligencję za pomocą RDKit
- Umiejętność zrozumienia, że wielkości deterministyczne, takie jak masa cząsteczkowa i wzór, należy uzyskać z narzędzia opartego na regułach, a nie z modelu językowego.
Pierwszym warunkiem bezpiecznego stosowania sztucznej inteligencji w chemii jest zapisanie cząsteczki w języku zrozumiałym zarówno dla maszyny, jak i człowieka. Mówisz „fenol”, AI dobrze to rozumie; ale kiedy mówisz „kwas”, istnieją tysiące możliwości. Nazwy są niejednoznaczne; reprezentacje struktur są dokładne. W tym module poznamy dwie podstawowe notacje tłumaczące cząsteczkę na tekst (SMILES i InChI) oraz narzędzie weryfikujące je deterministycznie (RDKit). Nasz cel: przekazać AI cząsteczkę w sposób, którego ona nigdy nie zrozumie źle i potwierdzić za pomocą narzędzia strukturę wytworzoną przez AI.
Co to jest SMILES?
SMILES (Simplified Molecular-Input Line-Entry System) to format zapisywania cząsteczki w jednym wierszu tekstu. Atomy są reprezentowane przez litery, wiązania przez symbole, a pierścienie przez liczby. Przykłady:
- Etanol: CCO (węgiel – węgiel – tlen; domyślnie wodory).
- Benzen: c1ccccc1 (małe „c” oznacza węgiel aromatyczny; jedynki zamykają pierścień).
- Aspiryna: CC(=O)Oc1ccccc1C(=O)O.
- Kofeina: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
Siła SMILES polega na tym, że przenosi całą strukturę łącza w jednej linii; Jego słabością jest to, że ta sama cząsteczka może mieć wiele ważnych UŚMIECHÓW (nazywa się to niekanonicznością). Za chwilę rozwiążemy ten problem za pomocą RDKit.
Wskazówka: „kanoniczny UŚMIECH” oznaczający cząsteczkę to pojedyncza, standardowa pisownia tej cząsteczki. Aby sprawdzić, czy dwa SMILESy to ta sama cząsteczka, dokonaj ich kanonizacji i porównaj; Nie powinny być równe pod względem tekstowym, ale powinny być równymi cząsteczkami.
Co to jest InChI?
InChI (International Chemical Identifier) to standardowy identyfikator opracowany przez IUPAC. Różnica od SMILES polega na tym, że ta sama cząsteczka zawsze daje ten sam InChI; to znaczy ma charakter kanoniczny. Jest długi i trudny do odczytania, ale idealnie nadaje się do dopasowywania baz danych. Do wyszukiwania używany jest skrót „InChIKey” (27-znakowy skrót).
- Aspiryna InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Reguła: Ludzie mówią SMILES (czytaj), maszyny i bazy danych odpowiadają InChI/InChIKey (dokładnie). Daj UŚMIECH dla AI; Potwierdź w bazie danych za pomocą InChIKey.
RDKit: deterministyczny silnik weryfikacji
RDKit to biblioteka chemiinformatyczna typu open source. W przeciwieństwie do modelu językowego, jest on oparty na regułach: analizuje SMILES, oblicza masę cząsteczkową, generuje kanoniczne SMILES, zwraca InChI/InChIKey, rysuje cząsteczkę. Zatem RDKit „oblicza” to, co „przewiduje” sztuczna inteligencja. To jest serce przepływu pracy: AI generuje, RDKit weryfikuje.
Podstawowy proces weryfikacji:
z rdkit import Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Wzór cząsteczkowy:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("Masa cząsteczkowa:", round(Descriptors.MolWt(mol), 2), "g/mol") print("InChIKey:", Chem.MolToInchiKey(mol))
Jeśli MolFromSmiles zwróci None, sztuczna inteligencja podała ci nieprawidłową cząsteczkę; Już samo to jest bardzo cennym ostrzeżeniem. Jeśli jest to prawidłowe, nie trzeba już pytać modelu językowego o masę cząsteczkową; Deterministycznie jest to w twoich rękach.
Krok po kroku: współpraca AI + RDKit
- Zidentyfikuj cząsteczkę: nadaj AI nazwę, poproś o UŚMIECH. Na przykład „zweryfikuj kanoniczne SMILES pod kątem paracetamolu”.
- Sprawdź: Analizuj przychodzące SMILES za pomocą MolFromSmiles. Jeśli Brak, odrzuć.
- Canonicalize: odzyskaj pisownię kanoniczną za pomocą MolToSmiles; Odtąd zawsze używaj tego.
- Oblicz liczby: Uzyskaj masę cząsteczkową, wzór, liczbę pierścieni, liczbę donorów/akceptorów wiązań wodorowych itp. z RDKit, a nie z AI.
- Identyfikator poprawki: Wygeneruj InChIKey, wyszukaj w bazie danych (PubChem), potwierdź, że cząsteczka rzeczywiście jest tym związkiem, którego szukasz.
Cztery szablony do kopiowania
1) Prośba o UŚMIECH (od rzeczownika do struktury):
Zadanie: Podaj kanoniczne UŚMIECHI dla następującego związku. Związek: paracetamol (acetaminofen). Reguła: Podaj tylko ciąg SMILES i InChIKey, nie dodawaj żadnych dalszych wyjaśnień. Jeśli nie jesteś pewien, napisz „NIEPEWNY”, nie wymyślaj.
2) Prośba o zatwierdzenie SMILES (od struktury do kontroli):
Przeanalizuj poniższe SMILES: CC(=O)Nc1ccc(O)cc1Pytania:1) Czy to prawidłowy SMILES?2) Jakiemu związkowi odpowiada (nazwa zwyczajowa)?3) Jaki jest wzór cząsteczkowy?Uwaga: Dokładną masę cząsteczkową obliczę za pomocą RDKit; Po prostu podajesz interpretację swojej struktury.
3) Porównanie dwóch reprezentacji:
Mam dwa UŚMIECHI:A) OCCB) CCOTask: Czy to ta sama cząsteczka czy różne? Napisz swoje uzasadnienie. Uwaga: sprawdzę Twoją odpowiedź, kanonizując ją w RDKit.
4) Wyjaśnienie struktury (w celach edukacyjnych):
SMILES: Cn1cnc2c1c(=O)n(C)c(=O)n2CTask: Przeczytaj kawałek po kawałku ten SMILES i wyjaśnij, co oznacza każdy symbol (atom, wiązanie, pierścień, aromatyczność) w prostym języku tureckim. Powiedz też, jaki to związek.
Słaba zachęta/silna zachęta
Słabe:
Podaj właściwości acetaminofenu.
„Funkcja” jest niejasna; Sztuczna inteligencja generuje losowe liczby od masy cząsteczkowej do temperatury topnienia, a niektóre z nich będą błędne.
Mocny:
Związek: acetaminofen.1) Canonical SMILES i InChIKey ver.2) Podaj wzór cząsteczkowy.Zasada: NIE PODAJ wartości NUMERYCZNYCH takich jak masa cząsteczkowa, temperatura topnienia itp.; Dostanę je za pomocą RDKit/PubChem. Wystarczy podać identyfikator kompilacji.
Różnica: Skierowaliśmy sztuczną inteligencję w stronę tego, w czym jest silna (tożsamość struktury), a z dala od tego, w czym jest słaba (liczby eksperymentalne).
Porównanie wrażeń
funkcja
UŚMIECHA SIĘ
InChI / InChIKey
Czytelność
Wysoki (przyjazny ludziom)
Niski (przyjazny dla maszyny)
kanoniczność
Zastrzega się możliwość zmian (wymaga kanonizacji)
naturalnie singiel
Użycie
komunikacja międzyludzka, rysunek, wkład
Dopasowanie bazy danych, tożsamość
stereochemia
Podpory (@ symbole)
Podpory (warstwowe)
dać AI
idealny
Idealny do potwierdzenia
mini etui
Przypadek 1 — Dwie nazwy, jedna cząsteczka. Uczeń pomyślał, że „N-acetylo-para-aminofenol” i „paracetamol” to różne związki i zaplanował dwa oddzielne eksperymenty. Po kanonizacji ich SMILES w RDKit okazało się, że obaj to CC(=O)Nc1ccc(O)cc1; To była ta sama cząsteczka. Stracone: pół dnia planowania; zysk: można było tego uniknąć dzięki 2-minutowej kontroli kanonizacji.
Przypadek 2 — Nieprawidłowe przechwytywanie UŚMIECHÓW. Sztuczna inteligencja zwróciła CC(=O)Nc1ccc(O)cc1C( dla wariantu (nawiasy niezamknięte). Uczeń uruchomił MolFromSmiles, zwrócił None, natychmiast zauważył błąd i zażądał poprawienia SMILES. Bez weryfikacji wadliwa struktura rozprzestrzeniłaby się na wszystkie konta.
Przypadek 3 — Nieprawidłowa masa cząsteczkowa. YZ stwierdził, że „masa cząsteczkowa 214,3 g/mol” dla ibuprofenu (C13H18O2). Obliczenia RDKit dały 206,28 g/mol. Różnica dla 0,1 mola: 21,43 g dla YZ, a właściwie 20,63 g. Ta różnica wynosząca 3,9% zakłóciłaby stechiometrię i obliczenia wydajności. Przyniósł rachunek deterministyczny.
Typowe błędy
- Nadanie cząsteczce nazwy. Synonimy/nazwy handlowe są mylone. Zawsze uwzględniaj SMILES lub InChI.
- Porównywanie SMILES bez kanonizacji. OCC i CCO różnią się tekstem, ale są takie same w cząsteczkach.
- Zapytanie masy cząsteczkowej o model języka. Jest to obliczenie deterministyczne; Robi się to z RDKit lub ręcznie z formuły.
- Nie zauważanie nieprawidłowych UŚMIECHÓW. Nie sprawdzanie zwrotu MolFromSmiles None i kontynuowanie pracy z niewłaściwą strukturą.
- Zaniedbanie stereochemii. Te dwa enancjomery (izomery w lustrzanym odbiciu) mogą wykazywać różne skutki biologiczne; Pomijanie znaków @/@@ w UŚMIECHACH.
Uwaga: Ten sam wzór cząsteczkowy nie oznacza różnych cząsteczek. C2H6O to zarówno etanol (CCO), jak i eter dimetylowy (COC). Równość formuły nie jest równością tożsamości; Do identyfikacji użyj InChIKey.
Podsumowując
- Identyfikuj cząsteczki według zapisu struktury, a nie nazwy: SMILES z człowiekiem, InChI/InChIKey z bazą danych.
- RDKit jest deterministyczny; AI przewiduje, RDKit oblicza i weryfikuje.
- Przeanalizuj każdy AI SMILES za pomocą MolFromSmiles i sprawdź Brak, a następnie dokonaj kanonizacji.
- Uzyskaj liczby takie jak masa cząsteczkowa i wzór z RDKit, a nie z modelu językowego.
- Równość formuły nie oznacza tożsamości molekularnej; Do identyfikacji użyj InChIKey.
Zadanie aplikacji
Wybierz trzy związki (np. kofeina, ibuprofen, glicyna). Poproś AI o kanoniczne UŚMIECHI dla każdego. Następnie napisz skrypt RDKit (użyj szablonu powyżej) i wygeneruj: kanoniczny SMILES, wzór cząsteczkowy, masę cząsteczkową, InChIKey. Ile UŚMIECHÓW podanych przez sztuczną inteligencję było ważnych? Jeśli YZ podał również masę cząsteczkową, oblicz różnicę jako procent z wartością RDKit. Zapisz swoje ustalenia na małym stoliku.
lista kontrolna
- [ ] Wiem, czym są SMILES i InChI/InChIKey i kiedy ich używać.
- [ ] Weryfikuję każdy SMILES podany przez AI za pomocą MolFromSmiles.
- [ ] Kanonizuję UŚMIECHI przed ich porównaniem.
- [ ] Masę cząsteczkową i wzór otrzymuję z RDKit, a nie z modelu językowego.
- [ ] Potwierdzam tożsamość cząsteczki w bazie danych za pomocą InChIKey.
- [ ] Znam sytuacje, w których ważna jest stereochemia.