Пайдалар:
- Молекулаларды аты менен эмес, структурасы боюнча аныктоо мүмкүнчүлүгү (адамдар менен SMILES, маалымат базасы менен InChI/InChIKey)
- RDKit менен жасалма интеллект тарабынан берилген ар бир SMILES талдоо, текшерүү жана канонизациялоо аркылуу жараксыз же туура эмес структураларды аныктоо мүмкүнчүлүгү
- Молекулярдык салмак жана формула сыяктуу детерминисттик чоңдуктарды тил моделинен эмес, эрежеге негизделген куралдан алуу керек экенин түшүнүү.
Химияда AIны коопсуз колдонуунун биринчи шарты - молекуланы машина да, адам да түшүнө турган тилде жазуу. Сиз "фенол" дейсиз, AI туура түшүнөт; бирок "кислота" деп айтканда миңдеген мүмкүнчүлүктөр бар. Аты-жөнү түшүнүксүз; структуралык көрсөтүүлөр так. Бул бөлүмдө биз молекуланы текстке которгон эки негизги белгини (SMILES жана InChI) жана аларды детерминисттик түрдө текшерүүчү куралды (RDKit) үйрөнөбүз. Биздин максат: молекуланы AI эч качан түшүнбөй тургандай кылып берүү жана инструмент менен AI өндүргөн түзүлүштү ырастоо.
SMILES деген эмне?
SMILES (Simplified Molecular-Input Line-Entry System) – молекуланы тексттин бир сабына жазуу форматы. Атомдор тамгалар менен, байланыштар символдор менен, шакекчелер сандар менен көрсөтүлөт. Мисалдар:
- Этанол: CCO (көмүртек-көмүртек-кычкылтек; суутектер жашыруун).
- Бензол: c1ccccc1 (кичинекей "c" ароматтык көмүртекти билдирет; 1's шакекти жабуу).
- Аспирин: CC(=O)Oc1ccccc1C(=O)O.
- Кофеин: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
SMILESтин күчү – ал бүт шилтеме түзүмүн бир сапта алып жүрөт; Анын алсыздыгы бир эле молекуланын бир нече жарактуу SMILES болушу мүмкүн экендигинде (бул канондук эмес деп аталат). Биз муну RDKit менен бир аздан кийин чечебиз.
Ишара: Молекула үчүн "канондук ЖЫЛМАЙЛАР" бул молекуланын бирдиктүү, стандарттуу жазылышы. Эки жылмаюу бир молекула экенин билүү үчүн аларды канонизациялоо жана салыштыруу; Алар текст жагынан бирдей болбошу керек, бирок бирдей молекулалар болушу керек.
InChI деген эмне?
InChI (International Chemical Identifier) - IUPAC тарабынан иштелип чыккан стандарттуу идентификатор. SMILESтен айырмасы бир эле молекула дайыма бирдей InChI берет; башкача айтканда, ал канондук мүнөзгө ээ. Бул узак жана окуу кыйын, бирок маалымат базасын дал келтирүү үчүн идеалдуу. Издөө үчүн кыскартылган "InChIKey" (27 белгиден турган дайджест) колдонулат.
- Aspirin InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Эреже: Адамдар SMILES сүйлөйт (окуу), машиналар жана маалымат базалары InChI/InChIKey (так) дал келет. AIга жылмаюуларды бериңиз; InChIKey менен маалымат базасында ырастаңыз.
RDKit: аныктоочу текшерүү кыймылдаткычы
RDKit ачык булак химинформатика китепканасы. Тилдин моделинен айырмаланып, ал эрежеге негизделген: 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(mol)) print("),(Moleculars.d) print("),(MolW) "g/mol") print("InChIKey:", Chem.MolToInchiKey(моль))
MolFromSmiles эч кандай кайтарбаса, AI сизге жараксыз молекуланы берди; Мунун өзү эле өтө баалуу эскертүү. жарактуу болсо, мындан ары молекулярдык салмагы үчүн тил моделин суроо керек; Бул сиздин колуңузда.
Кадам сайын: AI + RDKit менен иштешүү
- Молекуланы аныктаңыз: AI атын бериңиз, ЖЫЛМЫСТАРДЫ сураңыз. Мисалы, "парацетамол үчүн канондук SMILES текшерүү."
- Текшерүү: MolFromSmiles менен келген SMILES талдоо. Эгерде жок болсо, четке кагыңыз.
- Canonicalize: MolToSmiles менен канондук орфографияны алуу; Муну мындан ары ар дайым колдонуңуз.
- Сандарды эсептеңиз: Молекулярдык салмакты, формуланы, шакекчелердин санын, суутек байланышынын донорлорунун/акцепторлорунун санын ж.б. AIдан эмес, RDKitтен алыңыз.
- Fix ID: InChIKey түзүңүз, маалымат базасынан (PubChem) издеңиз, молекула чындап эле сиз каалаган кошулма экенин ырастаңыз.
Көчүрүү үчүн төрт шаблон
1) Смайлдарды суроо (зат атоочтон структурага):
Тапшырма: Төмөнкү кошулма үчүн канондук Смайлдарды бериңиз. Курамы: парацетамол (ацетаминофен). Эреже: SMILES сабын жана InChIKey гана бериңиз, кошумча түшүндүрмө кошпоңуз. Ишенбесеңиз "ИШЕНБЕГЕН" деп жазыңыз, жаңылбаңыз.
2) SMILES валидация суроосу (түзүмдөн башкарууга чейин):
Төмөндөгү ЖЫЛМАЙЛАРды карап көрүңүз: CC(=O)Nc1ccc(O)cc1Суроолор: 1) Бул жарактуу SMILESби?2) Ал кандай кошулмага (жалпы аталышына) туура келет?3) Молекулярдык формула деген эмне? Эскертүү: Мен RDKit менен так молекулярдык салмакты эсептейм; Сиз жөн гана структураңызды чечмелеп бересиз.
3) Эки өкүлчүлүктү салыштыруу:
Менде эки жылмаюу бар: A) OCCB) CCBTask: Булар бир эле молекулабы же башкабы? Ой жүгүртүүңүздү жазыңыз. Эскертүү: Жообуңузду RDKitте канонизациялоо аркылуу кайчылаш текшерем.
4) Түзүмдү түшүндүрүү (окуу максатында):
КЫЛМЫСТАР: Cn1cnc2c1c(=O)n(C)c(=O)n2CТапшырма: Бул ЖЫЛМАЙЛАРды даана окуп, ар бир символдун (атом, байланыш, шакек, жыпар жыттуулугу) эмнени билдирерин жөнөкөй түрк тилинде түшүндүрүңүз. Кайсы кошулма экенин да айт.
Алсыз тездик / Күчтүү тездик
Алсыз:
Ацетаминофендин касиеттерин бергиле.
"Функция" бүдөмүк; AI молекулярдык салмактан эрүү чекитине чейин кокус сандарды жаратат, алардын айрымдары туура эмес болот.
Күчтүү:
Кошумча: ацетаминофен.1) Canonical SMILES жана InChIKey вер.2) Молекулярдык формуланы бериңиз. Эреже: молекулярдык салмак, эрүү температурасы ж.б. сыяктуу САНДЫК маанилерди БЕРБЕҢИЗ; Мен аларды RDKit/PubChem менен алам. Жөн гана куруу ID бер.
Айырмасы: Биз AI күчтүү болгон нерсеге (түзүмдүн идентификациясы) жана алсыз болгонуна (эксперименталдык сандар) багыттадык.
Таасирлерди салыштыруу
өзгөчөлүгү
ЖЫЛМАЯ
InChI / InChIKey
Окуу жөндөмдүүлүгү
Жогорку (адамдарга достук)
Төмөн (машинага ылайыктуу)
канондук
Өзгөртүү мүмкүн (канонизация керек)
табигый бойдок
Колдонуу
адамдардын баарлашуусу, чийүү, киргизүү
Берилиштер базасы дал келүүсү, иденттүүлүк
стереохимия
Колдоо (@ символдору)
Колдоо (катмар)
АИге берүү
идеалдуу
тастыктоо үчүн идеалдуу
мини учурлар
1-жагдай - Эки ысым, бир молекула. Студент «N-ацетил-пара-аминофенол» менен «парацетамол» эки башка кошулмалар деп ойлоп, эки башка экспериментти пландаган. RDKitте алардын SMILES канондоштурулганда, экөө тең CC(=O)Nc1ccc(O)cc1 болуп чыкты; Бул ошол эле молекула болгон. Жоголгон: жарым күн пландаштыруу; киреше: 2 мүнөттүк канонизация текшерүүсү менен алдын алса болот.
2-жагдай — жараксыз SMILES тартуу. AI бир вариант үчүн CC(=O)Nc1ccc(O)cc1C(ны кайтарды (каша жабылган эмес). Студент MolFromSmiles иштетип, эч кимди кайтарды, катаны дароо көрүп, оңдолгон SMILES сурады. Текшерилбесе, ката түзүм бардык аккаунттарга жайылып кетмек.
3-жагдай — Туура эмес молекулярдык салмак. YZ ибупрофен (C13H18O2) үчүн "молекулярдык салмагы 214,3 г/моль" деди. RDKit эсептөө 206,28 г / моль берди. 0,1 мол үчүн айырма: YZ менен 21,43 г, иш жүзүндө 20,63 г. Бул 3,9% айырма стехиометрияны жана түшүмдүүлүктү эсептөөнү үзгүлтүккө учуратат. Бул детерминисттик эсептөөлөрдү алып келди.
Жалпы каталар
- Молекуланын аталышы. Синонимдер/соода аттары чаташтырылган. Ар дайым SMILES же InChI кошуңуз.
- Смайлдарды канонизациялоосуз салыштыруу. 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 менен AI тарабынан берилген ар бир СМАЙЛДЫ текшерем.
- [ ] Мен аларды салыштыруудан мурун SMILESди канонизациялайм.
- [ ] Мен молекулярдык салмакты жана формуланы тил моделинен эмес, RDKitтен алып жатам.
- [ ] Мен InChIKey менен маалымат базасындагы молекуланын идентификациясын ырастайм.
- [ ] Мен стереохимия маанилүү болгон жагдайларды билем.