4
การสร้างโปรแกรมแก้ไข / สร้างภาพระดับโมเลกุล: การเขียนโปรแกรมเชิงวัตถุโครงสร้างข้อมูลและโมเลกุล
ฉันยังใหม่กับการเขียนโปรแกรมและฉันพยายามที่จะแก้ปัญหาใหญ่ครั้งแรกของฉันและเขียนโปรแกรมใหญ่ครั้งแรกของฉัน ฉันได้ค้นหาตัวอย่างโค้ดโอเพนซอร์ซที่จะเรียนรู้ แต่จนถึงขณะนี้มีเพียงพบรหัสในภาษาที่ฉันไม่เข้าใจอย่างสมบูรณ์หรือสิ่งที่เกี่ยวข้อง แต่ยังห่างไกลเกินไปที่ฉันจะเรียนรู้จากจริง ๆ ฉันมีปัญหาในการทำตามขั้นตอนบางอย่างที่นี่ ฉันต้องการสร้างซอฟต์แวร์ง่ายๆเพื่อสร้างดัดแปลงและต่อมาเป็นตัวแทนของโมเลกุลอินทรีย์ขนาดเล็ก นี่คือการออกกำลังกายการเรียนรู้เป็นหลัก ผู้ใช้จะให้สตริง SMILES หรือเลือกจากชุดโมเลกุลเริ่มต้นพื้นฐานและจากนั้นสามารถสร้างบนโมเลกุลนั้นทั้งแบบกราฟิกหรือผ่านไวยากรณ์อินพุตข้อความ อย่างไรก็ตามฉันยังไม่ถึงจุดที่ซับซ้อน ฉันไม่เข้าใจอย่างถ่องแท้ถึงวิธีการสร้างคลาส / วัตถุเพื่อจัดเก็บโมเลกุล ดังนั้นคำถามของฉันอย่างชัดเจน: ฉันจะใช้คลาส / วัตถุเพื่อสร้างโมเลกุลในขณะที่เก็บข้อมูลในทุกระดับได้อย่างไรและฉันควรใช้โครงสร้างข้อมูลใดเป็นคุณลักษณะของวัตถุใด และวัตถุสามารถเป็นคุณลักษณะของวัตถุอื่นได้หรือไม่? นี่คือความคิดของฉันจนถึงตอนนี้ฉันกำลังคิดว่าจะมีคลาส "โมเลกุล" จากนั้นก็เป็นคลาส / คลาสย่อย "อะตอม" และคลาสย่อย "บอนด์" และอาจเป็นคลาสย่อย "FunctionalGroup" ด้วย ดูเหมือนจะเป็นจุดเริ่มต้นที่ดี แต่บางทีฉันอาจเข้าใจผิดว่า OOP และนี่เป็นสิ่งที่ไม่ดี แต่แล้วปัญหาของฉันก็ทำให้สับสน (สำหรับฉัน) แม้ว่าฉันจะมีแนวคิด / ความคิด / ชั้นเรียนเหล่านี้ทั้งหมด แต่ฉันไม่เข้าใจอย่างเต็มที่ว่าโครงสร้างข้อมูลใดที่จำเป็นสำหรับการแทนโมเลกุล รายการของอะตอมน่าจะดี รายการนั้นอาจเป็นรายการวัตถุ Atom หรือไม่ ฉันจะต้องมีวิธีในการจัดเก็บการเชื่อมต่อ เมทริกซ์ 2D …