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