Табыстар:
- Молекулаларды аты бойынша емес, құрылымы бойынша анықтау мүмкіндігі (адамдармен SMILES, дерекқормен InChI/InChIKey)
- RDKit көмегімен жасанды интеллект арқылы берілген әрбір SMILES-ті талдау, тексеру және канонизациялау арқылы жарамсыз немесе дұрыс емес құрылымдарды анықтау мүмкіндігі
- Молекулярлық салмақ және формула сияқты детерминирленген шамаларды тілдік модельден емес, ережеге негізделген құралдан алу керектігін түсіне білу.
Химияда AI қауіпсіз пайдаланудың бірінші шарты - молекуланы машина да, адам да түсінетін тілде жазу. Сіз «фенол» дейсіз, AI дұрыс түсінеді; бірақ сіз «қышқыл» дегенде мыңдаған мүмкіндіктер бар. Есімдері көп мағыналы; құрылымды бейнелеу нақты. Бұл бөлімде біз молекуланы мәтінге айналдыратын екі негізгі белгілерді (SMILES және InChI) және оларды детерминистикалық түрде тексеретін құралды (RDKit) үйренеміз. Біздің мақсатымыз: АИ-ге молекуланы ешқашан қате түсінбейтін етіп беру және АИ жасаған құрылымды құралмен растау.
SMILES дегеніміз не?
SMILES (Simplified Molecular-Input Line-Entry System) — мәтіннің бір жолында молекуланы жазу пішімі. Атомдар әріптермен, байланыстар таңбалармен, сақиналар сандармен бейнеленген. Мысалдар:
- Этанол: CCO (көміртек – көміртек – оттегі; жасырын сутегі).
- Бензол: c1ccccc1 («c» кіші әріп хош иісті көміртекті білдіреді; 1 сақинаны жабады).
- Аспирин: CC(=O)Oc1ccccc1C(=O)O.
- Кофеин: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
SMILES-тің күші - ол бүкіл сілтеме құрылымын бір жолда алып жүреді; Оның әлсіздігі сол молекулада бірнеше жарамды SMILES болуы мүмкін (бұл канондық емес деп аталады). Біз мұны RDKit көмегімен бір сәтте шешеміз.
Нұсқау: Молекулаға арналған «канондық ЖЫЛМЫСТАР» сол молекула үшін бірыңғай, стандартты емлесі болып табылады. Екі күлімсіреу бір молекула екенін білу үшін оларды канонизациялаңыз және салыстырыңыз; Олар мәтіндік жағынан бірдей болмауы керек, бірақ олар бірдей молекулалар болуы керек.
InChI дегеніміз не?
InChI (халықаралық химиялық идентификатор) - IUPAC әзірлеген стандартты идентификатор. SMILES-тен айырмашылығы сол молекула әрқашан бірдей InChI береді; яғни ол канондық сипатқа ие. Ол ұзақ және оқу қиын, бірақ дерекқорды сәйкестендіру үшін өте қолайлы. Іздеу үшін қысқартылған «InChIKey» (27 таңбалы дайджест) қолданылады.
- Аспирин InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Ереже: Адамдар SMILES (оқу) тілінде сөйлейді, машиналар мен дерекқорлар InChI/InChIKey (дәл) сәйкес келеді. AI-ға күлкі сыйлаңыз; InChIKey арқылы дерекқорда растаңыз.
RDKit: детерминирленген тексеру қозғалтқышы
RDKit – ашық бастапқы коды химинформатика кітапханасы. Тілдік модельден айырмашылығы, ол ережеге негізделген: SMILES талдайды, молекулалық салмақты есептейді, канондық SMILES жасайды, InChI/InChIKey қайтарады, молекуланы сызады. Осылайша, RDKit AI «болжағанын» «есептейді». Бұл жұмыс процесінің жүрегі: AI жасайды, RDKit тексереді.
Негізгі тексеру ағыны:
from rdkit import Chemfrom rdkit.Chem импорттау дескрипторлары, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(мол)) print("Молекулярлық формула:", Chem.rdMolDescriptors.CalcMolFormula(мол)) print("),(Молекулалық салмақ:("Молекулярлық.),(МолВт) "г/моль") басып шығару("InChIKey:", Chem.MolToInchiKey(моль))
MolFromSmiles None қайтарса, AI сізге жарамсыз молекула берді; Мұның өзі өте құнды ескерту. Жарамды болса, енді молекулалық салмақты тіл үлгісінен сұраудың қажеті жоқ; Ол сіздің қолыңызда.
Қадамдық: AI + RDKit өзара әрекеттесуі
- Молекуланы анықтаңыз: AI-ға атын беріңіз, Смайлдарды сұраңыз. Мысалы, "парацетамол үшін канондық SMILES-ті тексеріңіз."
- Тексеру: MolFromSmiles көмегімен кіріс SMILES талдау. Егер жоқ болса, қабылдамаңыз.
- Canonicalize: MolToSmiles көмегімен канондық емлені шығарып алыңыз; Әрқашан осы сәттен бастап пайдаланыңыз.
- Сандарды есептеңіз: Молекулярлық салмақты, формуланы, сақиналар санын, сутегі байланысының донорларының/акцепторларының санын т.б. AI емес, RDKit-тен алыңыз.
- Түзету идентификаторы: InChIKey жасаңыз, дерекқорда (PubChem) іздеңіз, молекуланың шынымен сіз қалаған қосылыс екенін растаңыз.
Көшірілетін төрт үлгі
1) SMILES сұрау (зат есімнен құрылымға):
Тапсырма: Төмендегі қосылыс үшін канондық Смайлдарды көрсетіңіз. Құрамы: парацетамол (ацетаминофен). Ереже: SMILES жолын және InChIKey ғана беріңіз, қосымша түсініктеме қоспаңыз. Сенбесеңіз, "СЕНІМГІСІЗ" деп жазыңыз, жасастырмаңыз.
2) SMILES валидация сұрауы (құрылымнан басқаруға дейін):
Төмендегі SMILES-ті зерттеңіз: CC(=O)Nc1ccc(O)cc1Сұрақтар:1) Бұл жарамды SMILES па?2) Ол қандай қосылысқа сәйкес келеді (жалпы атау)?3) Молекулалық формула дегеніміз не? Ескерту: Мен RDKit көмегімен нақты молекулалық салмақты есептеймін; Сіз тек құрылымыңызды түсіндіресіз.
3) Екі көріністі салыстыру:
Менің екі күлімсіреуім бар:A) OCCB) CCCOТапсырма: Бұл бір молекула ма, әлде әртүрлі ме? Өз пікіріңізді жазыңыз. Ескертпе: Мен сіздің жауабыңызды RDKit-те канонизациялау арқылы қайта тексеремін.
4) Құрылымды түсіндіру (оқу мақсатында):
ЖЫЛМЫСТАР: Cn1cnc2c1c(=O)n(C)c(=O)n2Тапсырма: Осы күлімсіреуді бөлшектеп оқып шығыңыз және әр таңбаның (атом, байланыс, сақина, хош иістілік) түрік тілінде нені білдіретінін түсіндіріңіз. Оның қай қосылыс екенін де айтыңыз.
Әлсіз шақыру / Күшті шақыру
Әлсіз:
Ацетаминофеннің қасиеттерін көрсетіңіз.
«Мүмкіндік» анық емес; AI молекулалық салмақтан балқу температурасына дейін кездейсоқ сандарды жасайды, олардың кейбіреулері қате болады.
Күшті:
Қосылыс: ацетаминофен.1) Canonical SMILES және InChIKey вер.2) Молекулярлық формуланы көрсетіңіз. Ереже: молекулалық салмақ, балқу температурасы және т.б. сияқты САНДЫҚ мәндерді БЕРМЕҢІЗ; Мен оларды RDKit/PubChem арқылы аламын. Тек құрастыру идентификаторын беріңіз.
Айырмашылық: Біз AI-ны күшті нәрсеге (құрылым сәйкестігі) және әлсіз нәрседен (эксперименттік сандар) бағыттадық.
Алған әсерлерін салыстыру
ерекшелігі
КҮЛІМДЕР
InChI / InChIKey
Оқуға қабілеттілік
Жоғары (адамдарға мейірімді)
Төмен (машинаға ыңғайлы)
канондық
Өзгертуге болады (канонизация қажет)
табиғи жалғыз
Қолданылуы
адамдардың қарым-қатынасы, сурет салу, енгізу
Деректер базасының сәйкестігі, сәйкестендіру
стереохимия
Қолдаулар (@ таңбалары)
Қолдаулар (қабатты)
АИ-ге беру
идеал
Растау үшін өте қолайлы
шағын істер
1-жағдай – Екі атау, бір молекула. Студент «N-ацетил-пара-аминофенол» және «парацетамол» әртүрлі қосылыстар деп ойлап, екі бөлек тәжірибе жоспарлады. RDKit жүйесінде SMILES канонизацияланғанда, олардың екеуі де CC(=O)Nc1ccc(O)cc1 болып шықты; Бұл бірдей молекула болды. Жоғалған: жоспарлаудың жарты күні; пайда: 2 минуттық канонизацияны тексеру арқылы болдырмауға болады.
2-жағдай — жарамсыз SMILES түсіру. AI нұсқа үшін CC(=O)Nc1ccc(O)cc1C( жақшалар жабылмаған) қайтарды. Студент MolFromSmiles іске қосты, ол None деп қайтарды, қатені бірден көрді және түзетілген SMILES сұрады. Тексерусіз ақаулы құрылым барлық тіркелгілерге таралатын еді.
3-жағдай — дұрыс емес молекулалық салмақ. YZ ибупрофен (C13H18O2) үшін «молекулярлық салмағы 214,3 г/моль» деді. RDKit есебі 206,28 г/моль берді. 0,1 моль үшін айырмашылық: YZ-мен 21,43 г, іс жүзінде 20,63 г. Бұл 3,9% айырмашылық стехиометрия мен кірісті есептеуді бұзады. Ол детерминирленген есептеуді әкелді.
Жалпы қателер
- Молекуланың атауын беру. Синонимдер/сауда атаулары шатастырылған. Әрқашан SMILES немесе InChI қосыңыз.
- SMILES-ті канонизациясыз салыстыру. OCC және CCO мәтінде әртүрлі, бірақ молекулаларында бірдей.
- Тіл үлгісіне молекулалық салмақты сұрау. Бұл детерминирленген есептеу; Ол RDKit-тен немесе формуладан қолмен жасалады.
- Жарамсыз SMILES байқалмайды. MolFromSmiles None қайтаруын тексермеу және қате құрылымды жалғастыру.
- Стереохимияны елемеу. Екі энантиомер (айна бейнелі изомерлер) әртүрлі биологиялық әсерлер көрсете алады; SMILES ішіндегі @/@@ белгілерін өткізіп жіберу.
Назар аударыңыз: Бір молекулалық формула әртүрлі молекулаларды білдірмейді. C2H6O - бұл этанол (CCO) және диметил эфирі (COC). Формуланың теңдігі – сәйкестіктің теңдігі емес; Сәйкестендіру үшін InChIKey пайдаланыңыз.
Қысқаша айтқанда
- Молекулаларды аты бойынша емес, құрылымдық белгілер бойынша анықтаңыз: SMILES адаммен, InChI/InChIKey дерекқорымен.
- RDKit детерминирленген; AI болжайды, RDKit есептейді және тексереді.
- MolFromSmiles көмегімен әрбір AI SMILES талдауын жасап, «Жоқ» дегенді тексеріңіз, содан кейін канонизациялаңыз.
- Молекулярлық салмақ және формула сияқты сандарды тіл үлгісінен емес, RDKit-тен алыңыз.
- Формуланың теңдігі молекулалық сәйкестікті білдірмейді; Сәйкестендіру үшін InChIKey пайдаланыңыз.
Қолданбалы тапсырма
Үш қосылысты таңдаңыз (мысалы, кофеин, ибупрофен, глицин). Әрқайсысы үшін AI-дан канондық күлкілерді сұраңыз. Содан кейін RDKit сценарийін жазыңыз (жоғарыдағы үлгіні пайдаланыңыз) және жасаңыз: канондық SMILES, молекулалық формула, молекулалық салмақ, InChIKey. AI берген күлкілердің қаншасы жарамды болды? Егер YZ молекулалық салмақты да берсе, айырмашылықты RDKit мәнімен пайызбен есептеңіз. Нәтижелеріңізді шағын кестеге салыңыз.
бақылау парағы
- [ ] Мен SMILES және InChI/InChIKey не екенін және оларды қашан пайдалану керектігін білемін.
- [ ] Мен MolFromSmiles көмегімен жасанды интеллект берген әрбір күлімсіреуді тексеремін.
- [ ] Мен SMILES-ті салыстырмас бұрын канонизациялаймын.
- [ ] Мен молекулалық салмақ пен формуланы тіл үлгісінен емес, RDKit-тен аламын.
- [ ] Мен InChIKey көмегімен дерекқордағы молекула сәйкестігін растаймын.
- [ ] Мен стереохимия маңызды болатын жағдайларды білемін.