Celllular Open Resource
Un Software per la Modellistica
Computazionale
C3MIG 18 Dicembre 2008
PREMESSE (Sommario)
(1/2)
Contesto in cui si inserisce COR:
• Problemi connessi alla modellistica
computazionale (Multidisciplinarietà,
Comunicazione e Condivisione modelli)
• Lo IUPS Physiome Project
 Obiettivi
 Iniziative correlate (CellML)
PREMESSE (Sommario)
Il progetto CellML
• Obiettivi
• Caratteristiche del linguaggio
• Strumenti e SW correlati (editor,
validatori, simulatori, etc.)
(2/2)
PREMESSE
La potenza di calcolo e la disponibilità dei computer hanno reso
la modellistica computazionale uno strumento importante per lo
studio dei fenomeni biofisici. I modelli computazionali sono
strumenti fondamentali per la comprensione di fenomeni che
operano su scale temporali e spaziali diverse, che sottendono a
complesse strutture e processi biofisici ( Garny et al., Phil.Trans.R.Soc.A
(2008))
La fisiologia computazionale è un campo impegnativo:
• E’ un campo multidisciplinare che può richiedere competenze
in biologia, biofisica, matematica (tra cui la conoscenza dei
metodi numerici) e programmazione
Pubblicazione dei modelli (peer reviewed)
•
•
•
•
•
•
Formulazione (sviluppatore)
Presentazione alla rivista (sviluppatore)
Verifica del modello (“arbitro”)
Pubblicazione sulla rivista (redattore)
Interpretazione (utente)
Simulazione (utente/programmatore)
• Ciascuno di questi passi rappresenta una fonte di possibili
errori ed include un grado di ambiguità di interpretazione
• E’ quindi opportuno definire un nuovo standard per la
pubblicazione dei modelli che sia più protetto da questo tipo di
errori
IUPS Physiome Project
Lo IUPS (International Union of Physiological Sciences) Physiome
Project fornisce un framework per la modellistica dell’organismo
umano, utilizzando metodi computazionali che incorporano
informazioni biochimiche, biofisiche ed anatomiche su molteplici
scale spaziali e temporali
I principali obiettivi del progetto sono l’uso della modellistica
computazionale per analizzare funzioni biologiche in modo
integrato e fornire un sistema per il test di verifica di ipotesi
(“hypothesis testing”)
L’iniziativa richiede lo sviluppo di linguaggi di mark-up, ontologie
e strumenti per facilitare l’integrazione, la computazione e la
condivisione dei modelli.
IUPS Physiome Project
Atom
10 -12 m
Protein
10-9m
ProteinML
Cell
10 -6m
CellML
Tissue
10-3m
TissueML
Organ
10 0m
AnatML
Gene networks
Pathway models
Stochastic models
ODEs
Continuum models
(PDEs)
Systems models
10-6s
10 -3s
100s
10 3s
106s
10 9s
Mitosis
Protein
turnover
Human
lifetime
Molecular events
(ion channel gating)
Diffusion
Cell signalling
Motility
Organism &
organ system
OrganSystemML
Il Progetto CellML (1/2)
• Ideato per gestire la definizione e condivisione di modelli di
processi biologici (ma in grado di descrivere anche processi di altro
tipo)
• Indirizzato a fornire una consistenza (delle grandezze fisiche)
nella rappresentazione matematica dei modelli
• Incoraggia l’evoluzione ed il riuso de modelli
• E’ un linguaggio di mark-up, basato sul formato XML, leggibile
sia dall’uomo che dal computer
• Iniziò nel 1999, quasi in concomitanza con SBML
• CellML e SBML hanno scopi diversi:
•“SBML is designed for representing models of biochemical reaction
networks”.(http://www.sbml.org/)
•“The purpose of CellML is to store and exchange computer-based mathematical
models”. (http://www.cellml.org/)
Il Progetto CellML (2/2)
CellML include informazioni inerenti a:
• Struttura dei modelli (come le parti di un modello sono relazionate l’una all’altra)
• Espressioni matematiche (equazioni che descrivono i processi biologici sottostanti)
• Metadati (informazioni addizionali sul modello che permettano agli scienziati di
ricercare specifici modelli o componenti di modelli in un database o repository di
modelli)
• CellML include espressioni matematiche e metadati avvalendosi
di altri linguaggi basati su XML, come ad esempio Content
MathML, XML Linking Language (XLink), e Resource
Description Framework (RDF)
(C. M. Lloyd, M. D. B. Halstead, and P. F. Nielsen, "CellML: its future, present and past" Progress in Biophysics & Molecular
Biology, vol. 85, pp. 433-450, June-July 2004)
Componenti CellML
• CellML ha una struttura semplice basata su componenti
interconnessi
• I componenti astraggono concetti mettendo a disposizione
interfacce ben definite ad altri componenti
• I componenti incapsulano concetti nascondendo dettagli ad altri
componenti
Connessioni
• Le connessioni permettono la condivisione di informazioni fra
componenti associando variabili visibili nell’interfaccia di un
componente con quelle nell’interfaccia di un altro componente
• La consistenza delle associazioni è garantita imponendo che ad
ogni variabile siano associate le appropriate unità fisiche
Incapsulamenti
L’utilizzo di interfacce private abilita gerarchie di incapsulazione
Modello
Un modello è l’elemento radice di un documento CellML. E’ un
contenitore per componenti, connessioni, unità e metadati.
Importazione
• Il riuso dei modelli è abilitato dall’elemento import
• Grazie ad esso si possono costruire nuovi modelli combinando
i modelli esistenti in appropriate gerarchie
Repository di Modelli CellML
Il repository di modelli CellML comprende oltre 350 modelli di:
• Vie di trasduzione del segnale;
• Vie metaboliche (metabolic pathways);
• Elettrofisiologia cellulare;
• Dinamica del calcio;
• Immunologia;
• Cicli cellulari;
• Modelli di muscolo liscio e scheletrico…
• Relazioni meccaniche e costitutive
• http://www.cellml.org/models/
(C. M. Lloyd, J. R. Lawson, P. J. Hunter, and P. F. Nielsen, "The CellML model repository" Bioinformatics, 2008)
•Il database BioModels è un repository simile che supporta modelli creati dalla
comunità SBML
•http://www.biomodels.net/
Nuovo modello di repository CellML
• Un modello CellML1.0 è contenuto in un singolo file (no import)
• CellML 1.1 permette di decomporre un modello in file più piccoli
attraverso l’aggregazione di sottomodelli
• Gestire la condivisione di questi file è un compito difficile:
ad es. aggiornare un file in quanto componente di un determinato
modello può romperne un altro, o può essere difficile individuare il
componente più appropriato per essere incluso in un modello
• Il nuovo repository CellML si propone di risolvere questi
problemi tramite un “distributed version control system” (DVCS)
• DVCS permette ad un gruppo di modellisti di lavorare insieme
per costruire modelli, consentendo versioni multiple di componenti
condivisi, senza fare affidamento ad un server centralizzato
Gestione dei modelli
•I modelli del repository vengono continuamente esaminati
• Attualmente i modelli sono marcati (tag) con un attributo che
indica il livello di gestione:
• Livello 0 – il modello riflette la versione pubblicata ma non è stato curato;
• Livello 1 - il modello viene caricato ed avviato nell’ambiente di
simulazione specificato;
• Livello 2 - il modello produce risultati qualitativamente simili a quelli
precedentemente pubblicati per il modello;
• Livello 3 – è stato verificato rigorosamente e quantitativamente che il
modello produca esattamente i risultati pubblicati
• La gestione dei modelli è stata introdotta con il repository di
modelli CellML 1.1
• Si sta lavorando per ottenere una “complianza MIRIAM” per
tutti i modelli (N. Le Novere, A. Finney, M. Hucka, U. S. Bhalla, F. Campagne, J. Collado-Vides, E. J. Crampin,
M. Halstead, E. Klipp, P. Mendes, P. Nielsen, H. Sauro, B. Shapiro, J. L. Snoep, H. D. Spence, and B. L. Wanner, "Minimum
information requested in the annotation of biochemical models (MIRIAM)" Nature Biotechnology, vol. 23, pp. 1509-1515,
December 2005)
Problemi
• CellML è utile per scambiare descrizioni di modelli indipendenti
dall’implementazione
•Tuttavia la rappresentazione in formato CellML non cattura un più
alto livello di conoscenza
• L’informazione potrebbe essere inclusa tramite i metadati, ma
questo approccio non è sufficientemente rigoroso
• E’ necessario un meccanismo di linking per associare le entità
CellML a rappresentazioni di conoscenza ben definite (ontologie)
Impiego delle Ontologie
• Attualmente si stanno sviluppando ontologie per descrivere
forme e funzioni fisiologiche
• Altri si stanno occupando di ontologie relative alla modellistica
della biologia. Ontologie:
• Anatomica (Gene Ontology/GONG, FMA);
• Gene regulation pathway (Gene Ontology/GONG, BioPax);
• di Espressione genica (Gene Ontology/GONG);
• Accesso comune a risorse bioinformatiche (TAMBIS/TaO);
• Fisica e matematica (SBO, Stanford Knowledge Systems, OPB)
• Si stanno collegando le entità dei modelli del repositoryes
CellML a queste varie ontologie
Visualzzazione di Modelli CellML (1/4)
Le ontologie sono state sviluppate per supportare la visualizzazione di
modelli CellML
Visualizzazione di Modelli CellML (2/4)
• I modelli sono convertiti nel Web Ontology Language (OWL) usando una
ontologia (CellMLOWL) che cattura la struttura del file CellML
• Le entità CellMLOWL sono collegate al modello originale usando le
specifiche che compaiono nei metadati del file CellML
Visualizzazione di Modelli CellML (3/4)
• A sua volta è stabilita una relazione/mappatura fra le entità CellMLOWL e
l’ontologia CellMLBio che fornisce un significato biofisico alle entità
CellML
• Una visual template ontology (VTO) permette di far corrispondere ad ogni
processo biologico e biofisico definito nella ontologia CellMLBio una
notazione grafica
Visualizzazione di Modelli CellML (4/4)
• Tramite queste mappature, e sfruttando un insieme di regole di
riduzione”grafica”, si può ottenere una rappresentazione più schematica della
biologia di un modello
Cambiamenti Proposti per la
Nuova Versione di CellML
• Rimozione dell’elemento reazione .
• Nuovo sistema di “tipizzazione” per permettere di definire tipi
non reali e tipi strutturati attualmente non supportati.
Riepilogo (1/2)
•Il paradigma di pubblicazione di un modello: pubblicazione a
revisione paritaria.
•Il modello è implementato in un certo linguaggio di
programmazione, specifico per una certa piattaforma (insieme di
apparecchiature hardware e/o di struttura software che permette
ad una applicazione di essere eseguita).
•Spesso il codice sorgente non è disponibile, ed occorre affidarsi
solo alle informazioni contenute nella pubblicazione.
•Le informazioni riportate nelle pubblicazioni possono risultare
lacunose o contenere errori  impossibile riprodurre i risultati
delle simulazioni documentati
QUESTO APPROCCIO NON FAVORISCE LA
CONDIVISIONE ED IL RIUSO DEI MODELLI
Riepilogo (2/2)
•CellML, una soluzione per la modellistica computazionale
•E’ un linguaggio di markup
•Prospettive e finalità del linguaggio
•Gli elementi caratteristici di un modello in formato CellML
(componenti, connessioni, unità, variabili, import)
•Il repository di modelli CellML (organizzazione e funzionalità)
•Progetto in corso di sviluppo: elaborazione, a partire da un
modello CellML, di grafici che ne riproducano la struttura
Potenzialità del Linguaggio
CellML
Modello CellML
Creazione / modifica
modello CellML
(EDITOR)
Validazione:
•Correttezza
sintattica e
semantica
•Consistenza unità
Condivisione
modelli
(REPOSITORY)
Metadati
Simulazione modello
(risoluzione numerica)
Simulazione ed Authoring
•Applicazioni in grado di lavorare su modelli CellML:
•CMISS/CMGUI (University of Auckland);
•PCEnv (University of Auckland);
•Cellular Open Resource (University of Oxford);
•JSim (University of Washington);
•Virtual Cell (University of Connecticut Health Center);
•insilicoIDE (Osaka University).
• Tali applicazioni sono disponibili all’indirizzo
http://www.cellml.org/tools/
Tabella Comparativa di Alcuni
SW che Lavorano su CellML
Cellular Open Resource (COR)
• Una applicazione dedicata a CellML, ideata per i modellisti e
anche per gli insegnanti/studenti dal Dr. Alan Garny
dell’università di Oxford
• E’ sviluppata per funzionare unicamente su Microsoft Windows,
sviluppata in Delphi (frontend) e C (backend)
http://it.wikipedia.org/wiki/Front-end_e_back-end
• Possibilità di effettuare aggiornamenti automatici
• Due modalità di funzionamento: editorial e computational
Editorial Mode
•Attualmente supporta solo l’editing
dei modelli in formato CellML1.0,
ma è facilmente estendibile.
•L’aspetto dell’interfaccia grafica è
ampiamente personalizzabile, in
termini di colori (sfondo, testo,etc.),
di font, di visualizzazione delle
equazioni…
•Resa grafica delle equazioni delle
variabili e delle definizioni delle
unità.
•Esportazione modello in altri
linguaggi
•Salvataggio modello
Computational Mode
•Simulazione del modello
•Grafici delle variabili di
interesse
•Variazione delle
condizioni iniziali
•Impostazione
dell’integratore numerico
•Salvataggio ed
esportazione dati
“Concise text format”
Validazione in COR
•Validazione nell’ambito della modellistica:
verificare che un dato modello riproduca
adeguatamente i risultati sperimentali
•Validazione in CellML: 1) verifica della
correttezza sintattica e semantica del file CellML 2)
controllo delle unità di misura
COR è in grado di validare i modelli rispetto a tutte le regole fissate nelle
specifiche per CellML 1.0, eccetto che per le reazioni ed i metadati:
•Modello con elemento reazione  modello invalido
•Metadati  accettati ma senza nessun controllo
Controllo Unità di Misura
•Verificare la consistenza dimensionale dei termini che
compaiono nelle espressioni matematiche (es. I=C*dV/dt)
•Effettuare una conversione automatica fra grandezze con le
stesse dimensioni fisiche ma unità di misura differenti (es
mV e V)
•In CellML ogni quantità (costante, variabile) deve avere
una unità associata
COR implementa i recenti algoritmi di controllo delle unità
sviluppati da Kooper & McKeever (Kooper & McKeever,
Softw. Pract. Exp., 2008, mentre NON EFFETTUA UNA
CONVERSIONE AUTOMATICA DELLE UNITA’
Errori dimensionali generano un messaggio di avvertimento
(warning) a seguito del tentativo di debug/validazione del
file.
Warning/Error
WARNING: inconsistenza dimensionale o differente unità di misura. Permette
comunque di eseguire e simulare il modello.
ERROR: errore sintattico o semantico. Il modello non può essere simulato.
Anche un warning è un errore da correggere! Altrimenti i risultati della
simulazione non saranno esatti.
Link al Repository CellML
Simulazione modello
Formato di testo conciso COR vs
formato CellML
Scarica

Celllular Open Resource