DNA มีฟังก์ชันเทียบเท่ากับคำสั่ง IF, ลูป WHILE หรือการเรียกฟังก์ชันหรือไม่?
(biology.stackexchange.com)- แม้จะยากที่จะมอง DNA เป็นโค้ดโปรแกรมที่รันแบบลำดับ แต่ในการแสดงออกของยีนและเส้นทางสัญญาณของเซลล์มีกลไกควบคุมที่เทียบได้กับ ตรรกะแบบ IF/WHILE
- transcriptional activator และ transcriptional repressor สอดคล้องแบบหลวม ๆ กับ IF และ WHILE ตามลำดับ ในแง่ที่ว่ามันเปิดหรือยับยั้งการถอดรหัสยีนตามเงื่อนไข
- บล็อกอินพุต-เอาต์พุตที่เป็นอิสระเหมือนการเรียกฟังก์ชันนั้นเกิดขึ้นได้ยากภายในเซลล์ และปฏิกิริยาที่เกิดในพื้นที่เดียวกันอาจรบกวนกันได้
- กรณีที่คล้าย GOTO พบได้ในเครือข่ายการเชื่อมต่อแบบมีเงื่อนไข, feedforward loop และเส้นทางแตกแขนง แต่มีข้อจำกัดสำคัญคือ DNA ไม่ได้ถูกรันแบบลำดับ
- ระบบชีววิทยาโดยทั่วไปเป็นแบบ ขนานและแอนะล็อก ดังนั้นแม้จะมีตัวอย่าง logic gate ในชีววิทยาสังเคราะห์ ก็ควรใช้คำเปรียบเทียบกับโค้ดคอมพิวเตอร์อย่างระมัดระวัง
ข้อจำกัดของการเปรียบเทียบ DNA กับภาษาโปรแกรม
- DNA ไม่ได้ถูก รันแบบลำดับ เหมือนโค้ดคอมพิวเตอร์ และการถอดรหัสจำนวนมากเกิดขึ้นพร้อมกันแบบขนาน
- โค้ดคอมพิวเตอร์หนึ่งบรรทัดมีความหมายที่เคร่งครัดและสม่ำเสมอ แต่ coding DNA ถูกแปลเป็นกรดอะมิโน และหน้าที่ของโปรตีนเกิดจากปฏิสัมพันธ์ทางเคมีที่ซับซ้อนระหว่างกรดอะมิโน
- ชิ้นส่วน coding DNA เข้าใจแบบอิสระได้ยากหากแยกออกจาก บริบทของโปรตีน ที่ชิ้นส่วนนั้นสร้างขึ้น
- ในระบบชีววิทยาก็มีเส้นทางที่ทำงานคล้ายคอมพิวเตอร์ แต่การเปรียบเทียบเช่นนี้ควรพิจารณาอย่างระมัดระวังในระดับโปรตีนมากกว่าระดับ DNA
การควบคุมยีนที่ใกล้เคียงกับ IF และ WHILE
- transcriptional activator อาจมองเป็นตัวอย่างที่คล้าย IF เพราะเมื่อมีอยู่ก็ทำให้ยีนบางตัวถูกถอดรหัส
- อย่างไรก็ตาม เหตุการณ์จะไม่สิ้นสุดจนกว่าสัญญาณจะหายไป และโปรแกรมยังดำเนินต่อไปตราบเท่าที่เซลล์ยังมีชีวิต ดังนั้น IF จึงทำงานเหมือนเป็นส่วนหนึ่งของลูปเสมอ
- transcriptional repressor ถูกเปรียบกับ WHILE ในแง่ที่ว่ายีนจะถูกถอดรหัสระหว่างที่ไม่มีตัวยับยั้งอยู่
- transcriptional interference ก็อาจตีความได้ว่าเป็นรูปแบบที่ใกล้เคียงกับ IF หรือ WHILE
- ตัวอย่าง:
if(x transcribed){not y transcribed} - การรบกวนนี้ไม่จำเป็นต้องเป็นแบบไบนารี และมักปรากฏเป็นการตอบสนองแบบเป็นระดับมากกว่า
- ตัวอย่าง:
- ในระดับ RNA ก็เกิด transcriptional interference โดยใช้ antisense RNA ได้เช่นกัน และมักให้ ลูปป้อนกลับเชิงลบ
- ในกรณีนี้ การรบกวนไม่ใช่สิ่งเทียบเคียงคำสั่ง IF ที่เกิดขึ้นโดยตรงในระดับ DNA
การเรียกฟังก์ชันและเส้นทางแบบโมดูลาร์
- โครงสร้างที่สอดคล้องกับการเรียกฟังก์ชันอย่างแม่นยำหาได้ยาก
- เหตุการณ์ภายในเซลล์เกิดขึ้นในพื้นที่เดียวกันและมีโอกาสรบกวนกันได้เสมอ
- ออร์แกเนลล์ของเซลล์อาจมีคุณสมบัติคล้ายฟังก์ชันในฐานะช่องส่วน แต่ไม่ใช่อุปกรณ์อินพุต-เอาต์พุตที่เรียบง่าย หากเป็นโครงสร้างที่ซับซ้อนมาก
- เส้นทางแบบโมดูลาร์ บางส่วนอาจเปรียบกับการเรียกฟังก์ชันได้อย่างหลวม ๆ
- ตัวอย่าง: วิธีปฏิบัติกับช่วงหนึ่งใน apoptosis signaling ที่อินพุตบางอย่างนำไปสู่ผลลัพธ์ที่ค่อนข้างคงที่ เสมือนเป็นบล็อกโค้ดหนึ่งบล็อก
- หากถือว่ากระบวนการระหว่างการกระตุ้น caspase กับ cytochrome leakage เป็นบล็อกเดียว ก็สามารถอธิบายกลไกหลายอย่างให้สั้นลงได้
- กระบวนการติดป้ายโปรตีนด้วย ubiquitin อาจตีความได้เหมือนการเรียกฟังก์ชันเพื่อการย่อยสลาย
- nuclear receptor เมื่อถูกกระตุ้นด้วยลิแกนด์ จะเคลื่อนจากไซโทพลาซึมเข้าสู่นิวเคลียส ทำให้เกิดการยับยั้งหรือกระตุ้นยีนและกระบวนการต่อเนื่อง จึงอาจมองเป็นตัวอย่างของการเรียกฟังก์ชันได้
- ในโปรตีนเชิงซ้อนที่ประกอบจากหน่วยย่อยหลายหน่วย กระบวนการแทนที่หน่วยย่อยเดี่ยวถูกเปรียบกับแนวคิดการเรียกฟังก์ชันหรือ composition
GOTO และเส้นทางแตกแขนง
- GOTO มีความหมายหลักในโค้ดที่รันแบบลำดับ และเพราะ DNA ไม่ได้รันแบบนั้น จึงเทียบกันโดยตรงได้ยาก
- ในเครือข่ายการเชื่อมต่อแบบมีเงื่อนไข อาจพบโครงสร้างที่คล้าย GOTO ได้
- ตัวอย่าง: เมื่อมีเส้นทาง A→B→C และมีการเชื่อมต่อแยก D→C หาก D ถูกกระตุ้น ก็จะส่งผลต่อ C โดยตรงโดยไม่ผ่าน A และ B
- feedforward loop และ เส้นทางแตกแขนง อาจดูเหมือนการข้ามขั้นตอนกลางภายใต้เงื่อนไขบางอย่าง
- เคยมีการตีความในลักษณะความคิดเห็นว่า intron splicing อาจมองได้คล้าย GOTO ที่ทำให้พอยน์เตอร์ของไรโบโซมข้ามค่าบางค่าไป แต่ประเด็นหลักคือ DNA ไม่มีโครงสร้างการรันแบบลำดับ
splicing และโครงสร้างแบบโปรแกรมในระดับย่อย
- alternative splicing ถูกเปรียบกับ IF ในแง่ที่ว่า exon ซึ่งเป็นชิ้นส่วน DNA บางชิ้นอาจถูกรวมหรือถูกตัดออกจากทรานสคริปต์ที่เข้ารหัสโปรตีนสุดท้าย
- การเปรียบเทียบระดับย่อยเช่นนี้แสดงให้เห็นความคล้ายคลึงระหว่างแนวคิดการเขียนโปรแกรมกับการควบคุมทางชีววิทยา แต่ยากที่จะมองว่าเป็นสิ่งเทียบเท่าที่แม่นยำ
- หากต้องการอธิบายการไหลของข้อมูลภายในเซลล์ ต้องดูไม่ใช่แค่ DNA แต่รวมถึงทรานสคริปต์ โปรตีน และเครือข่ายการควบคุมด้วย
วงจรตรรกะในชีววิทยาสังเคราะห์
- ในชีววิทยาสังเคราะห์ มีตัวอย่างการสร้าง logic gate ด้วยวงจรชีวภาพ
- มีการแนะนำรีวิวที่เกี่ยวข้องคือ รีวิววงจรชีววิทยาสังเคราะห์ใน Nature Reviews Genetics
- Siuti et al. 2013 เป็นตัวอย่างที่ใช้แบคทีเรียในการเก็บข้อมูลและประกอบเป็นวงจรชีวภาพเพื่อประมวลผลฟังก์ชันตรรกะ
- โปรแกรม biobricks.org ถูกแนะนำว่าเป็นความพยายามในการกำหนด ชิ้นส่วนแบบโมดูลาร์ เช่น เซนเซอร์ ฟังก์ชันตรรกะ และเอฟเฟกเตอร์
เซลล์ใกล้เคียงกับ feedback แบบแอนะล็อกมากกว่าโค้ดดิจิทัล
- เซลล์มีลักษณะ แอนะล็อก เหมือนระบบทางกายภาพจำนวนมาก และในสถานการณ์ส่วนใหญ่ ตัวแปรไม่ได้แบ่งเป็นค่าไบนารี 0/1
- ในการแสดงออกของยีน หากมี transcriptional activator ยีนจะถูกถอดรหัส แต่เมื่อเพิ่มความเข้มข้นของ activator ระดับการแสดงออกจะเพิ่มขึ้นจนถึงจุดอิ่มตัว
- ในระบบชีววิทยา ก็สามารถเกิดพฤติกรรมแบบสวิตช์ได้
- โครงสร้างเครือข่ายควบคุมบางแบบสามารถสร้างพลวัตเช่นนั้นได้
- co-operativity ที่มีหรือไม่มี feedback เชิงบวก เป็นหนึ่งในกลไกที่ทำให้เกิดพฤติกรรมแบบสวิตช์
- มีการแนะนำแนวคิดที่เกี่ยวข้องคือ ultrasensitivity และ คำถามใน Biology Stack Exchange ที่พูดถึง “การทำให้ตัวแปรต่อเนื่องกลายเป็นตัวแปรบูลีนได้หรือไม่”
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
DNA อาจไม่มีโครงสร้างแบบการเขียนโปรแกรม แต่ก็มีด้านที่ ทำงานคล้ายโครงข่ายประสาท อยู่ ลองดู “เครือข่ายควบคุมยีน (Gene regulatory network)”
โปรตีนบางชนิดมีหน้าที่เพียงกระตุ้นยีนอื่น ๆ และ ปัจจัยการถอดรหัส เหล่านี้เป็นหัวใจของเครือข่ายควบคุมหรือปฏิกิริยาลูกโซ่ มันจับกับบริเวณโปรโมเตอร์ที่อยู่ตอนต้นของยีนอื่นเพื่อเปิดยีนนั้น แล้วเริ่มการผลิตโปรตีนอื่นต่อไป ปัจจัยการถอดรหัสบางชนิดก็ทำหน้าที่ยับยั้งด้วย
เครือข่ายแบบนี้คล้ายโครงข่ายประสาทตรงที่มันประมวลผลข้อมูลผ่านโหนดที่เชื่อมโยงกันอย่างยีนและโปรตีน และเปลี่ยนกิจกรรมของกันและกัน เมื่อปัจจัยการถอดรหัสกระตุ้นหรือยับยั้งยีนหนึ่ง ก็อาจเกิดเหตุการณ์ต่อเนื่องเป็นลูกโซ่ ซึ่งคล้ายกับวิธีที่นิวรอนกระตุ้นกันและกัน
https://en.m.wikipedia.org/wiki/Gene_regulatory_network
มีความคืบหน้าไม่น้อยในการวิศวกรรมโปรแกรมที่ทำให้ T cell ของมนุษย์ฆ่าเซลล์มะเร็งเป้าหมายแบบ มีเงื่อนไข ตามการแสดงออกของตัวบ่งชี้บนพื้นผิว ซึ่งต่างจากเซลล์ CAR-T ที่มีอยู่ในตลาดแล้ว (เช่น Kymriah) วงจร T cell แบบ AND gate อย่างง่ายกำลังอยู่ระหว่างการทดสอบในมนุษย์
ตอนนี้มีกลยุทธ์หลายแบบในการเขียนโปรแกรมการตัดสินใจของเซลล์ด้วยวงจรสังเคราะห์ เรากำลังก้าวเข้าสู่ยุคที่เขียนโปรแกรม DNA แล้วใส่เข้าไปในร่างกายมนุษย์ และในตอนนี้ที่กำลังขยับจาก proof of concept ในแบคทีเรียไปสู่การทดลองทางคลินิกจริงในมนุษย์ ผมสงสัยว่าจะทำอย่างไรให้คนสายวิทยาการคอมพิวเตอร์สนใจ “ชีววิทยาสังเคราะห์ในฐานะการเขียนโปรแกรม” มากขึ้น
https://pubmed.ncbi.nlm.nih.gov/33243890/
https://arsenalbio.com/2023/05/16/arsenalbio-announces-prese...
ข้ออ้างทำนองว่าเมื่อลำดับ DNA หนึ่งมีปฏิสัมพันธ์กับสนามแม่เหล็กไฟฟ้า แรงโน้มถ่วง แรงเข้ม/แรงอ่อนที่มีคุณสมบัติ xyz แล้วจะเกิดการกลายพันธุ์ตามเส้นทาง abc นั้น หากไม่มีการวิเคราะห์เชิงสถิติที่ทำซ้ำได้มารองรับ ก็ควรทิ้งไป
ผมคิดว่าความหมกมุ่นกับ data model ในวงการ IT ผลักคนไปสู่กึ่งวิทยาศาสตร์เทียมที่มองข้ามเอนโทรปีและ Lindy effect โครงสร้างเปลี่ยนได้ แต่แรงทางกายภาพไม่เป็นเช่นนั้น โครงสร้างข้อมูลไม่ใช่แรงทางกายภาพ แต่เป็น mental model ที่รั่วไหลซึ่งชีววิทยาทำ garbage collection เพราะเอนโทรปีและ Lindy effect มากกว่า
นี่คือความคิดของวิศวกรไฟฟ้าคนหนึ่งที่มองว่าความหมกมุ่นกับการพัฒนาซอฟต์แวร์นั้นประหลาด และเต็มไปด้วยภาพลวงตาทางสถิติกับความสำเร็จที่หลอนขึ้นมา
เครือข่ายควบคุมยีนมีความเป็นพลวัตมากกว่าแค่เปิด/ปิดแบบเข้มงวดเล็กน้อย แต่เพราะมีปฏิสัมพันธ์หลายประเภท เช่น enhancer และ repressor จึงดูเหมือนจะสร้างโมเดลเป็น logic gate ได้ดีกว่าโครงข่ายประสาททั่วไป
คำว่าทั่วไปในที่นี้หมายถึง มันสามารถประมาณหรือสร้างโมเดลให้กับระบบพลวัตจำนวนมากที่ทำ การประกอบเชิงตัวดำเนินการ ได้
ผมสอนวิชาความคิดสร้างสรรค์และนวัตกรรมในมหาวิทยาลัย ผมยกตัวอย่างสิ่งประดิษฐ์ที่เริ่มจากการสังเกตธรรมชาติให้นักศึกษาดูมากมาย เช่น Velcro เกิดจากการที่นักประดิษฐ์เห็นผลของต้นหญ้าเจ้าชู้ติดอยู่กับขนสุนัขของเขา
ผมมีสัญชาตญาณว่า หากสังเกตธรรมชาติ โดยเฉพาะวิธีที่ จิตใจมนุษย์ ทำงาน ก็น่าจะยังมีการค้นพบเกี่ยวกับคอมพิวติ้งเหลืออยู่ ผมจินตนาการว่าผลลัพธ์นั้นน่าจะเป็นเรื่องพื้นฐานถึงขั้นเปลี่ยนวิธีที่เราเข้าใจคอมพิวติ้งเอง
https://arxiv.org/pdf/1307.4186.pdf
แนวคิดสำคัญอย่างหนึ่งคือ หลายกรณีเป็น แรงบันดาลใจ มากกว่าการคัดลอกการออกแบบโดยตรง ชีววิทยาทำงานภายใต้ข้อจำกัดที่ต่างจากเครื่องจักรของมนุษย์มาก ดังนั้นหากวิศวกรหรือนักออกแบบพยายามยึดตามต้นแบบทางชีววิทยามากเกินไป ก็อาจไม่สำเร็จได้
ผมมักคิดว่า DNA เป็นเหมือนการเขียนโปรแกรมที่ยาวนานหลายล้านปี เป็นชุดโค้ดแฮ็ก ๆ ที่พอทำงานได้ เรียงต่อกันโดยไม่มีคอมเมนต์หรือเอกสารประกอบ
เหตุผลที่โค้ดบางส่วนมีหน้าตาแบบนั้นสูญหายไปกับกาลเวลาโดยสิ้นเชิง สิ่งที่เรารู้มีเพียงว่า หากไปแก้มันส่วนใหญ่จะให้ผลแย่ โค้ดบางก้อนนำไปสู่พฤติกรรมบางอย่าง และยิ่งดูเข้าไปลึกเท่าไร ก็ยิ่งดูเหมือน spaghetti code
ยีน KMT2D เป็นหนึ่งในตัวอย่างของยีนที่ควบคุมการแสดงออกของยีนอื่น ๆ หากยีนนี้มีความบกพร่อง มักทำให้เกิด กลุ่มอาการคาบูกิ
ถ้าจำไม่ผิด ในบรรยายของ Bert Hubert เรื่อง 'DNA: The Code of Life (SHA2017)' มีตัวอย่างพฤติกรรมคล้าย IF ให้ดู
https://en.wikipedia.org/wiki/KMT2D
https://en.wikipedia.org/wiki/Kabuki_syndrome
https://www.youtube.com/watch?v=EcGM_cNzQmE
เกี่ยวกับคำตอบแรก Tim Blais บน YouTube ได้ทำ เพลงเพื่อการศึกษาเชิงบันเทิง ที่ติดหูเกี่ยวกับเครื่องจักรโมเลกุล โดยอิงจากงานวิจัยของ A. Leigh
แอนิเมชันก็ยอดเยี่ยม และแสดงให้เห็นว่า “สวิตช์” ทางไฟฟ้าเคมีสามารถเข้ารหัสสถานะไบนารีได้อย่างไร โดยหลักการแล้วสามารถใช้สิ่งนี้สร้างลอจิกเกตได้ด้วย
https://www.youtube.com/watch?v=ObvxPSQNMGc
https://pubs.acs.org/doi/10.1021/acs.chemrev.5b00146
https://www.nature.com/articles/s41467-021-26937-x
บริษัทบางแห่งพยายามใช้แนวทางแบบนี้ในการออกแบบยา เช่น เงื่อนไขทำนองว่า “ให้เปิดใช้งานสิ่งนี้เฉพาะเมื่อแอนติบอดีทั้งสองตัวจับกันแล้วเท่านั้น”
เป็นคำถามที่น่าสนใจ การเข้ารหัสและการแสดงออกทางพันธุกรรมนั้นโดยพื้นฐานแล้วเป็นแบบ เชิงความน่าจะเป็น เพราะต้องเป็นเช่นนั้นวิวัฒนาการจึงจะเกิดขึ้นได้
ในทางกลับกัน หากการทำงานพื้นฐานของ CPU มีอัตราข้อผิดพลาดในระดับใกล้เคียงกัน ก็คงแย่มาก คอมเมนต์ระดับบนที่พูดถึงการสร้างลอจิกเกตด้วยวงจรชีวภาพนั้นน่าสนใจ และในทางกลับกันก็สงสัยว่ามีตัวอย่างภาษาการเขียนโปรแกรมเชิงความน่าจะเป็นที่ทำการคำนวณโดยมี noise ในระดับใกล้เคียงกับเซลล์หรือไม่
อุปมาที่ใกล้กว่าน่าจะเป็นภาษาอธิบายฮาร์ดแวร์ที่ใช้สังเคราะห์วงจรอนาล็อกสำหรับการคำนวณ วงจรแบบนั้นคล้ายคอมพิวเตอร์อนาล็อกที่ได้รับผลกระทบจากสัญญาณรบกวนรังสีแม่เหล็กไฟฟ้าในสภาพแวดล้อม
ในความหมายนี้ จึงอาจถือว่าเคยเกิดขึ้นแล้วในรูปแบบพื้นฐานมากในยุคการคำนวณก่อนดิจิทัล
หากมีแล็กโทสในสภาพแวดล้อมภายนอกเซลล์ และไม่มีกลูโคสในสภาพแวดล้อมภายนอกเซลล์ ก็จะเปิดใช้งาน lac operon และถอดรหัสยีนสำหรับการดูดซึมและเมแทบอลิซึมของแล็กโทส แล้วเข้าสู่ while loop
ตราบใดที่ยังมีแล็กโทส ก็จะถอดรหัสยีนเหล่านั้นต่อไป
แต่สิ่งนี้ไม่ได้เกิดจาก DNA เพียงลำพัง แต่เกิดขึ้นในฐานะองค์ประกอบหนึ่งของระบบเซลล์ ในกรณีนี้ E. coli จะสร้างตัวขนส่งแล็กโทสและน้ำตาลชนิดอื่นในปริมาณขั้นต่ำอยู่เสมอ และสิ่งเหล่านี้ทำหน้าที่เหมือนเซ็นเซอร์ที่เยื่อหุ้มเซลล์เพื่อกระตุ้นวงจรป้อนกลับ มิฉะนั้นเซลล์จะรู้ได้อย่างไรว่ามีแล็กโทสอยู่
หากมีกลูโคส E. coli จะใช้กลูโคสก่อน และลดการควบคุมยีนสำหรับการดูดซึมและเมแทบอลิซึมของน้ำตาลชนิดอื่น ทั้งหมดนี้ค่อนข้าง เป็นอนาล็อก มากกว่าดิจิทัล ดังนั้นแม้ยีนที่ “ปิด” อยู่ก็ยังอาจถูกถอดรหัสได้ในระดับต่ำมาก
DNA ใกล้เคียงกับ RAM มากกว่า ส่วน CPU อาจคล้ายกับทรานสคริปโตม (DNA → mRNA) และไรโบโซม (mRNA → โปรตีน) โดยรวมแล้วเซลล์จึงเหมือนกำลังรันบางอย่างที่คล้ายวงจร fetch-decode-execute ของหลายโปรเซสแบบขนาน
ผม/ฉันเคยสงสัยเกี่ยวกับ DNA จากมุมมองของภาษาโปรแกรมมิงอยู่เสมอ แต่คิดมาตลอดว่ามันใกล้เคียงกับ โครงสร้างข้อมูล มากกว่าภาษา
เคยสนใจชีววิทยาสังเคราะห์อยู่ช่วงหนึ่งและอ่านตำราเบื้องต้นเล่มนี้: https://www.amazon.ca/Introduction-Systems-Biology-Principle...
หากคุณเคยเรียนออสซิลเลเตอร์และระบบควบคุมระดับสูงที่ครอบคลุมหลายสาขาวิศวกรรมในวิชาแนว “วิศวกรรมระบบ” หรือ “ระบบควบคุม” หนังสือเล่มนี้เป็นบทนำที่ดีในการทำความเข้าใจว่าระบบเหล่านั้นถูก “นำไปใช้งาน” และทำงานภายในเซลล์อย่างไร มันใกล้กับ “วงจรลอจิกอย่างอัลกอริทึมการค้นหาเส้นทางของ E. coli ถูกนำไปใช้งานใน RNA อย่างไร” มากกว่า “IF” และ “WHILE” loop
หากสนใจ ชีววิทยาเชิงคำนวณ บรรยายของ George Church ยอดเยี่ยมมาก
ตามคำอธิบายรายวิชา คอร์สนี้ครอบคลุมความก้าวหน้าในการสร้างแบบจำลองเชิงปฏิบัติของความสัมพันธ์ระหว่างลำดับ โครงสร้าง และหน้าที่ในเครือข่ายชีววิทยาที่ซับซ้อน รวมถึงการวิเคราะห์ฟังก์ชันจีโนมิกส์เชิงปริมาณและครอบคลุม งานที่มอบหมายรวมถึงอัลกอริทึม สถิติ ฐานข้อมูล แนวทางการจำลอง และการประยุกต์ใช้ในแพทยศาสตร์ เทคโนโลยีชีวภาพ การพัฒนายา และพันธุวิศวกรรม
https://ocw.mit.edu/courses/hst-508-genomics-and-computation...