DNA มีสิ่งที่คล้ายกับคำสั่ง IF, ลูป WHILE หรือการเรียกใช้ฟังก์ชันหรือไม่?
- คำถามคือใน DNA มีโครงสร้างอย่างคำสั่ง IF, การกระโดดแบบ GOTO หรือ ลูป WHILE หรือไม่
- ในการพัฒนาซอฟต์แวร์ โครงสร้างเหล่านี้ทำหน้าที่รันบล็อกโค้ดเมื่อเงื่อนไขบางอย่างเป็นจริง
ตัวอย่างทางชีววิทยาที่คล้ายกับไวยากรณ์การเขียนโปรแกรม
- IF: ยีนจะถูกถอดรหัสเมื่อมี transcription activator factor อยู่ และเหตุการณ์จะไม่สิ้นสุดจนกว่าโปรแกรมจะจบลงด้วยการตายของเซลล์
- WHILE: ยีนจะถูกถอดรหัสตราบเท่าที่ไม่มี transcription repressor factor อยู่
- ไม่มีสิ่งที่เทียบได้โดยตรงกับการเรียกใช้ฟังก์ชัน ทุกเหตุการณ์เกิดขึ้นในพื้นที่เดียวกันและอาจรบกวนกันได้
- GOTO: ขึ้นอยู่กับเงื่อนไข และอาจเกิดขึ้นได้ในเครือข่ายการเชื่อมต่อบางแบบ เช่น ถ้าเส้นทางสัญญาณเป็น A → B → C และมีการเชื่อมต่ออีกทางจาก D → C เมื่อ D ถูกกระตุ้น ก็อาจส่งผลต่อ C ได้โดยตรงโดยไม่ต้องผ่าน A และ B
- มีกรณีของการสร้าง logic gate โดยใช้วงจรชีววิทยาสังเคราะห์
การเปรียบเทียบระหว่าง DNA กับโค้ดคอมพิวเตอร์
- ไม่สามารถเปรียบเทียบ DNA กับโค้ดคอมพิวเตอร์ได้โดยตรง สิ่งสำคัญไม่ใช่โครงสร้างทางไวยากรณ์ แต่เป็นตรรกะที่อยู่ข้างใต้
- DNA เป็นเพียงชุดของคำสั่ง และยังไม่ใช่สิ่งที่ทำงานได้อย่างสมบูรณ์ในตัวเอง
- เซลล์มีคุณสมบัติแบบแอนะล็อก ดังนั้นในสถานการณ์ส่วนใหญ่ค่าของตัวแปรจึงไม่ใช่ 0/1 แบบไบนารี
DNA ไม่ได้คล้ายกับโค้ดคอมพิวเตอร์
- โค้ดคอมพิวเตอร์มีลำดับการทำงาน แต่ DNA ทำงานแบบขนานและไม่ได้เป็นลำดับต่อเนื่อง
- โค้ดคอมพิวเตอร์มีความหมายที่เข้มงวดและสม่ำเสมอ แต่ DNA ถูกแปลเป็นกรดอะมิโน และปฏิสัมพันธ์ทางเคมีที่ซับซ้อนระหว่างสิ่งเหล่านี้เป็นตัวกำหนดหน้าที่ของโปรตีน
- หากจะหาสิ่งที่คล้ายกับเส้นทางการทำงานแบบคอมพิวเตอร์ ควรไปมองที่ระดับโปรตีน ไม่ใช่ระดับ DNA
ชีววิทยาสังเคราะห์
- มีบางจุดที่สามารถเปรียบเทียบระหว่างวิธีที่ยีนถูกแสดงออกจาก DNA กับฟังก์ชันเชิงตรรกะได้ แต่ก็ไม่สมบูรณ์
- ชีววิทยาสังเคราะห์กำลังพัฒนาเป็นสาขาใหม่ที่พยายามผสานฟังก์ชันเชิงตรรกะเข้าไปในชีววิทยา
การรบกวนการถอดรหัส
- transcription interference อาจมองได้ว่าเป็นรูปแบบหนึ่งของคำสั่ง IF (หรือ WHILE)
- DNA มีความหมายต่อการรันโค้ดแบบลำดับเท่านั้น แต่ในความเป็นจริงมีการถอดรหัสจำนวนมากเกิดขึ้นพร้อมกันแบบขนาน
การอภิปรายเพิ่มเติมเกี่ยวกับการเรียกใช้ฟังก์ชัน
- nuclear receptor เป็นตัวอย่างที่ดีของการเรียกใช้ฟังก์ชัน เพราะเมื่อมันถูกกระตุ้น จะไปเปิดการยับยั้ง/การกระตุ้นยีนของซับรูทีนภายในเซลล์ รวมถึงกระบวนการลำดับถัดไป
โครงสร้างระดับล่างที่คล้ายการเขียนโปรแกรม
- FUNCTION CALL: การสลับหน่วยย่อยเดี่ยวภายในโปรตีนเชิงซ้อนมีลักษณะคล้ายกับการเรียกใช้ฟังก์ชัน
- IF: ผ่าน alternative splicing ทำให้บางส่วนของ DNA (exon) อาจถูกรวมหรือไม่ถูกรวมอยู่ในทรานสคริปต์ที่เข้ารหัสโปรตีนสุดท้าย
ความเห็นของ GN⁺
- บทความนี้นำเสนอการอภิปรายที่น่าสนใจว่า DNA มีโครงสร้างคล้ายภาษาการเขียนโปรแกรมคอมพิวเตอร์หรือไม่
- แม้การเปรียบเทียบ DNA กับโค้ดคอมพิวเตอร์โดยตรงจะไม่แม่นยำ แต่ก็ช่วยให้เข้าใจหลักการทำงานเชิงตรรกะในระบบชีวภาพได้
- ความก้าวหน้าของชีววิทยาสังเคราะห์กำลังเปิดโอกาสใหม่ในการผสานฟังก์ชันเชิงตรรกะเข้ากับระบบชีวภาพ ซึ่งอาจส่งผลสำคัญต่อการวิจัยและการประยุกต์ใช้ด้านเทคโนโลยีชีวภาพในอนาคต
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
DNA ไม่มีโครงสร้างการเขียนโปรแกรม แต่พอมองได้ว่ามันทำงานคล้ายโครงข่ายประสาทเทียม เครือข่ายการควบคุมยีนมีความคล้ายกับโครงข่ายประสาทตรงที่เป็นโหนดที่เชื่อมต่อกัน (ยีนและโปรตีน) ซึ่งประมวลผลข้อมูลและมีอิทธิพลต่อกิจกรรมของกันและกัน
สิ่งที่แปลกของ mtDNA คือมียีนที่แยกจากกันสองยีนซ้อนทับกันโดยใช้ reading frame คนละแบบ ตอนจบของยีนหนึ่งตรงกับจุดเริ่มต้นของอีกยีนหนึ่ง และมีการจัดเรียงให้ใช้ประโยชน์จากลักษณะนี้ในจีโนมไมโทคอนเดรียแบบวงกลม
ในฐานะผู้สอนด้านความคิดสร้างสรรค์และกระบวนการนวัตกรรม ผู้เขียนแบ่งปันตัวอย่างสิ่งประดิษฐ์ที่ได้มาจากการสังเกตธรรมชาติกับนักเรียน (เช่น Velcro เกิดจากการที่ผู้ประดิษฐ์สังเกตเห็นเมล็ดพืชมีหนามที่ติดขนสุนัข)
โพสต์นี้ดูเหมือนจะขี้เกียจไปหน่อย แต่ก็ทำให้เกิดความเห็นที่น่าสนใจอยู่พอสมควร หวังว่าจะมีคนเปลี่ยนมุมมองต่อ software engineering มากขึ้น
สำหรับคนที่สนใจ computational biology การบรรยายของ George Church นั้นยอดเยี่ยมมาก
ยีน KMT2D เป็นหนึ่งในยีนที่ทราบกันว่าควบคุมการแสดงออกของยีนอื่น ความผิดปกติของยีนนี้มักทำให้เกิด Kabuki syndrome
Tim Blais บน YouTube ได้ทำเพลงเกี่ยวกับเครื่องจักรระดับโมเลกุลที่ทั้งให้ความรู้และสนุก โดยอิงจากงานวิจัยของ A. Leigh มีแอนิเมชันแสดงให้เห็นว่าสวิตช์ทางไฟฟ้าเคมีเข้ารหัสสถานะไบนารีอย่างไร และชี้ให้เห็นว่าโดยหลักการแล้วสามารถสร้าง logic gate ได้
ลองคิดว่า DNA คือการเขียนโปรแกรมที่ดำเนินต่อเนื่องมาหลายล้านปี เป็นชุดของโค้ดที่เชื่อมต่อกัน ทำงานได้ไม่ค่อยดี ไม่มีคอมเมนต์ และไม่มีเอกสารอธิบาย จนเหตุผลว่าทำไมโค้ดถึงเป็นแบบนั้นก็ถูกลืมเลือนไปหมดตามกาลเวลา การเปลี่ยนแปลงมันเป็นเรื่องไม่ดี โค้ดบางก้อนนำไปสู่พฤติกรรมบางอย่าง และยิ่งดูโค้ดมากเท่าไร ก็ยิ่งดูเหมือน spaghetti code มากขึ้นเท่านั้น
ชุดสไลด์นี้ให้ภาพรวมที่ดีของงานบางส่วนที่ทำในด้าน DNA computing โดยเฉพาะการใช้กลไกของ DNA เพื่อแก้ปัญหา TSP (Traveling Salesman Problem) ซึ่งน่าสนใจมาก
transcription activator (IF) จะมีอยู่เมื่อยีนกำลังถูกถอดรหัส และ transcription repressor (WHILE) ทำให้ยีนถูกถอดรหัสไปเรื่อย ๆ จนกว่าจะไม่มี repressor