เซลล์เอ็มแอล

CellMLเป็นภาษามาร์กอัปแบบXMLสำหรับอธิบายแบบจำลองทางคณิตศาสตร์แม้ว่าในทางทฤษฎีแล้วจะสามารถอธิบายแบบจำลองทางคณิตศาสตร์ใดๆ ก็ได้ แต่เดิมสร้างขึ้นโดย คำนึงถึง โครงการ Physiomeเป็นหลัก ดังนั้นจึงใช้เป็นหลักในการอธิบายแบบจำลองที่เกี่ยวข้องกับสาขาชีววิทยา ซึ่งสะท้อนให้เห็นในชื่อ CellML แม้ว่าจะเป็นเพียงชื่อ ไม่ใช่คำย่อก็ตาม[ 1 ] CellML กำลังได้รับความนิยมเพิ่มขึ้นในฐานะรูปแบบการอธิบายแบบพกพาสำหรับแบบจำลองการคำนวณ และกลุ่มต่างๆ ทั่วโลกกำลังใช้ CellML สำหรับการสร้างแบบจำลองหรือพัฒนาเครื่องมือซอฟต์แวร์บนพื้นฐานของ CellML CellML คล้ายกับ Systems Biology Markup Language SBMLแต่ให้ขอบเขตที่กว้างกว่าสำหรับความเป็นโมดูลและการนำกลับมาใช้ใหม่ของแบบจำลอง และไม่ได้จำเพาะเจาะจงเฉพาะการอธิบายทางชีวเคมี
ประวัติศาสตร์
ภาษา CellML เกิดขึ้นจากความต้องการที่จะแบ่งปันแบบจำลองพลวัตของเซลล์หัวใจระหว่างนักวิจัยในหลายๆ แห่งทั่วโลก กลุ่มทำงานดั้งเดิมที่ก่อตั้งขึ้นในปี 1998 ประกอบด้วย David Bullivant, Warren Hedley และ Poul Nielsen ซึ่งทั้งสามคนเป็นสมาชิกของภาควิชาวิทยาศาสตร์วิศวกรรมศาสตร์ มหาวิทยาลัยโอ๊คแลนด์ในขณะนั้น ภาษาดังกล่าวเป็นการประยุกต์ใช้ข้อกำหนด XML ที่พัฒนาโดย World Wide Web Consortium โดยการตัดสินใจใช้ XML นั้นอิงตามคำแนะนำในช่วงปลายปี 1998 จาก Warren Hedley และ André (David) Nickerson ภาษาที่ใช้ XML ที่มีอยู่แล้วถูกนำมาใช้เพื่ออธิบายคณิตศาสตร์ (เนื้อหาMathML ) เมตาเดตา ( RDF ) และลิงก์ระหว่างทรัพยากร ( XLink ) กลุ่มทำงาน CellML ได้รับทราบถึงความพยายามของSBML เป็นครั้งแรก ในช่วงปลายปี 2000 เมื่อ Warren Hedley เข้าร่วมการประชุมเชิงปฏิบัติการครั้งที่ 2 เกี่ยวกับแพลตฟอร์มซอฟต์แวร์สำหรับชีววิทยาระบบในโตเกียว
คณะทำงานได้ร่วมมือกับนักวิจัยหลายท่านที่ Physiome Sciences Inc. (โดยเฉพาะ Melanie Nelson, Scott Lett, Mark Grehlinger, Prasad Ramakrishna, Jeremy Rice, Adam Muzikant และ Kam-Chuen Jim) เพื่อร่างข้อกำหนด CellML 1.0 ฉบับแรก ซึ่งเผยแพร่เมื่อวันที่ 11 สิงหาคม 2544 ร่างฉบับแรกนี้ตามมาด้วยข้อกำหนดสำหรับ CellML Metadata และการปรับปรุง CellML เพื่อรองรับการซ้อนโครงสร้างของโมเดลด้วยการเพิ่มองค์ประกอบ <import> นอกจากนี้ Physiome Sciences Inc. ยังผลิตซอฟต์แวร์ที่รองรับ CellML ตัวแรก และNational Resource for Cell Analysis and Modeling (NRCAM)ที่ University of Connecticut Health Center ก็ได้ผลิตซอฟต์แวร์ที่รองรับ CellML ในช่วงแรกเช่นกัน โดยเรียกว่าVCell
ในปี 2002 ได้มีการเขียนข้อกำหนด CellML 1.1 ขึ้น โดยมีการเพิ่มฟังก์ชันการนำเข้า (Imports) เข้ามา ฟังก์ชันการนำเข้าช่วยให้สามารถรวมส่วนประกอบภายนอกเข้ากับแบบจำลองได้ ทำให้สามารถสร้างแบบจำลองแบบโมดูลาร์ได้ ข้อกำหนดนี้ได้รับการสรุปในต้นปี 2006 แต่การทำงานเกี่ยวกับเมตาเดตาและข้อกำหนดอื่นๆ ยังคงดำเนินต่อไป
ในเดือนกรกฎาคม พ.ศ. 2552 เว็บไซต์ CellML ได้รับการปรับปรุงใหม่ทั้งหมด และมีการเปิดตัวซอฟต์แวร์คลังข้อมูล CellML เวอร์ชันเริ่มต้น (PMR2)
ในเดือนกรกฎาคม พ.ศ. 2563 ข้อกำหนด CellML 2.0 [ 2 ]ได้รับการเผยแพร่ ซึ่งมีการเพิ่มการรีเซ็ต การรีเซ็ตช่วยให้สามารถตั้งค่าตัวแปรเป็นค่าใดก็ได้เมื่อตรงตามเงื่อนไขที่กำหนดไว้ ทิศทางระหว่างการเชื่อมต่อถูกยกเลิกเพื่อช่วยในการใช้ส่วนประกอบซ้ำ และคำจำกัดความของหน่วยถูกจำกัดไว้เฉพาะในแบบจำลองเท่านั้น
เพื่อสนับสนุนข้อกำหนด CellML 2.0 โครงการ libCellMLจึงเริ่มต้นขึ้นในปี 2015 เพื่อจัดหาไลบรารี C++ ที่ใช้ API แบบจำลองให้กับนักพัฒนาแอปพลิเคชัน ไลบรารีนี้ได้รับการขยายอย่างรวดเร็วเพื่อรองรับ JavaScript, Julia และ Python เวอร์ชันล่าสุดของซอฟต์แวร์คือเวอร์ชัน 0.5.0 เวอร์ชัน 0.5.0 ของไลบรารีนี้รองรับข้อกำหนด CellML 2.0 ส่วนใหญ่ และยังรองรับการอ่านโมเดล CellML 1.1 และ CellML 1.0 ด้วย จุดสำคัญที่น่าสนใจคือ ไลบรารี libCellML ไม่รองรับการเขียนไปยังมาตรฐาน CellML รุ่นเก่ากว่า
โครงสร้างของโมเดล CellML
แบบจำลอง CellML ประกอบด้วยส่วนประกอบหลายส่วน โดยแต่ละส่วนจะอธิบายไว้ในองค์ประกอบส่วนประกอบของตนเอง ส่วนประกอบอาจเป็นสิ่งที่เป็นนามธรรมโดยสมบูรณ์ที่สร้างขึ้นเพื่อความสะดวกในการสร้างแบบจำลอง หรืออาจมีการตีความทางกายภาพที่แท้จริง (ตัวอย่างเช่น อาจแทนเยื่อหุ้มเซลล์ )
แต่ละส่วนประกอบประกอบด้วยตัวแปรจำนวนหนึ่ง ซึ่งจะต้องประกาศโดยการวางองค์ประกอบตัวแปรไว้ภายในส่วนประกอบนั้น ตัวอย่างเช่น ส่วนประกอบที่แสดงถึงเยื่อหุ้มเซลล์อาจมีตัวแปรชื่อ V ซึ่งแสดงถึงความต่างศักย์ (แรงดันไฟฟ้า) คร่อมเยื่อหุ้มเซลล์
ความสัมพันธ์ทางคณิตศาสตร์ระหว่างตัวแปรต่างๆ จะถูกแสดงออกมาภายในส่วนประกอบต่างๆ โดยใช้MathML MathML ใช้สำหรับสร้างนิพจน์แบบประกาศ (ตรงข้ามกับคำสั่งเชิงกระบวนการเหมือนในภาษาโปรแกรม คอมพิวเตอร์ ) อย่างไรก็ตาม ซอฟต์แวร์ประมวลผล CellML ส่วนใหญ่จะยอมรับคณิตศาสตร์ในขอบเขตที่จำกัดเท่านั้น (ตัวอย่างเช่น ซอฟต์แวร์ประมวลผลบางตัวต้องการสมการที่มีตัวแปรเดียวอยู่ด้านใดด้านหนึ่งของสมการ) การเลือกใช้ MathML ทำให้ CellML เหมาะอย่างยิ่งสำหรับการอธิบายแบบจำลองที่มีสมการเชิงอนุพันธ์ ไม่มีกลไกสำหรับการแสดงแบบจำลองเชิงสุ่มหรือความสุ่มรูปแบบอื่นๆ
สามารถเชื่อมต่อส่วนประกอบต่างๆ เข้าด้วยกันได้โดยใช้ส่วนประกอบการเชื่อมต่อ ซึ่งจะอธิบายชื่อของส่วนประกอบทั้งสองที่จะเชื่อมต่อกัน และตัวแปรในส่วนประกอบแรกที่จะถูกแมปไปยังตัวแปรในส่วนประกอบที่สอง การเชื่อมต่อดังกล่าวเป็นการยืนยันว่าตัวแปรในส่วนประกอบหนึ่งเทียบเท่ากับตัวแปรอีกตัวในอีกส่วนประกอบหนึ่ง
แบบจำลอง CellML ยังอนุญาตให้แสดงความสัมพันธ์ระหว่างส่วนประกอบต่างๆ ได้ด้วย ข้อกำหนดของ CellML กำหนดความสัมพันธ์ไว้สองประเภท คือ การห่อหุ้ม (encapsulation) และการบรรจุ (containment) อย่างไรก็ตาม ผู้ใช้สามารถกำหนดความสัมพันธ์เพิ่มเติมได้ ความสัมพันธ์แบบบรรจุใช้เพื่อแสดงว่าส่วนประกอบหนึ่งอยู่ภายในอีกส่วนประกอบหนึ่ง ส่วนความสัมพันธ์แบบห่อหุ้มนั้นมีความพิเศษ เพราะเป็นความสัมพันธ์เดียวที่มีผลต่อการตีความส่วนที่เหลือของแบบจำลอง ผลของการห่อหุ้มคือ ส่วนประกอบที่ถูกห่อหุ้มไว้ภายใต้ส่วนประกอบอื่นๆ จะเป็นส่วนตัวและไม่สามารถเข้าถึงได้ ยกเว้นโดยส่วนประกอบที่อยู่ด้านบนโดยตรงในโครงสร้างการห่อหุ้ม ผู้สร้างแบบจำลองสามารถใช้การห่อหุ้มเป็นเครื่องมือเชิงแนวคิดได้ และไม่จำเป็นต้องมีการตีความทางกายภาพใดๆ
ข้อกำหนด
CellML ถูกกำหนดโดยข้อกำหนดหลัก รวมถึงข้อกำหนดเพิ่มเติมสำหรับเมตาเดตา ซึ่งใช้ในการใส่คำอธิบายประกอบให้กับแบบจำลองและระบุการจำลองต่างๆ
เซลล์เอ็มแอล 1.0
CellML 1.0เป็นข้อกำหนดขั้นสุดท้ายฉบับแรก และใช้ในการอธิบายโมเดลจำนวนมากในคลังโมเดล CellML
CellML 1.0 มีองค์ประกอบเฉพาะทางชีวเคมีบางอย่างสำหรับอธิบายบทบาทของตัวแปรในแบบจำลองปฏิกิริยา
เซลล์เอ็มแอล 1.1
CellML 1.1ได้เพิ่มความสามารถในการนำเข้าส่วนประกอบและหน่วยต่างๆ เพื่อรองรับคุณสมบัตินี้อย่างเต็มที่ ตัวแปรใน CellML 1.1 จึงยอมรับชื่อตัวแปรเป็นค่าเริ่มต้น
เซลล์เอ็มแอล 2.0
CellML 2.0มีการเปลี่ยนแปลงที่สำคัญหลายประการ ซึ่งมีรายละเอียดดังต่อไปนี้:
- เพิ่มความสามารถในการรีเซ็ตตัวแปรสถานะ
- ยกเลิกการกำหนดทิศทางในการเชื่อมต่อแล้ว
- ขณะนี้สามารถกำหนดหน่วยได้เฉพาะในระดับโมเดลเท่านั้น
ข้อกำหนดเมตาเดตา
CellML มีข้อกำหนดเมตาเดตาหลายอย่าง ซึ่งใช้ในการใส่คำอธิบายประกอบให้กับแบบจำลอง หรือให้ข้อมูลสำหรับการเรียกใช้และ/หรือการแสดงภาพจำลองของแบบจำลอง
- ข้อกำหนดเมตาเดตา 1.0ใช้สำหรับใส่คำอธิบายประกอบให้กับแบบจำลองด้วยข้อมูลที่หลากหลาย เช่น เอกสารอ้างอิงที่เกี่ยวข้อง ข้อมูลผู้เขียน สายพันธุ์ที่แบบจำลองเกี่ยวข้อง และอื่นๆ
- เมตาเดต้าการจำลองให้ข้อมูลที่จำเป็นในการจำลองเฉพาะเจาะจงโดยใช้แบบจำลอง CellML
- เมตาเดต้าสำหรับการสร้างกราฟจะให้ข้อมูลเพื่อระบุการแสดงผลลัพธ์จากการจำลองในรูปแบบเฉพาะ เช่น การสร้างกราฟเฉพาะจากบทความวิจัย
เซลล์ML.org
เว็บไซต์ CellML.orgมีจุดมุ่งหมายเพื่อเป็นศูนย์กลางของชุมชน CellML สมาชิกสามารถส่ง ตรวจสอบ และอัปเดตโมเดล รวมถึงรับข้อเสนอแนะและความช่วยเหลือจากชุมชนได้ นอกจากนี้ยังมีรายชื่อผู้รับจดหมายสำหรับการสนทนาเกี่ยวกับ CellML ที่CellML-discussion mailing listซึ่งครอบคลุมทุกอย่างที่เกี่ยวข้องกับการพัฒนาและการใช้งาน CellML
คลังเก็บแบบจำลองทางชีววิทยาหลายร้อยแบบที่เข้ารหัสด้วย CellML สามารถพบได้ในเว็บไซต์ชุมชน CellML ที่CellML Model Repository แบบจำลองเหล่านี้กำลังอยู่ในกระบวนการคัดกรองอย่างต่อเนื่อง โดยมีเป้าหมายเพื่อให้คำอธิบายประกอบด้วยออนโทโลยีทางชีววิทยา เช่นGene Ontologyและตรวจสอบความถูกต้องของแบบจำลองตามมาตรฐานความสมดุลของหน่วยและข้อจำกัดทางชีวฟิสิกส์ เช่น การอนุรักษ์มวล ประจุ พลังงาน เป็นต้น
ลิงก์ภายนอก
- หน้าหลัก CellML
- โครงการ IUPS Physiome
- โครงการ Physiome JAPAN
- แบบจำลองเซลล์แบบโต้ตอบเวอร์ชัน Java ของแบบจำลองหัวใจ CellML หลายแบบ