ትርፍ፡
- ሞለኪውሎችን በስም ሳይሆን በመዋቅር ውክልና የመለየት ችሎታ (ከሰዎች ጋር SMILES፣ InChi/InChIKey ከመረጃ ቋት ጋር)
- በአርቴፊሻል ኢንተለጀንስ በRDKit የሚሰጠውን እያንዳንዱን SMILES በመተንተን፣ በማረጋገጥ እና ቀኖናዊ በማድረግ ልክ ያልሆኑ ወይም የተሳሳቱ አወቃቀሮችን የማወቅ ችሎታ።
- እንደ ሞለኪውላዊ ክብደት እና ፎርሙላ ያሉ የመወሰኛ መጠኖች ከቋንቋ ሞዴል ሳይሆን ከደንብ ላይ ከተመሠረተው መሳሪያ ማግኘት እንዳለባቸው መረዳት መቻል።
በኬሚስትሪ ውስጥ AI በደህና ለመጠቀም የመጀመሪያው ሁኔታ ሞለኪውሉን ማሽኑም ሆነ ሰው በሚረዳው ቋንቋ መጻፍ ነው። እርስዎ "phenol" ይላሉ, AI በትክክል ያገኛል; ነገር ግን "አሲድ" ሲሉ በሺዎች የሚቆጠሩ እድሎች አሉ. ስሞቹ አሻሚዎች ናቸው; የመዋቅር ውክልናዎች ትክክለኛ ናቸው. በዚህ ክፍል ውስጥ፣ ሞለኪውሉን ወደ ጽሑፍ የሚተረጉሙትን ሁለቱን መሰረታዊ ማስታወሻዎች (SMILES እና InChi) እና እነሱን በወሳኝነት የሚያረጋግጥ መሳሪያ (RDKit) እንማራለን። ግባችን፡- ሞለኪውሉን በፍፁም በማይረዳው መልኩ ለ AI መስጠት እና በ AI የተሰራውን መዋቅር በመሳሪያ ማረጋገጥ።
SMILES ምንድን ነው?
SMILES (ቀላል ሞለኪውላር-ግቤት መስመር-የመግቢያ ሥርዓት) በአንድ የጽሑፍ መስመር ውስጥ ሞለኪውል የመጻፍ ቅርጸት ነው። አቶሞች በፊደሎች፣ ቦንዶች በምልክት እና ቀለበቶች በቁጥር ይወከላሉ። ምሳሌዎች፡-
- ኤታኖል፡ CCO (ካርቦን-ካርቦን-ኦክሲጅን፤ ሃይድሮጂንስ ስውር)።
- ቤንዚን: c1ccccc1 (ትንሽ "ሐ" ጥሩ መዓዛ ያለው ካርቦን ያመለክታል; 1 ቀለበቱን ይዝጉ).
- አስፕሪን፡ CC(=O)Oc1ccccc1C(=O)O.
- ካፌይን፡ Cn1cnc2c1c(=O)n(C)c(=O)n2C
የ SMILES ኃይል ሙሉውን አገናኝ መዋቅር በአንድ መስመር ውስጥ መሸከም ነው; ድክመቱ አንድ አይነት ሞለኪውል ብዙ ትክክለኛ SMILES ሊኖረው ይችላል (ይህ ቀኖናዊ ያልሆነ ይባላል)። ይህንን በRDKit በአጭር ጊዜ ውስጥ እንፈታዋለን።
ፍንጭ፡ የአንድ ሞለኪውል “ቀኖናዊ SMILES” ነጠላ፣ መደበኛ የዚያ ሞለኪውል አጻጻፍ ነው። ሁለቱ ፈገግታዎች አንድ አይነት ሞለኪውል መሆናቸውን ለማየት ቀኖናዊ አድርግ እና አወዳድራቸው። በጽሑፍ እኩል መሆን የለባቸውም, ግን እኩል ሞለኪውሎች መሆን አለባቸው.
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 ያረጋግጣል።
መሠረታዊ የማረጋገጫ ፍሰት;
ከrdkit ማስመጣት Chemfrom rdkit.Chem import Descriptors, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) ህትመት("ሞለኪውላር ቀመር፡"፣ Chem.rdMolDescriptors.CalcMolFormula(mol)) ክብድመት፡"ሞልሞልሞል ፎርሙላ(ሞል ስክሪፕት) ክብድመት("MolMolMol) 2)፣ "g/mol") ህትመት ("InChIKey:", Chem.MolToInchiKey(mol))
MolFromSmiles ምንም ካልመለሰ፣ AI ልክ ያልሆነ ሞለኪውል ሰጥቶዎታል። ይህ ብቻ በጣም ጠቃሚ ማስጠንቀቂያ ነው። ልክ ከሆነ፣ ለሞለኪውላዊው ክብደት የቋንቋውን ሞዴል መጠየቅ አያስፈልግዎትም። በቆራጥነት በእጅዎ ውስጥ ነው.
ደረጃ በደረጃ፡ AI + RDKit መስተጋብር
- ሞለኪውሉን ይለዩ፡ ለ AI ስሙን ይስጡ፣ SMILES ይጠይቁ። ለምሳሌ፣ "ቀኖናዊ SMILES ለፓራሲታሞል ያረጋግጡ።"
- አረጋግጥ፡ የሚመጡትን ፈገግታዎችን በMolFromSmiles ይተነትኑ። ከሌለ ውድቅ ያድርጉ።
- ቀኖናዊ አድርግ፡ ቀኖናዊ ሆሄያትን በMolToSmiles ሰርስሮ ማውጣት፤ ከአሁን ጀምሮ ሁል ጊዜ ይህንን ይጠቀሙ።
- ቁጥሮችን አስሉ፡ የሞለኪውል ክብደት፣ ቀመር፣ የቀለበት ብዛት፣ የሃይድሮጂን ቦንድ ለጋሾች/ተቀባዮች ወዘተ ከRDKit ያግኙ እንጂ ከ AI አይደለም።
- መጠገኛ መታወቂያ፡ InChIKeyን ያመንጩ፣ በመረጃ ቋት ውስጥ ይፈልጉ (PubChem)፣ ሞለኪዩሉ በእርግጥ የሚፈልጉት ውህድ መሆኑን ያረጋግጡ።
አራት ሊገለበጡ የሚችሉ አብነቶች
1) SMILES (ከስም ወደ መዋቅር) በመጠየቅ ላይ፡-
ተግባር፡ ለሚከተለው ግቢ ቀኖናዊውን SMILES ስጥ። ውህድ፡ ፓራሲታሞል (አሲታሚኖፌን)። ደንብ፡ የSMILES string እና InChIKey ብቻ ይስጡ፣ ምንም ተጨማሪ ማብራሪያ አይጨምሩ። እርግጠኛ ካልሆኑ፣ “UNSURE” ብለው ይፃፉ፣ አያካሂዱ።
2) የSMILES ማረጋገጫ ጥያቄ (ከመዋቅር እስከ ቁጥጥር)፡
ፈገግታዎቹን ከዚህ በታች ይመርምሩ፡ CC(=O)Nc1ccc(O)cc1Questions:1) ይህ ትክክለኛ SMILES ነው?2) ከየትኛው ውህድ ጋር ይዛመዳል? የመዋቅርዎን ትርጓሜ ብቻ ነው የሚሰጡት።
3) ሁለት ውክልናዎችን ማወዳደር፡-
ሁለት ፈገግ አሉኝ፡ሀ) OCCB) CCOTask፡ እነዚህ ተመሳሳይ ሞለኪውል ናቸው ወይንስ የተለያዩ? ምክንያትህን ጻፍ።ማስታወሻ፡ መልስህን በ RDKit ቀኖናዊ በማድረግ አጣራለሁ።
4) የመዋቅር ማብራሪያ (ለትምህርት ዓላማ)፡-
ፈገግታ፡ Cn1cnc2c1c(=O)n(C)c(=O)n2CTጠይቅ፡ይህን SMILES ቁራጭ በክፍል አንብብና እያንዳንዱ ምልክት ምን ማለት እንደሆነ በግልፅ ቱርክኛ (አተም፣ ቦንድ፣ ቀለበት፣ መዓዛ) አብራራ። እንዲሁም የትኛው ድብልቅ እንደሆነ ይናገሩ።
ደካማ ጥያቄ / ጠንካራ ጥያቄ
ደካማ፡
የአሲታሚኖፊን ባህሪያትን ይስጡ.
"ባህሪ" ግልጽ ያልሆነ ነው; AI የዘፈቀደ ቁጥሮችን ከሞለኪውላዊ ክብደት እስከ ማቅለጥ ነጥብ ያመነጫል, አንዳንዶቹ የተሳሳቱ ይሆናሉ.
ጠንካራ፡
ውህድ፡ acetaminophen.1) ቀኖናዊ SMILES እና InChIKey ver.2) ሞለኪውላዊ ፎርሙላውን ይስጡ ደንብ፡ እንደ ሞለኪውል ክብደት፣ መቅለጥ ነጥብ፣ ወዘተ ያሉ NUMERIC እሴቶችን አትስጡ። በ RDKit/PubChem አገኛቸዋለሁ። የግንባታ መታወቂያውን ብቻ ይስጡ።
ልዩነት፡ AI ን ወደ ጠንካራው (መዋቅር ማንነት) እና ከደካማው (የሙከራ ቁጥሮች) ርቀናል.
ግንዛቤዎችን ማወዳደር
ባህሪ
ፈገግ ይላል
InChi / InChiKey
ተነባቢነት
ከፍተኛ (ለሰዎች ተስማሚ)
ዝቅተኛ (ለማሽን ተስማሚ)
ቀኖናዊነት
ሊለወጥ የሚችል (ቀኖና ማድረግ ያስፈልገዋል)
በተፈጥሮ ነጠላ
አጠቃቀም
የሰዎች ግንኙነት, ስዕል, ግቤት
የውሂብ ጎታ ተዛማጅ፣ ማንነት
ስቴሪዮኬሚስትሪ
ይደግፋል (@ ምልክቶች)
ድጋፎች (የተደራረቡ)
ለ AI ለመስጠት
ተስማሚ
ለማረጋገጫ ተስማሚ
አነስተኛ ጉዳዮች
ጉዳይ 1 - ሁለት ስሞች, አንድ ሞለኪውል. አንድ ተማሪ "N-acetyl-para-aminophenol" እና "ፓራሲታሞል" የተለያዩ ውህዶች እንደሆኑ አስቦ ሁለት የተለያዩ ሙከራዎችን አቀደ። በRDKit ውስጥ ያላቸውን SMILES ቀኖናዊ ሲያደርጉ፣ ሁለቱም CC(=O)Nc1ccc(O)cc1 ሆነው ተገኘ። ተመሳሳይ ሞለኪውል ነበር. የጠፋው: ግማሽ ቀን እቅድ ማውጣት; ጥቅም፡ በ2 ደቂቃ ቀኖናዊ ቼክ ማስቀረት ይቻል ነበር።
ጉዳይ 2 - ልክ ያልሆነ የSMILES ቀረጻ። AI CC(=O)Nc1ccc(O)cc1C (ለተለዋጭ) መልሷል (ቅንፎች አልተዘጉም) ተማሪው MolFromSmiles ሮጦ ተመለሰ ምንም የለም፣ ወዲያውኑ ስህተቱን አይቶ የተስተካከለ SMILES ጠየቀ። ያለ ማረጋገጫ፣ የተሳሳተ መዋቅር ወደ ሁሉም መለያዎች ይሰራጫል።
ጉዳይ 3 - የተሳሳተ ሞለኪውላዊ ክብደት. YZ ለ ibuprofen (C13H18O2) "ሞለኪውላዊ ክብደት 214.3 g/mol" ብሏል። የ RDKit ስሌት 206.28 ግ / ሞል ሰጥቷል. ለ 0.1 ሞል ልዩነት: 21.43 ግ ከ YZ ጋር, በእውነቱ 20.63 ግ. ይህ የ 3.9% ልዩነት ስቶቲዮሜትሪ እና የምርት ስሌትን ይረብሸዋል. የሚወስን ስሌት አመጣ።
የተለመዱ ስህተቶች
- ሞለኪውሉን በስም መስጠት. ተመሳሳይ ቃላት/የንግድ ስሞች ግራ ተጋብተዋል። ሁልጊዜ SMILES ወይም InChiን ያካትቱ።
- ቀኖናዊ ሳያደርጉት SMILESን ማወዳደር። OCC እና CCO በጽሁፍ የተለያዩ ናቸው ነገር ግን በሞለኪውሎች ውስጥ አንድ አይነት ናቸው።
- ሞለኪውላዊ ክብደቱን ወደ አንደበት ሞዴል በመጠየቅ. ይህ የሚወስን ስሌት ነው; የሚከናወነው ከ RDKit ወይም በእጅ ከቀመር ነው።
- ልክ ያልሆኑ SMILESን አለማወቅ። የMolFromSmiles ምንም መመለሱን አለመፈተሽ እና በተሳሳተ መዋቅር መቀጠል።
- ስቴሪዮኬሚስትሪን ችላ ማለት። ሁለቱ eantiomers (የመስታወት ምስል isomers) የተለያዩ ባዮሎጂያዊ ውጤቶች ሊያሳዩ ይችላሉ; በSMILES ውስጥ @/@@ ምልክቶችን መዝለል።
ትኩረት: ተመሳሳይ ሞለኪውላዊ ቀመር የተለያዩ ሞለኪውሎች ማለት አይደለም. C2H6O ሁለቱም ኢታኖል (ሲሲኦ) እና ዲሜትል ኤተር (COC) ናቸው። የቀመር እኩልነት የማንነት እኩልነት አይደለም; ለመለየት InChiKey ይጠቀሙ።
በማጠቃለያው
- ሞለኪውሎችን በስም ሳይሆን በመዋቅር ማስታወሻ ይለዩ፡ SMILES በሰው፣ InChi/InChIKey ከመረጃ ቋት ጋር።
- RDKit መወሰኛ ነው; AI ይተነብያል፣ RDKit ያሰላል እና ያረጋግጣል።
- እያንዳንዱን AI SILES በMolFromSmiles ይተንቱ እና የለም የሚለውን ያረጋግጡ፣ ከዚያ ቀኖናዊ ያድርጉት።
- እንደ ሞለኪውል ክብደት እና ቀመር ከ RDKit ያግኙ እንጂ ከቋንቋ ሞዴል አይደለም።
- የቀመር እኩልነት ማለት ሞለኪውላዊ ማንነት ማለት አይደለም; ለመለየት InChiKey ይጠቀሙ።
የመተግበሪያ ተግባር
ሶስት ውህዶችን ይምረጡ (ለምሳሌ ካፌይን፣ ibuprofen፣ glycine)። ለእያንዳንዱ ቀኖናዊ SMILES AI ን ይጠይቁ። ከዚያ የ RDKit ስክሪፕት ይፃፉ (ከላይ ያለውን አብነት ይጠቀሙ) እና ያመነጩ፡ ቀኖናዊ SMILES፣ molecular formula፣ molecular weight፣ InChIKey። በ AI ከተሰጡት ፈገግታዎች ውስጥ ምን ያህሉ ልክ ነበሩ? YZ የሞለኪውል ክብደት ከሰጠ፣ ልዩነቱን ከRDKit ዋጋ ጋር በመቶኛ አስሉት። ግኝቶችዎን በትንሽ ጠረጴዛ ላይ ያቅዱ።
የማረጋገጫ ዝርዝር
- [] SMILES እና InChi/InChIKey ምን እንደሆኑ እና መቼ እንደምጠቀምባቸው አውቃለሁ።
- [ ] በAi የሚሰጠውን እያንዳንዱን ፈገግታ በMolFromSmiles አረጋግጣለሁ።
- [] SMILESን ከማነጻጸር በፊት ቀኖናዊ አድርጌዋለሁ።
- [ ] ሞለኪውላዊ ክብደቱን እና ቀመሩን ከ RDKit እያገኘሁት ነው እንጂ ከቋንቋ ሞዴል አይደለም።
- [ ] የሞለኪውል መለያውን በመረጃ ቋቱ ውስጥ በInChIKey አረጋግጣለሁ።
- [] ስቴሪዮኬሚስትሪ አስፈላጊ የሆኑባቸውን ሁኔታዎች አውቃለሁ።