390 likes | 472 Views
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.
E N D
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 Diagrams are nice but ambiguous How to strike a balance between the ambiguity of a diagram… And the relative precision of full sentences ? “…later, a hypothetical sF -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…
Increasingly detailed versions of processes Gene Gene Gene Product Product Product Effector Transcriptional enhancer s-factor Repressor 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
Model assignment: a model must “understand” the roles of its process. Formal knowledge
Model assignment: a model must “understand” the roles of its process. Formal knowledge
Model reuse - Generalized models: up the refinement hierarchy - Isomorphic processes (examples): 1-to-1 mapping between roles
<?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^-1 k_2 = 0.6; % sec^-1 k_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); Example model output
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 Experimental Data Analysis Model Builder MDL Model Analysis Application-level model API? EWG MDL Data Display EWG Simulation Engine EWG Run Manager Post Processing Lab Notebook
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 Display of available local and distributed services. OAA is one of several possible discovery and remote service invocation mechanisms. Basic work flow development area. Components added by using the add button. Work flow started by using Workflow button menu items
BioSPICE Dashboard – Simple Work Flow Simple work flow consisting of SBML input document, Exact Stochastic Simulator agent (ESS) and grapher module output Output graph of time-series date representing concentration changes over time Start work flow
Additional Capabilities External Processes External Web Sites Additional capabilities can be added by modifying a simple text properties file from 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]