Name
sb_db - systems biology db module
Synopsis
:- use_module(bio(sb_db)).
:- use_module(bio(ontol_db)).
:- use_module(bio(io)).
summarize_species(SID):-
species(SID,Name,Comp),
format('Species: ~w ~w in:~w~n',[SID,Name,Comp]).
demo:-
load_biofile(sbml,'BIOMD0000000018.xml'),
load_bioresource(chebi), % EBI Chemical otnology
forall( (class(CID1,'amino acids'),
parentRT(CID,CID1),
species_class(SID,CID)),
summarize_species(SID)).
Description
Models pathways and interactions. Currently the model is very SBML-y (level 2) but it may change. Tested with EBI BioModels data. No support for quantitative data as yet.
Future Directions
Although non-quantitative representation of pathways is extremely useful in itself, the additional of qualitative data would be useful and the ability to perform simulations extremely usefulCurrently SBML uses MathML to represent equations. It would seem to be trivial to convert the compound terms derived from the SWI XML parser and transform them directly into prolog herbrand terms representing the equations. Functional or constraint-prologramming (clp) techniques could be used from hereExamples
:- use_module(bio(sb_db)).
:- use_module(bio(io)).
% find reactions spanning distinct compartments
reactions_spanning_compartments(R1,C1,R2,C2):-
species(S1,_,C1),
reaction_reactant(R1,S1),
reaction_link(R1,R2),
reaction_product(R2,S2),
species(S2,_,C2),
C1 \= C2.
demo:-
load_biofile(sbml,'BIOMD0000000018.xml'),
forall(reactions_spanning_compartments(R1,C1,R2,C2),
format('Reaction ~w in ~w and ~w in ~w~n',[R1,C1,R2,C2])).
MathTerms
A prolog term representation of a mathematical equation, equivalent in expressive power to MathML. They are used for kinetic_law/2 and assignment_rule/2A mathterm is a recursive prolog term: MathTerm = Func(MathTerms) ; ci(Var) ; cn(Const) Func = times ; divide ; ...Importing and exporting data
This is a data module. Facts can be imported and exported from both prolog fact databases and other formatsImport
The following file formats can be read in using load_biofile/2 and load_bioresource/1- sbml - via sb_xmlmap_dbml
-
biopax (level 1) - with sb_bridge_from_biopax
:
- foo
- bar
Export
The following file formats can be written using write_biofile/2- chadoxml - via io_chadoxml
- dot - via sb_bridge_to_dot
TODO
simulation modulePredicates
participant(?ID,?ClassID)
participant(?ID,?ClassID,?Type)
mode: nondet any participant: species, compartment or reactionspecies_class(?SID,?ClassID)
mode: nondet ID for an ontol class for this species; eg a ChEBI ID or a KEGG IDcompartment_class(?SID,?ClassID)
mode: nondet ID for an ontol class for this compartment; eg a GO ID or a KEGG IDmodel_class(?SID,?ClassID)
mode: nondet ID for an ontol class for this model; eg a GO ID or a KEGG IDparticipant_class(?SID,?ClassID)
mode: nondet ID for an ontol class for this participant; participant can be a species, model, compartment or reactionreaction_participant(?ID,?T,?CID)
reaction_participant(?ID,?CID)
reaction_link(?ReactionID1,?ReactionID2,?ViaSpeciesID)
reaction_link(?ReactionID1,?ReactionID2)
two reactions directly linked via a connecting species (excludes modifiers)species_link(?InputID,?OutputID)
species_link(?InputID,?OutputID,?ReactionID)
two species directly linked via a connecting reaction (excludes modifiers)species_path(+InputSpeciesID,?OutputSpeciesID,?Path)
arguments
Path
: List of SpeciesID