Бірліктер
1. Химиядағы жасанды интеллектке кіріспе: рөлдер, шекаралар, тексеру және этика 2. Молекулалық өкілдік және химиялық құрылым: SMILES, InChI және RDKit көмегімен тексеру 3. Реакцияны болжау және механизмі: өнім, жағдай және жағымсыз реакцияны болжау 4. Спектрді интерпретациялауды қолдау: ЯМР, ИҚ және масс-спектрометрия 5. Әдебиеттерді шолу және синтезді жоспарлау: дереккөз, процедура және жол картасы 6. Химиялық деректерді талдау және Python: пандалар, стехиометрия және калибрлеу 7. Молекулярлық меншікті болжау және QSAR: ажыратымдылық, pKa және үлгі шектеулері 8. Зертханалық құжаттама: эксперимент дәптері, ELN және қайталану мүмкіндігі 9. Қауіпсіздік және қауіпті бағалау: GHS, SDS және жасанды интеллекттің шектері 10. Растау, галлюцинация және ғылыми тұтастық 11. Эксперименттегі адам: этика, құпиялылық, жауапкершілік және түпкілікті жұмыс процесі
Бірлік 2 / 11

Молекулалық өкілдік және химиялық құрылым: SMILES, InChI және RDKit көмегімен тексеру

Табыстар:

  • Молекулаларды аты бойынша емес, құрылымы бойынша анықтау мүмкіндігі (адамдармен 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 өзара әрекеттесуі

  1. Молекуланы анықтаңыз: AI-ға атын беріңіз, Смайлдарды сұраңыз. Мысалы, "парацетамол үшін канондық SMILES-ті тексеріңіз."
  2. Тексеру: MolFromSmiles көмегімен кіріс SMILES талдау. Егер жоқ болса, қабылдамаңыз.
  3. Canonicalize: MolToSmiles көмегімен канондық емлені шығарып алыңыз; Әрқашан осы сәттен бастап пайдаланыңыз.
  4. Сандарды есептеңіз: Молекулярлық салмақты, формуланы, сақиналар санын, сутегі байланысының донорларының/акцепторларының санын т.б. AI емес, RDKit-тен алыңыз.
  5. Түзету идентификаторы: 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 көмегімен дерекқордағы молекула сәйкестігін растаймын.
  • [ ] Мен стереохимия маңызды болатын жағдайларды білемін.