basis - Mathematics and Statistics - Newcastle University

caddiepastΔιαχείριση Δεδομένων

31 Ιαν 2013 (πριν από 4 χρόνια και 6 μήνες)

189 εμφανίσεις

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

BASIS is a GRID pilot project to provide a tool for the quantitative study of
the biology of ageing (BBSRC, MRC, DTI and Unilever)



Colin Gillespie



School of Mathematics & Statistics

and

Centre for Integrated Systems Biology of Ageing and Nutrition


Newcastle University, UK


The
BASIS

system


www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Overview


Overview of the biology


SBML


Web
-
services


Other technical aspects of BASIS


The future

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

What is BASIS?


A flexible web
-
service based modelling system


Model construction and development


Users can store, share and simulate their models.





The system is accessed through web
-
services
using any language (e.g. Python or Java) or under
any operating system (e.g. Linux or Windows).


A web
-
front end has also been created


Model editing, storage


Simulation


Funding: 2002
-

2010

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Ageing

Individual mechanisms include:


telomere shortening


somatic mutations


mitochondrial damage


aberrant proteins


And gene regulation (e.g.
Sir2
,
IGF
-
1
)

Ageing

is

the

result

of

the

accumulation

of

unrepaired

random

molecular

damage

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Virtual Ageing Cell


Telomere loss and oxidative stress:

Proctor & Kirkwood
Mech Ageing Dev

2001.


Mitochondrial mutation:

Kowald & Kirkwood

J Theor Biol
2000.


Somatic mutation
: Kirkwood & Proctor
Mech Ageing Dev

2003.


Telomere capping
: Proctor & Kirkwood Aging Cell 2003


Extrachromosomal DNA circles
: Gillespie et al
J Theor Biol 2004



Genetic pathways
: e.g.
Sir2

gene action (in progress)


Protein turnover
: Chaperones, ubiquitin
-
proteasome system (Proctor et al.
Mech Ageing Dev

2005,
Proc Roy Soc

2006)


Antioxidant system
: Shanley et al (in progress)


Network models:


Mitochondrial mutation, oxidative stress, protein turnover (Kowald &
Kirkwood
Mutation Res

1996)


Somatic mutation, telomere loss, mitochondrial mutation (oxidative stress
(Sozou & Kirkwood
J Theor Biol

2001)

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Virtual Ageing Tissue

Fibroblasts

Intestinal epithelium

Neuronal networks

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Linking models together

EndNote analogy


You enter specific details of your reference
into EndNote,


Author, year, journal, title


You don’t specify the format


E.g. underline journal


Rather you apply different ‘style
-
sheets’ to
the references


There is a separation of
Content

and
Style.

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Modelling


Separate the model from the algorithm and
operating system


We want to specify the number reactions,
chemical species, compartments that are in the
model.


It shouldn’t tell us what to do with them.


An agreed standard to write the model


Not as easy as it sounds


Lots of different issues


Need a critical mass of people to get the standard
moving

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

SBML


SBML


Systems Biology Mark
-
up Language


The most popular language to describe a
model


XML language; trendy


Similar to HTML (the language of web
-
pages)


Only the ‘bare
-
bones’ has been agreed on


Still not sure how to encode cell models



www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Overview

SBML

Model

Pathway visualiser

Stochastic simulator

Sensitivity analysis

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

S
ystems
B
iology
M
arkup
L
anguage

<?
xml version
=“
1.0


encoding
=“
UTF
-
8
”?>

<
sbml xmlns

= “
http://www.sbml.org/sbml/level2


level

= “1”

version

= “
1
” >

<
model name

= “
Simple Model
”>


<
listOfSpecies
>



<
specie name

= “
M0


initialAmount

= “
10
” />



<
specie name

= “
M1


initialAmount

= “
0
”/>


</
listOfSpecies
>


<
listOfReactions
>



<
reaction name

= “
first reaction


reversible

= “
false
”>




<
listOfReactants
>





<
specieReference specie

= “
M0


stoichiometry

= “
1
”/>




</
listOfReactants
>




<
listOfProducts
>





<
specieReference specie

= “
M1


stoichiometry

= “
1
”/>




</
listOfProducts
>




<
kineticLaw formula

= “
k*M0
”>





<
listOfParameters
>






<
parameter name

= “
k


value

= “
1
”/>





</
listOfParameters
>




</
kineticLaw
>



</
reaction
>


</
listOfReactions
>

</
model
>

</
sbml
>

SBML is a method for representing a model in XML

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Traditional approaches to the web


Uniform Resource Identifiers (URI)


User at browser interacts with application at Web
Server


Web Server Application sends HTML to Web user
agents for human display


Protocol is HTTP


HTML

web application

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Web services


Machine to Machine interaction:
No human
assistance or intervention!



Client application interacts with Web Service
application


Client and Service exchange XML


Protocol may be HTTP or other


XML

web application

client application

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

The architecture

User PC

Internet (GRID)

BASIS

file

server

notification

Web server

Spyce/apache

Web browser

BASIS

client software

Linux beowulf cluster/GRID

Python ZSI Web services

Job

Schedule
r

R

Graphviz

Simulator

postgresql

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Other system aspects


Web server is running apache


Condor as a job scheduler


python as an all purpose glue


SBML is parsed and manipulated using
libSBML for C & python


graphviz for the visualisation of the SBML
models

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

model and simulation urn’s


Every model/simulation will have a unique urn


once a model is public, it can no longer be
deleted/altered


the model urn has the form urn:basis.ncl:model:#
-

the
# is taken from a model id in the database


associated web
-
services are called using the urn.


The simulation urn has the form


urn:basis.ncl:model:#:simulation:#:<seed_generator>
-
<seed>
-
<maxtime>
-
<#steps>


e.g. urn:basis.ncl:model:26:simulation:10:gsl
-
12345
-
100
-
1000


www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Web services


Web services use the python ZSI module


they are ‘dispatched as CGI’, e.g. through
apache


messages can be dispatched through ssl to
increase security


not ideal


Python isn’t too fussy about incoming SOAP
messages


e.g. wrongly declared types

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

more web
-
services

#Model web
-
services

def

getSBML(
sessionId
,
modelUrn+xpath
):


return

dbSessionId(
sessionId
).getSBML(
modelUrn+xpath
)

def

delSBML(
sessionId
,
modelUrn
):


return

dbSessionId(
sessionId
).delSBML(
modelUrn
)

def

copySBML(
sessionId
, modelUrn):


return

dbSessionId(
sessionId
).copySBML(
modelUrn
)


#simulator web
-
services

def

simulate(
sessionId
,
modelUrn
,
runName
,
seed
,
maxTime
):


return

dbSessionId(
sessionId
).simulate(
modelUrn
,
runName
,
seed
,
maxTime
)

def

delSimulation(
sessionId
,
simulationUrn
):


return

dbSessionId(
sessionId
).delSimulation(
simulationUrn
)

def

killSimulation(
sessionId
,
simulationUrn
):


return

dbSessionId(
sessionId
).killSimulation(
simulationUrn
)

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Problems with python WS


We have to hand
-
write WSDL files!


(WSDL file describes the web
-
services)


Possibly need ‘java wrap’ the services


Not really sure about python and WS
-
Security


‘Java wrapping’ would overcome this problem
too.

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

The future

1.
Java wrapped web
-
services


Upgrade security to WS
-
security


e
-
Science certificates

2.
When a simulation is completed need some sort
of notification, WS’s?

3.
Construct client software that will directly interact
with BASIS

4.
Store models in a XML way

5.
Track revisions


www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

The CaliBayes project (case study)


Integration of GRID
-
based post
-
genomic data
resources through Bayesian calibration of
biological simulators



The models in BASIS contain many parameters
with uncertain values that are not easy to directly
estimate from existing data sources



However, there are many large on
-
line databases
that contain data indirectly informative for the
models in BASIS



www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

The CaliBayes project

Bayesian

Calibration

engine

EBI

SMD

KEGG

BASIS

WS
DBfetch

WS
iface

users

other grid
apps

www.basis.ncl.ac.uk

basis

biology of ageing e
-
science


integration and simulation

Acknowledgements

Tom Kirkwood

Darren Wilkinson

Richard Boys

Steve Gilroy

Connor Lawless

Carole Proctor

Daryl Shanley