the berkeley biospice conceptual framework
DESCRIPTION
The Berkeley BioSPICE Conceptual Framework. Representing formal and informal knowledge with varying degrees of detail Mostly by Alex Gilman The BioSPICE Tool: A cast of thousands of meese. But first: People in my group in AFCS. - PowerPoint PPT PresentationTRANSCRIPT
The Berkeley BioSPICE Conceptual Framework
Representing formal and informal knowledge with varying degrees of detail
Mostly by Alex Gilman
The BioSPICE Tool: A cast of thousands of meese.
But first: People in my group in AFCS
• Experiments and modeling of multiple signal processing in immune cells (Keith Erickson)
• Experiments and theory of mechanochemical components of signal transduction ( Matt Onsum)
• Microfluidic devices for spatiotemporal application of ligands to single cells (Shilpa Shroff)
• Functional genomic data analysis of ligand/response compendia (Pat Flaherty)
• Tools for knowledge capture and analysis (Alex Gilman)
The Berkeley BioSPICE team
• Alex• Ken Koster• Janet Jacobsen• Keith Keller• TingTing Zhang• Hai Phan
• Kevin Keck
Some dogma
• Biology is not done yet• Not everything must be formalized• Everyone has a different take• There is more to life than reactions• Differential equations are not everything• Using models should be child’s play
Goals of the framework
• Facilitate expressing informal knowledge in a structured way
• Represent the known and “hypothetical” in the same way
• Allow arbitrary scope• Allow deepening and formalization
Informal knowledge
How to strike a balance between the ambiguity of a diagram…
Diagrams are nice but ambiguous
And the relative precision of full sentences ?“…later, a hypothetical F -dependent gene product (X) initiates the destruction of both SigE and SpoIIGA in the forespore….”
Ju, et.al. J. Bact. 1998 180:1673
Informal knowledge
Easy! Put labels on the diagram.
Informal knowledge
Entity-Process-Role abstraction:
Entity: is an entity is an entity
Process: a named relationship between entities
Role: a label for how an entity relates to other entities
What can be a process? Anything…
Source: Gil Sambrano, AFCS
Increasingly detailed versions of processes
Gene
Effector
Product
Gene
Product
Gene
Repressor
Product
factor
Transcriptional enhancer
Gene
Product
Activator
Repressor
Process collections
• Families• Refinement hierarchies
(a simple ontology)
Mechanisms: composing processes
Still being implemented…
Formal knowledge
Model: an expression of formal knowledge– Differential equation– Logical statements– Executable code
Formal knowledge
Model assignment: a model must “understand” the roles of its process.
Formal knowledge
Model assignment: a model must “understand” the roles of its process.
Model reuse
- Generalized models: up the refinement hierarchy
- Isomorphic processes (examples): 1-to-1 mapping between roles
Example model output<?xml version="1.0"?><sbml xmlns="http://www.sbml.org/sbml/level2" version="1" level="2"><model id="rxn"><listOfUnitDefinitions><unitDefinition id="mMolar"><listOfUnits><unit kind = "mole" scale = "-3" exponent = "1"/><unit kind = "liter" scale = "0" exponent = "-1"/></listOfUnits></unitDefinition><unitDefinition id="mMolar_per_second"><listOfUnits><unit kind = "mole" scale = "-3" exponent = "1"/><unit kind = "liter" scale = "0" exponent = "-1"/><unit kind = "second" scale = "0" exponent = "-1"/></listOfUnits></unitDefinition><unitDefinition id="units2"><listOfUnits><unit kind = "second" scale = "0" exponent = "-1"/></listOfUnits></unitDefinition><unitDefinition id="units3"><listOfUnits><unit kind = "mole" scale = "-3" exponent = "-1"/><unit kind = "liter" scale = "0" exponent = "1"/><unit kind = "second" scale = "0" exponent = "-1"/></listOfUnits></unitDefinition></listOfUnitDefinitions><listOfCompartments><compartment id = "default"/></listOfCompartments><listOfSpecies><species id = "X_2" name = "Molecule 1" compartment = "default" units = "mMolar" initialAmount = "0.0"/><species id = "X_3" name = "Molecule 2" compartment = "default" units = "mMolar" initialAmount = "0.0"/></listOfSpecies><listOfReactions><reaction id = "R_6"><listOfProducts><speciesReference species = "X_2" stoichiometry = "1"/></listOfProducts><kineticLaw><math xmlns="http://www.w3.org/1998/Math/MathML"><ci>k</ci></math><listOfParameters><parameter id = "k" value = "1.0" units = "mMolar_per_second"/></listOfParameters></kineticLaw></reaction><reaction id = "R_8"><listOfReactants><speciesReference species = "X_2" stoichiometry = "1"/></listOfReactants><kineticLaw><math xmlns="http://www.w3.org/1998/Math/MathML"><apply><times/><ci>k</ci><ci>X_2</ci></apply></math><listOfParameters><parameter id = "k" value = "0.6" units = "units2"/></listOfParameters></kineticLaw></reaction><reaction id = "R_4"><listOfReactants><speciesReference species = "X_2" stoichiometry = "2"/></listOfReactants><listOfProducts><speciesReference species = "X_3" stoichiometry = "1"/></listOfProducts><kineticLaw><math xmlns="http://www.w3.org/1998/Math/MathML"><apply><times/><ci>k</ci><apply><exp/><ci>X_2</ci><cn>2</cn></apply></apply></math><listOfParameters><parameter id = "k" value = "3.2" units = "units3"/></listOfParameters></kineticLaw></reaction><reaction id = "R_9"><listOfReactants><speciesReference species = "X_3" stoichiometry = "1"/></listOfReactants><kineticLaw><math xmlns="http://www.w3.org/1998/Math/MathML"><apply><times/><ci>k</ci><ci>X_3</ci></apply></math><listOfParameters><parameter id = "k" value = "0.4" units = "units2"/></listOfParameters></kineticLaw></reaction></listOfReactions></model></sbml>
function output = run_simulation% x(1): Molecule 1 (mmol L^-1 (mMolar))% x(2): Molecule 2 (mmol L^-1 (mMolar))Ti = 0.0;Tf = 10.0;%------------------------------------------------------% initial conditions %------------------------------------------------------x = zeros(2, 1);x(1) = 0.0;x(2) = 0.0;[T x] = ode45(@model, [Ti Tf], x);plot(T, x)output = [T x];%------------------------------------------------------function dx = model(t, x)dx = zeros(2,1);%------------------------------------------------------% parameters k_0 = 3.2; % mmol^-1 L sec^-1k_2 = 0.6; % sec^-1k_1 = 1.0; % mmol L^-1 sec^-1 (mMolar_per_second)k_3 = 0.4; % sec^-1%------------------------------------------------------dx(1) = k_1 - k_2*x(1) - 2*k_0*x(1)^2;dx(2) = k_0*x(1)^2 - k_3*x(2);
Model suites
Model suites
Archiving & searching
• Relational schema• Query capabilities not yet well developed
– Eg. how to search for phosphorylations – represented as “reaction” processes?
– Searching by metadata– Searching by role or process name or label– Entity participation– Modeled or not; which models
• Relationship to a real database of primary and secondary data!
Drawbacks
• Not done!!• Some habitual connections not available• Process collection requires careful management
(what doesn’t?)• Models are labor-intensive• Tools are NOT web-based but are network
aware.
Conclusions for Pathway Builder
• Extremely simple and general representation• Works for any scope• Open and extensible• “Smooth” transition from informal to formal knowledge• Easy to use models contributed by others• Slightly less easy but possible to collaborate on models.
• Still not ready for prime time…
DARPA BioCOMP BioSPICE Release 3.0
• May 14, 2003, Ft. Lauderdale, FL• Many tools from multiple investigators• Integrated “dashboard”
• Integrated by SRI and LBNL• New API for making modules.• http://biospice.org
• Still very beta….sorry.
BioSPICE Product
Data Warehouse
Model Builder
Simulation Engine
Data Display
Lab Notebook
Run ManagerPost Processing
Application-level model API?
ExperimentalData Analysis
Model Analysis
MDL
EWG
EWG
EWGMDL
SEPDTF Branding of Netbeans
API definitions from SEPDTF and interchange formats from EWG and MDL allow actual workflow and project management tools to work.
API definitions from SEPDTF and interchange formats from EWG and MDL allow actual workflow and project management tools to work.
BioSPICE Dashboard: Work Flow Editor
Basic work flow development area. Components added by using the add button. Work flow started by using Workflow button menu items
Basic work flow development area. Components added by using the add button. Work flow started by using Workflow button menu items
Display of available local and distributed services. OAA is one of several possible discovery and remote service invocation mechanisms.
Display of available local and distributed services. OAA is one of several possible discovery and remote service invocation mechanisms.
BioSPICE Dashboard – Simple Work Flow
Simple work flow consisting of SBML input document, Exact Stochastic Simulator agent (ESS) and grapher module outputSimple work flow consisting of SBML input document, Exact Stochastic Simulator agent (ESS) and grapher module output
Start work flow
Start work flow
Output graph of time-series date representing concentration changes over timeOutput graph of time-series date representing concentration changes over time
Additional Capabilities
External Processes External Web Sites
Additional capabilities can be added by modifying a simple text properties filefrom which the menu is created.
NOT JUST SIMULATION
• Pathway homolog finder registers itself as an analysis of a pathway with the output of a pathway…
Examples
• We’re connecting a number of important analytical tools into BioSPICE
• Our functional genomic analyzers and visualizers
• Andry Rzhetsky’s NLP literature mining for entity-process relationships
• Various simulators from logical analysis to 3D simulation.
A complicated sketch of Initiation
population
[P1]
[P2]
Short Demo?