CellML es un lenguaje de marcado basado en XML para describir modelos matemáticos . Aunque teóricamente podría describir cualquier modelo matemático, originalmente se creó con el Proyecto Physiome en mente y, por lo tanto, se usó principalmente para describir modelos relevantes para el campo de la biología. Esto se refleja en su nombre CellML, aunque es simplemente un nombre, no una abreviatura. [1] CellML está ganando popularidad como formato de descripción portátil para modelos computacionales, y grupos de todo el mundo están utilizando CellML para modelar o desarrollar herramientas de software basadas en CellML. CellML es similar al lenguaje de marcado de biología de sistemas SBML pero proporciona un mayor alcance para la modularidad y la reutilización del modelo, y no es específico de las descripciones de la bioquímica.
Historia
El lenguaje CellML surgió de la necesidad de compartir modelos de dinámica de células cardíacas entre investigadores en varios sitios en todo el mundo. El grupo de trabajo original formado en 1998 estaba formado por David Bullivant, Warren Hedley y Poul Nielsen; los tres eran en ese momento miembros del Departamento de Ciencias de la Ingeniería de la Universidad de Auckland. El lenguaje fue una aplicación de la especificación XML desarrollada por el World Wide Web Consortium; la decisión de utilizar XML se basó en las recomendaciones de finales de 1998 de Warren Hedley y André (David) Nickerson. Se aprovecharon los lenguajes existentes basados en XML para describir las matemáticas (contenido MathML ), metadatos ( RDF ) y enlaces entre recursos ( XLink ). El grupo de trabajo de CellML se dio cuenta por primera vez del esfuerzo de SBML a finales de 2000, cuando Warren Hedley asistió al segundo taller sobre plataformas de software para biología de sistemas en Tokio.
El grupo de trabajo colaboró con varios investigadores de Physiome Sciences Inc. (en particular, Melanie Nelson, Scott Lett, Mark Grehlinger, Prasad Ramakrishna, Jeremy Rice, Adam Muzikant y Kam-Chuen Jim) para redactar la especificación inicial de CellML 1.0, que fue publicado el 11 de agosto de 2001. Este primer borrador fue seguido por especificaciones para CellML Metadata y una actualización de CellML para acomodar el anidamiento estructurado de modelos con la adición del elemento
En 2002 se escribió la especificación CellML 1.1, en la que se agregaron importaciones. Las importaciones brindan la capacidad de incorporar componentes externos en un modelo, lo que permite el modelado modular. Esta especificación se congeló a principios de 2006. Se ha continuado trabajando en metadatos y otras especificaciones.
En julio de 2009, el sitio web de CellML se renovó por completo y se lanzó una versión inicial del nuevo software de repositorio CellML (PMR2).
La estructura de un modelo CellML
Un modelo CellML consta de varios componentes, cada uno descrito en su propio elemento componente. Un componente puede ser una entidad completamente conceptual creada para la conveniencia del modelado, o puede tener alguna interpretación física real (por ejemplo, podría representar la membrana celular).
Cada componente contiene una serie de variables, que deben declararse colocando un elemento variable dentro del componente. Por ejemplo, un componente que representa una membrana celular puede tener una variable llamada V que representa la diferencia de potencial (voltaje) a través de la membrana celular.
Las relaciones matemáticas entre variables se expresan dentro de los componentes, utilizando MathML . MathML se utiliza para hacer expresiones declarativas (a diferencia de las declaraciones de procedimiento como en un lenguaje de programación de computadoras). Sin embargo, la mayoría del software de procesamiento CellML solo aceptará un rango limitado de matemáticas (por ejemplo, algunos software de procesamiento requieren ecuaciones con una sola variable en un lado de una igualdad). La elección de MathML hace que CellML sea especialmente adecuado para describir modelos que contienen ecuaciones diferenciales. No existe ningún mecanismo para la expresión de modelos estocásticos o cualquier otra forma de aleatoriedad.
Los componentes se pueden conectar en otros componentes mediante un elemento de conexión, que describe el nombre de dos componentes que se conectarán y las variables del primer componente que se asignan a las variables del segundo componente. Tales conexiones son una declaración de que la variable en un componente es equivalente a otra variable en otro componente.
Los modelos CellML también permiten expresar las relaciones entre componentes. La especificación CellML define dos tipos de relación, encapsulación y contención, sin embargo, el usuario puede definir más. La relación de contención se usa para expresar que un componente está físicamente dentro de otro. La relación de encapsulación es especial porque es la única relación que afecta la interpretación del resto del modelo. El efecto de la encapsulación es que los componentes encapsulados debajo de otros componentes son privados y no se puede acceder a ellos excepto por el componente directamente arriba en el árbol de encapsulación. El modelador es libre de utilizar la encapsulación como herramienta conceptual y no necesariamente tiene ninguna interpretación física.
Especificaciones
CellML se define mediante especificaciones básicas, así como especificaciones adicionales para metadatos, que se utilizan para anotar modelos y especificar simulaciones.
CellML 1.0
CellML 1.0 fue la primera especificación final y se utiliza para describir muchos de los modelos en el repositorio de modelos CellML .
CellML 1.0 tiene algunos elementos bioquímicos específicos para describir el papel de las variables en un modelo de reacción.
CellML 1.1
CellML 1.1 introdujo la capacidad de importar componentes y unidades. Para admitir completamente esta función, las variables en CellML 1.1 aceptan nombres de variable como valores iniciales.
Especificaciones de metadatos
CellML tiene varias especificaciones de metadatos, que se utilizan para anotar modelos o proporcionar información para ejecutar y / o visualizar simulaciones de modelos.
- La especificación de metadatos 1.0 se utiliza para anotar modelos con una variedad de información; referencias relevantes, información de autoría, la especie para la que el modelo es relevante, etc.
- Los metadatos de simulación proporcionan la información necesaria para reproducir simulaciones específicas utilizando un modelo CellML.
- Graficar metadatos proporciona información para especificar visualizaciones particulares de la salida de la simulación, por ejemplo, para reproducir un gráfico particular de un artículo.
CellML.org
CellML.org tiene como objetivo proporcionar un punto focal para la comunidad CellML. Los miembros pueden enviar, revisar y actualizar modelos y recibir comentarios y ayuda de la comunidad. Una lista de discusión CellML se puede encontrar en la lista de correo CellML-discusión . El alcance de esta lista de correo incluye todo lo relacionado con el desarrollo y uso de CellML.
Se puede encontrar un depósito de varios cientos de modelos biológicos codificados en CellML en el sitio web de la comunidad CellML en CellML Model Repository . Estos modelos se están sometiendo activamente a un proceso de curación con el objetivo de proporcionar anotaciones con ontologías biológicas como la ontología genética y validar los modelos frente a los estándares de equilibrio unitario y restricciones biofísicas como la conservación de masa, carga, energía, etc.
Referencias
enlaces externos
- Página de inicio de CellML
- Proyecto Physiome IUPS
- Proyecto Physiome JAPAN
- Modelos de células interactivos Versiones Java de muchos de los modelos cardíacos de CellmL.