Index

Name

Synopsis

Description

Future Directions

Examples

MathTerms

Importing and exporting data

Import

Export

TODO

Predicates

participant(?ID,?ClassID)

participant(?ID,?ClassID,?Type)

species_class(?SID,?ClassID)

compartment_class(?SID,?ClassID)

model_class(?SID,?ClassID)

participant_class(?SID,?ClassID)

reaction_participant(?ID,?T,?CID)

reaction_participant(?ID,?CID)

reaction_link(?ReactionID1,?ReactionID2,?ViaSpeciesID)

reaction_link(?ReactionID1,?ReactionID2)

species_link(?InputID,?OutputID)

species_link(?InputID,?OutputID,?ReactionID)

species_path(+InputSpeciesID,?OutputSpeciesID,?Path)

annotation/4

assignment_rule/2

compartment/2

compartment_class/2

kinetic_law/2

model/2

model_class/2

participant/2

participant/3

participant_class/2

participant_param/3

reaction/2

reaction_class/2

reaction_link/2

reaction_link/3

reaction_modifier/2

reaction_participant/2

reaction_participant/3

reaction_product/2

reaction_reactant/2

species/3

species_class/2

species_path/3

unit/4

unitdef/2

Metadata

Source

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 useful

Currently 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 here

Examples

  :- 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/2

A 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 formats

Import

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 module

Predicates

participant(?ID,?ClassID)

participant(?ID,?ClassID,?Type)

mode: nondet

any participant: species, compartment or reaction

species_class(?SID,?ClassID)

mode: nondet ID for an ontol class for this species; eg a ChEBI ID or a KEGG ID

compartment_class(?SID,?ClassID)

mode: nondet

ID for an ontol class for this compartment; eg a GO ID or a KEGG ID

model_class(?SID,?ClassID)

mode: nondet

ID for an ontol class for this model; eg a GO ID or a KEGG ID

participant_class(?SID,?ClassID)

mode: nondet

ID for an ontol class for this participant; participant can be a species, model, compartment or reaction

reaction_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

finds path between an input species and an output species

annotation/4

assignment_rule/2

compartment/2

compartment_class/2

kinetic_law/2

model/2

model_class/2

participant/2

participant/3

participant_class/2

participant_param/3

reaction/2

reaction_class/2

reaction_class(?SID,?ClassID) mode: nondet

ID for an ontol class for this reaction; eg a GO ID or a KEGG ID

reaction_link/2

reaction_link/3

reaction_modifier/2

reaction_participant/2

reaction_participant/3

reaction_product/2

reaction_reactant/2

species/3

species_class/2

species_path/3

unit/4

unitdef/2

Metadata

version: 1.12
date: 2006/02/10 23:29:39
author: Chris Mungall
license: LGPL

Source

View source: sb_db.pro ( plaintext )