https://pubs.acs.org/doi/10.1021/acs.jcim.3c00978
การค้นหาระดับโมเลกุลมีความสำคัญในวิชาเคมี ชีววิทยา และสารสนเทศสำหรับการระบุโครงสร้างโมเลกุลภายในชุดข้อมูลขนาดใหญ่ การปรับปรุงการค้นพบความรู้และนวัตกรรม และทำให้ข้อมูลทางเคมีมีความยุติธรรม (ค้นหาได้ เข้าถึงได้ ใช้งานร่วมกันได้ และนำกลับมาใช้ใหม่ได้) อัลกอริธึมการค้นหาสำหรับโพลีเมอร์ได้รับการพัฒนาน้อยกว่าอัลกอริทึมสำหรับโมเลกุลขนาดเล็กอย่างมาก เนื่องจากการค้นหาโพลีเมอร์อาศัยการค้นหาด้วยชื่อโพลีเมอร์ ซึ่งอาจเป็นเรื่องที่ท้าทายเนื่องจากการตั้งชื่อโพลีเมอร์กว้างเกินไป (เช่น โพลีเอทิลีน) ซับซ้อนสำหรับโครงสร้างทางเคมีที่ซับซ้อน และมักจะไม่สอดคล้องกัน สู่การประชุม IUPAC อย่างเป็นทางการ การค้นหาโครงสร้างทางเคมีในโพลีเมอร์นั้นจำกัดอยู่เพียงโครงสร้างย่อย เช่น โมโนเมอร์ โดยไม่ต้องคำนึงถึงการเชื่อมต่อหรือโทโพโลยี งานนี้แนะนำภาษาคิวรีใหม่และอัลกอริธึมการค้นหาการแวะผ่านกราฟสำหรับโพลีเมอร์ที่ให้วิธีการค้นหาแรกที่สามารถจับโครงสร้างทางเคมีทั้งหมดที่มีอยู่ในโพลีเมอร์ได้อย่างสมบูรณ์ ภาษาคิวรี BigSMARTS ซึ่งเป็นส่วนขยายของภาษา SMARTS โมเลกุลขนาดเล็ก ช่วยให้ผู้ใช้สามารถเขียนคิวรีที่แปลโมโนเมอร์และการค้นหากลุ่มฟังก์ชันไปยังส่วนต่างๆ ของโพลีเมอร์ เช่น บล็อกตรงกลางของไตรบล็อก ห่วงโซ่ด้านข้างของกราฟต์ และ กระดูกสันหลังของหน่วยทำซ้ำ อัลกอริธึมการค้นหาโครงสร้างพื้นฐานจะขึ้นอยู่กับการเคลื่อนที่ของการแสดงกราฟของฟังก์ชันการสร้างกราฟสุ่มของโพลีเมอร์ ในทางปฏิบัติ อัลกอริธึมจะระบุวัฏจักรที่เป็นตัวแทนของโมโนเมอร์ก่อนแล้วจึงระบุกลุ่มสุดท้าย และสุดท้ายจะทำการค้นหาเชิงลึกก่อนเพื่อให้ตรงกับกราฟย่อยทั้งหมด เพื่อตรวจสอบความถูกต้องของอัลกอริทึม มีการค้นหาข้อความค้นหาหลายร้อยรายการเทียบกับเคมีเป้าหมายและโทโพโลยีเป้าหมายหลายร้อยรายการ โดยมีคู่ข้อความค้นหา-เป้าหมายประมาณ 440,000 คู่ เครื่องมือนี้มีอัลกอริธึมโดยละเอียดที่สามารถนำไปใช้ในเครื่องมือค้นหาเพื่อให้ผลการค้นหาที่มีการเชื่อมต่อโมโนเมอร์และโทโพโลยีโพลีเมอร์ที่ตรงกันอย่างสมบูรณ์
ตารางที่ 1. เคียวรีที่มีข้อจำกัดเพิ่มขึ้นบนชุดเป้าหมายที่ตรงกัน
บิ๊กสมาร์ท | ความหมาย | # BigSMILES ฮิต |
---|---|---|
ซีซีโอ | เอทานอล SMARTS ที่ค้นหา BigSMILES ทั้งหมด | 207 |
{[]ซีซีโอ[]} | เอทานอล SMARTS ที่แปลการเข้าชมไปยังหน่วยการทำซ้ำ | 198 |
{[][<]ซีโอไอ[>][]} | แบบสอบถาม PEG พร้อมกลุ่มสิ้นสุดไวด์การ์ดที่แปลการเข้าชมไปยังแบ็คโบนของหน่วยที่ทำซ้ำ | 68 |
{[][<][CH2][CH2]O[>][]} | ป้องกันการจับคู่กลุ่มจี้ที่ไม่ได้ระบุในแบบสอบถาม | 57 |
{[][<][CH2][CH2]O[>],!*[]} | ป้องกันการจับคู่กับหน่วยซ้ำเพิ่มเติมที่ไม่ได้ระบุไว้ในแบบสอบถาม | 45 |
{[][<][CH2][CH2]O[>],!*;!*[]} | ป้องกันการจับคู่หน่วยซ้ำและกลุ่มสุดท้ายที่ไม่ได้ระบุไว้ในแบบสอบถาม | 1 |
ตารางที่ 2. ทำซ้ำการกลายพันธุ์ของหน่วยที่ไม่ส่งผลกระทบต่อเป้าหมายที่ตรงกัน
บิ๊กสมาร์ท | เปลี่ยน | # BigSMILES ฮิต |
---|---|---|
{[][<]ซีโอไอ[>][]} | ค้นหาแกนหลัก PEG | 68 |
{[][>]ซีซีโอ[<][]} | การเปลี่ยนแปลงคำอธิบายพันธะ | 68 |
{[][<]ซีโอซี[>][]} | การเปลี่ยนเฟรม | 68 |
{[][<]โอซีซี[>][]} | การผกผัน | 68 |
{[][<]C[<2],[>2]CO[>][]} | แยก | 68 |
{[][<]ซีซีโอ[>],[<]ซีซีโอ[>][]} | การทำสำเนา | 68 |
ตารางที่ 3 บล็อกการจับคู่เป้าหมายแบบสอบถามโคโพลีเมอร์
บิ๊กสมาร์ท | เปลี่ยน | # BigSMILES ฮิต |
---|---|---|
{[][>]CC(c1ccccc1)[<][>]}?*{[>][<]CC(C(=O)O)[>][]} | โครงสร้างย่อยของบล็อกโพลีสไตรีน b -โพลีอะคริเลตพร้อมตัวเชื่อมโยงไวด์การ์ด | 11 |
{[][$]CC(c1ccccc1)[$][$]}{[$][$]CC(C(=O)O)[$][]} | ไม่มีตัวเชื่อมโยงไวด์การ์ด | 7 |
{[][$]CC(C(=O)O)[$][$]}{[$][$]CC(c1ccccc1)[$][]} | พลิกบล็อก | 7 |
{[][<]CC(c1ccccc1)[>][<]}{[>][<]CC(C(=O)O)[>][]} | หน่วยการทำซ้ำแบบหัวถึงท้ายเท่านั้น | 7 |
{[][<]ซีซี(c1ccccc1)[>],[<]ซีซี(c1ccccc1)[>2],[<2]ซีซี(C(=O)O)[>2][]} | วัตถุสุ่มเดี่ยว แต่ยังคงเข้ารหัส diblock! | 7 |
{[][<]CC(c1ccccc1)[>];[<]CC(c1ccccc1){[>][<]CC(C(=O)O)[>][]}[]} | การแสดงกลุ่มสุดท้ายโดยนัย/โดยชัดแจ้ง | 7 |
ตารางที่ 4. การจับคู่เป้าหมายแบบสอบถามเครือข่ายโพลีเมอร์
บิ๊กสมาร์ท | เปลี่ยน | # BigSMILES ฮิต |
---|---|---|
{[][<]CCCCC(C)(C)C(=O)O{[>][<]CCO[>][<]}C(=O)C(C)(C)CCCC[<] ,[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | เครือข่ายโพลีเมอร์ A2 + B3 | 2 |
{[][<]CCCCC(C)(C)C(=O)O{[>][<]CCOCCO[>][<]}C(=O)C(C)(C)CCCC[<] ,[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | หน่วยทำซ้ำที่ซ้อนกันซ้ำซ้อน | 2 |
{[][<]CCCCC(C)(C)C(=O)O{[>][<]C[<3],[>3]CO[>][<]}C(=O)C (C)(C)CCCC[<],[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | การแยกหน่วยซ้ำซ้อน | 2 |
{[][>]CCCCC(C)(C)C(=O)O{[>][<]CCO[>][<]}C(=O)C(C)(C)CCCC[>] ,[<]n1cc([<5])nn1,[>5]COCC(COC[>5])(COC[>5])C[]} | การเปลี่ยนแปลงคำอธิบายพันธะ | 2 |
ตารางที่ 5. ข้อความค้นหากราฟทอพอโลยี
บิ๊กสมาร์ท | ความหมาย | # BigSMILES ฮิต |
---|---|---|
- | วัตถุสุ่ม wildcard ตรงกับโพลีเมอร์ทั้งหมด | 489 |
- | มีเพียงวัตถุสุ่มเดียวเท่านั้น ซึ่งไม่ตรงกับ diblocks, triblocks หรือ stars | 382 |
- | โครงสร้างย่อย diblock สามารถจับคู่กับ triblocks และ tetrablocks ได้ | 107 |
- | โครงสร้างย่อย diblock โดยไม่มีบล็อกอื่น | 78 |
- | โครงสร้างย่อย triblock สามารถจับคู่กับ tetrablocks และ hexablocks | 15 |
- | โครงสร้างย่อยแบบไตรบล็อกที่ไม่มีบล็อกอื่น | 2 |
- | โทโพโลยีแบบแบ่งส่วน (วัตถุที่ซ้อนกันตามแนวกระดูกสันหลัง) | 10 |
- | กราฟต์โทโพโลยี (วัตถุที่ซ้อนกันบนไซด์เชน) | 11 |
- | โครงสร้างย่อยโพลีเมอร์แบบดาว 3 แขน | 21 |
ตารางที่ 6. กลุ่มฟังก์ชันตามเคียวรีกระดูกสันหลัง
บิ๊กสมาร์ท | วิชาเคมี | # BigSMILES ฮิต |
---|---|---|
{[][<]C(=O)O?*[>][]} | โพลีเอสเตอร์ | 75 |
{[][<]OC(=O)O?*[>][]} | โพลีคาร์บอเนต | 29 |
{[][<]NC(=O)O?*[>][]} | ยูรีเทน | 1 |
{[][<]C=C?*[>][]} | โพลิเดียน | 31 |
{[][<]NC(=O)N?*[>][]} | โพลียูเรีย | 6 |
นี่เป็นกรณีธรรมดา แต่ไม่มีข้อจำกัดเกี่ยวกับจำนวนหน่วยการทำซ้ำและกลุ่มสิ้นสุดในการสืบค้นและเป้าหมาย ซึ่งเพิ่มความซับซ้อนในการค้นหาอย่างมาก อัลกอริธึมจะจัดการกรณีเหล่านี้ทั้งหมด
https://doi.org/10.5281/zenodo.10702689
ชุดข้อมูลเผยแพร่ภายใต้ CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) ใน Zenodo (https://doi.org/10.5281/zenodo.10702689)