0% found this document useful (0 votes)
7 views13 pages

BMC Systems Biology: Version Control of Pathway Models Using XML Patches

Uploaded by

api-15884711
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views13 pages

BMC Systems Biology: Version Control of Pathway Models Using XML Patches

Uploaded by

api-15884711
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

BMC Systems Biology BioMed Central

Methodology article Open Access


Version control of pathway models using XML patches
Peter Saffrey* and Richard Orton

Address: Department of Computing Science, University of Glasgow, Glasgow, G12 8QQ, UK


Email: Peter Saffrey* - pzs@[Link]; Richard Orton - rorton@[Link]
* Corresponding author

Published: 17 March 2009 Received: 14 August 2008


Accepted: 17 March 2009
BMC Systems Biology 2009, 3:34 doi:10.1186/1752-0509-3-34
This article is available from: [Link]
© 2009 Saffrey and Orton; licensee BioMed Central Ltd.
This is an Open Access article distributed under the terms of the Creative Commons Attribution License ([Link]
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract
Background: Computational modelling has become an important tool in understanding biological
systems such as signalling pathways. With an increase in size complexity of models comes a need
for techniques to manage model versions and their relationship to one another. Model version
control for pathway models shares some of the features of software version control but has a
number of differences that warrant a specific solution.
Results: We present a model version control method, along with a prototype implementation,
based on XML patches. We show its application to the EGF/RAS/RAF pathway.
Conclusion: Our method allows quick and convenient storage of a wide range of model variations
and enables a thorough explanation of these variations. Trying to produce these results without
such methods results in slow and cumbersome development that is prone to frustration and human
error.

Background aim of a piece of software is to address a specific problem,


The use of computational modelling is becoming wide- described by its requirements. The aim of a model is the
spread within the biological community. Models are far more vague goal of understanding a biological system,
applied to a diverse array of problems and are now a sometimes expressed as specific questions (such as "does
standard analysis technique used both in academia and this set of reactions provoke a sustained or transient
industry. response?"), sometimes as how behaviour might change
under different conditions and sometimes as a more gen-
Although modelling is now widely used, the methodol- eral exploration of system properties.
ogy that supports modelling remains underdeveloped. In
particular, a model will often develop and change over This contrast between the convergent aims of a software
time, giving rise to many model versions but there is very project and the more divergent aims of a modelling project
little published work on model version control. Some make the version control needs fundamentally different.
aspects of model version control are similar to the estab- These differences include the need to manage combinations
lished field of software version control. However, there of model versions, giving rise to a much greater branching
are a number of significant differences that mean a sepa- factor. There is also a need to maintain a larger number of
rate treatment is needed. alternatives that are still relevant at any given time.

Many of the differences between software and model ver- To address these differences, we have devised a flexible
sion control have at their core a difference in aims. The patch-based version control system that differs from exist-

Page 1 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

ing software patching applications. Each patch represents • Versions proceed in a roughly linear fashion working
a modification to an existing model: an addition, deletion towards a single set of requirements. Requirements
or replacement of existing pieces. Patches can be applied may change but at any one time there is only one set.
in combination while retaining the original model struc-
ture. This allows later patches to work on the original sys- • Each new version represents an improvement over
tem, or on a configuration created with existing patches. (and usually replacement of) previous versions.
This flexible approach allows a modeller to rapidly
explore a wide variety of model configurations without • Branching does occur, but features from different
overwriting any previous ideas. We have applied the sys- branches are usually folded back into an overall 'best'
tem to models expressed in SBML [1], to take advantage of version.
the broad support for the language and the regular struc-
ture provided by XML documents. Working with XML Software version control tools, such as CVS [3], SVN [4]
models also means that our system could be easily and Git [5], are designed to support these characteristics of
extended to support other XML modelling tools, such as software development with features including distributed
CellML [2]. access and the ability to fork new versions and merge
these together.
In this paper we present details of our patch based system
along with a prototype implementation. Our method is Model Version Control
generic enough to apply to many areas of computational Although a pathway model is often a software artifact,
modelling. However, as a motivating example we have there is little published material on using version control
developed our methods in conjunction with a specific sys- systems to track model version changes. There are a
tem: the EGF pathway. We illustrate the method with ref- number of obvious distinctions between the progression
erence to the EGF pathway in a variety of versions. of a pathway model and the progression of a software
project. A characteristic progression of versions is shown
Software and Modelling Version Control in the right hand diagram of figure 1. The main features of
Software Version Control this progression are:
Software version control is a mature and established disci-
pline of software engineering. A characteristic progression • A model starts as a simple base and then a number
of versions is shown in the left hand diagram of figure 1. of possible extensions to the pathway are suggested,
The main features of this progression are: each of which are largely independent of each other.

Software Version Development Model Version Development

1.0 Base

Base Base Base


1.1 + A + B + C

Base Base Base


1.2a 1.2 +A +B +A +C +B +C

Base
2.0 +A +B +C

Figure 1 and modelling version development


Software
Software and modelling version development. Software development (on the left) tends to have a linear progression,
with the aim of a single 'best' outcome. By contrast, model development (right) is a more divergent and exploratory task,
encompassing various hypotheses concerning which parts of a pathway are relevant under different conditions.

Page 2 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

• Each extended version represents part of the pathway Extracellular-signal Regulated Kinase (ERK) pathway,
which is only present under certain conditions. An which is typically initiated by the activation (via ligand
extension may also represent an investigation into binding) of cell surface receptors, such as the Epidermal
whether a particular extra section of pathway is impor- Growth Factor (EGF) or Nerve Growth Factor (NGF)
tant or not. Each new version may represent the same receptors (Figure 2). In essence, there are two distinct
part of a pathway under a different hypothesis, but is pathways leading from activated receptors to ERK activa-
not necessarily an improvement or replacement for tion, the Ras pathway which proceeds via SOS-Ras-Raf1
another hypothesis. and the Rap1 pathway which proceeds via C3G-Rap1-
bRaf. Activated ERK has numerous targets in both the
• Branching generates a combinatoric effect; each new cytoplasm and nucleus, including numerous transcription
extension can be applied to all the previous combina- factors, and can therefore directly effect gene expression
tion of extensions. and influence cellular outcome. In addition, ERK is able to
phosphorylate SOS (via Rsk) thus forming a negative
It may be possible to manage such a progression using a feedback loop within the pathway [15,16].
software version control system, but it would not be a nat-
ural fit. Each combination of extensions would be One of the most common cell lines used to investigate
assigned a version number and a user would have to con- ERK signalling from growth factor receptors is the PC12
tinually track back and forth along this timeline to locate (rat pheochromocytoma) cell line. In PC12 cells, EGF
the setup they were interested in. Applying a new exten- stimulates a rapid but transient activation of ERK, peaking
sion to an existing set of combinations would require a at 5 mins and returning to basal levels at 30 mins, leading
good deal of extra work. to cellular proliferation [17,18]. In contrast, Nerve
Growth Factor stimulates a sustained activation of ERK
XML diff and patch leading to the neuronal differentiation of PC12 cells
A variety of systems already exist to record differences in [17,18]. There is now compelling evidence that the dura-
XML files and allow these changes to be duplicated. A tion of the ERK signal governs whether PC12 cells prolif-
good review of these technologies can be found in [6]. erate or withdraw from the cell cycle and differentiate into
Several algorithms [7,8] have been developed to recognise a neuronal phenotype [17,18]. Although the PC12 system
XML changes (known as a "diff") and record these has been well studied, it is still unclear how different ERK
changes. There are implementations of these techniques signal dynamics can be robustly controlled by different
from IBM [9] and others [10]. upstream receptors. Furthermore, there is a currently
some debate as to which of the two pathways (Ras and
Simulink Rap1) is utilised by the different receptors to activate ERK
Simulink is the modelling component of the mathemati- and relay their signal. Some groups have reported that
cal toolkit Matlab [11]. Simulink allows model design both EGF and NGF can only use the Ras pathway [19,20],
based on the connection of components and provides whilst others report that NGF but not EGF can also use the
integration with version control systems, so that each Rap1 pathway [21], whilst another group has reported
component can have its own version history. that both NGF and EGF can use both the Ras and Rap1
pathways [18]. Over recent years the computational mod-
Simulink is a flexible and powerful system, but the version elling of biological systems has become increasingly valu-
control mechanisms are still based on traditional software able and there are now a wide variety of models of the ERK
version control; the patch-based combinatoric modifica- pathway available which have led to some novel insights
tion of models we propose is not supported. and interesting predictions as to how this system func-
tions [22]. However, none of these studies utilised a mod-
Results ular or patch approach in their model design and analysis.
Case Study: EGF pathway This is unfortunate, given that the ERK pathway can be uti-
To demonstrate our system we have tested it on a suite of lised by different receptors with different properties, and
models based on the EGFR/MAPK system. The Mitogen that there are different pathways that can be used by
Activated Protein Kinase (MAPK) pathway is at the heart receptors to activate ERK. A patch system would enable
of a molecular signalling network that governs the one to rapidly build different versions of a receptor system
growth, proliferation, differentiation and survival of composed of different pathways and feedback loops, as
many, if not all, cell types [12-14]. It is deregulated in var- well as enabling the rapid application of the system to dif-
ious diseases ranging from cancer to immunological, ferent receptors with different properties. This would ena-
inflammatory and degenerative syndromes, and thus rep- ble one to rapidly investigate which version best reflects
resents an important drug target. Perhaps the most impor- the available biological data, which pathways (or patches)
tant and intensively studied MAPK pathway is the are critical for relaying the signal, and also enable the easy

Page 3 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Figure 2 of the receptor activated ERK pathway


Schematic
Schematic of the receptor activated ERK pathway. This schematic has been split into a number of distinct sections or
patches which are: (1) Blue: the core patch consisting of ligand/receptor binding and the core ERK pathway; (2) Green: the Ras
pathway which links bound receptors to ERK activation; (3) Red: the Rap1 pathway which links bound receptors to ERK activa-
tion; (4) Orange: the negative feedback loop from ERK to SOS via Rsk; and (5) Purple; the Akt pathway. In the schematic, links
which end in arrows represent activating reactions whilst links which end in diamonds represent deactivating reactions.

comparison of different receptors. To demonstrate the three models included the core ERK patch (blue) and then
potential of our patch approach, we took the computa- the following model specific patches:
tional model of the ERK pathway developed by Brown et
al. (2004) [23] and split it into a number of distinct 1. Ras Model: This model included the Ras pathway
patches (Figure 2). We investigated the debate surround- patch (green) and the SOS feedback patch (orange).
ing the use of the Ras and Rap1 pathways in NGF receptor
signalling by utilising the patch approach to generate and 2. Rap1 Model: This model included the Rap1 path-
compare three different models of the receptor system. All way patch (red).

Page 4 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

3. Ras & Rap1 Model: This model included the Ras signal switching for a transient to a sustained response.
pathway patch (green) and the SOS feedback patch Knocking out Rsk effectively knocks out the negative feed-
(orange), as well as the Rap1 pathway patch (red). back loop from ERK to SOS, which suggests that this feed-
back loop is essential for signal termination. Whilst
We first created the Ras model by using our Patch Tool to knocking out PI3K effectively knocks out the whole Akt
select our core ERK patch (blue) along with the Ras pathway, as no other species can activate Akt, which sug-
(green), and SOS feedback (orange) patches and subse- gests that the Akt pathway plays little role in either signal
quently launched and simulated the model in Copasi. We initiation or termination.
then used our Patch Tool to create the Rap1 model by
deselecting the Ras and SOS feedback patches and select- Our patch approach and tool can also be used to create
ing the Rap1 patch instead, then re-launched Copasi with patches that are mutually exclusive which is a useful fea-
the new model whilst maintaining our original simula- ture when investigating cancerous mutations. The ERK
tion and plot settings. The Ras & Rap1 model was then cre- pathway has long been associated with cancer as muta-
ated and simulated in a similar fashion. As can be seen in tions to various proteins in the pathway are well known to
Figure 3, the Ras model produces a transient active ERK result in the constitutive activation of ERK leading to
response whereas the other two models, which both uncontrolled cell growth [26-28]. For example, one of the
include the Rap1 pathway, produce a sustained active ERK most common Ras mutations is a glycine to valine muta-
response. As NGF is well known to stimulate the sustained tion at residue 12 (RasV12) which renders Ras insensitive
activation of ERK in PC12 cells, our simulation results to inactivation by Ras-GAP and thus locked in the active
suggest that the NGF receptor must signal via the Rap1 state [26]. To illustrate the potential of our patch
pathway in order to achieve this. Overall, this example approach, we constructed a cancerous Ras pathway patch
illustrates the potential of our patch approach as it ena- containing a constitutively active Ras and made it mutu-
bles one to rapidly create different versions of a system to ally exclusive with the standard Ras pathway patch. As can
investigate the role that entire pathways play in the be seen in Figure 4, swapping the standard Ras pathway
dynamics of signalling and investigate which one best patch for the cancerous Ras pathway patch results in the
reflects the available biological data. To accomplish this active ERK signal switching from a normal transient
manually can often be a tedious affair where reactions and response to a constitutively active response. This example
species are manually deleted to create new model files illustrates the potential of the patch approach in investi-
which are individually named and saved. However, if an gating the effects of diseases such as cancer where patches
error is found or an update/expansion is required, all of representing normal and mutated/modified conditions
the saved files containing the different model versions can be created. One can imagine a situation where patches
may well need to be changed, whereas with our approach representing the different cancerous mutations have been
only the corresponding patch will need to be changed generated along with patches representing the most com-
once. The close integration of our Patch Tool with the sim- mon drug treatments allowing one to test which drug/
ulation tool Copasi is also extremely useful as once combinations are the best treatments for each of the dif-
patches have been selected the model can be rapidly sim- ferent forms of cancer. To illustrate this, we created a
ulated and analysed, especially as both simulation and parameter change patch to represent a hypothetical drug
plot options are maintained as models are updated. capable of increasing the kcat value of PP2A by a factor of
10. This means that one can simply select the drug from
The patch approach can also be used to create dependent the list of parameter patches and then simulate the model
patches which are patches that can only be introduced to analyse it effects. As can be seen in Figure 5, such a drug
into a model when a specific patch is already present. This appears to be an effective treatment against cancers caused
is a useful feature when one wants to apply changes to an by RasV12.
existing patch, such as kinetic parameter changes or spe-
cies knockouts. In biological terms, such species knock- Discussion
outs could represent the available RNAi's to knockout Future Work
proteins by knocking down gene expression, enabling one Standardised Tools
to investigate which proteins play the biggest role in trans- For simplicity and convenience, our tool was based on an
ducing the signal. One interesting area of current research in-house implementation of the xml-diff techniques. How-
is focussed on how the EGF receptor system can be manip- ever, it would be good software engineering practise to base
ulated to give a sustained rather than a transient response our tool on an established XML technology such as [9].
[24,25]. Using our Patch Tool to investigate this, we cre-
ated two species knockout patches which knockout Rsk Version Control and Source Code Management
and PI3K, respectively. As can be seen in Figure 4, knock- In this paper, we are concerned specifically with version
ing out PI3K has little effect on the active ERK plot whilst control: how to allow a modeller to extend and change
knocking out Rsk has a dramatic effect with the active ERK their model and revert to previous versions if necessary.

Page 5 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Figure 3 of the NGF receptor system


Simulations
Simulations of the NGF receptor system. This chart contains simulation traces from various NGF receptor system mod-
els. The x-axis represents time in minutes whilst the y-axis represents the concentration of active ERK in molecules/cell. The
blue line represents the simulated level of active ERK from the original Brown NGF model with both the Ras and Rap1 path-
way patches, whilst the red line represents simulated active ERK with only the Rap1 pathway patch, and the green line repre-
sents simulated active ERK levels with only the Ras feedback patch. As can be seen, the Rap1 pathway patch is required to
achieve a sustained ERK signal as the Ras pathway patch alone is only capable of producing a transient signal.

This is distinct from source code management (SCM), The view of the authors is that an XML patching system
which provides a group of programmers with a means to should be seen as complementary to existing SCM
collaborate on a software project by managing the source approaches. XML patches make hypothesis testing and
code, although most SCM systems include a version con- combinatorial model changes far easier to manage but are
trol facility. Our work could easily be extended to encom- not a replacement for disciplined use of an SCM in a col-
pass elements of source control management. The base laborative environment.
model and patches could be uploaded into a SCM system
such as SVN, which would allow users to upload new Model Repositories
patches, amend existing patches and access the entire set The issue of model granularity also arises when deciding
of patches from a collaborative project. The difficulty with how to submit a patch-based model to a model repository,
such an approach is defining the granularity of a model such as [Link] [29]. Many patch based models will
amendment. When a change is made to a model, should not have a complete amalgamated version since removal
this be change to the base model, to one of the existing patches may remove some of this amalgamated behaviour.
patches or an entirely new patch? One possibility is to upload a number of patch combina-

Page 6 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Figure 4 of the EGF receptor system


Simulations
Simulations of the EGF receptor system. This chart contains simulation traces from various EGF receptor system mod-
els. The x-axis represents time in minutes whilst the y-axis represents the concentration of active ERK in molecules/cell. The
blue line represents the simulated level of active ERK from the original Brown model, whilst the red line represents simulated
active ERK levels with a Rsk knockout, and the green line represents simulated active ERK levels with a P13K knockout. As can
be seen, knocking out the PI3K has little effect on active ERK whilst knocking out Rsk has a dramatic effect with the signal
switching from a transient to a sustained response.

tions for the model representing some more important However, we believe that the best way to drive further work
configurations. Whether this is feasible will depend on the is to be motivated by ongoing projects. We are working with
final number of important patch combinations. members of the SIMAP (Simulation modelling of the MAP
kinase pathway) project at Glasgow to develop patching
Ideally, it should be possible to upload a base model and tools specific to the modelling needs of that project to
set of patches to allow other database users the flexibility develop the patching approach as it can be most useful to
to patch and use the model as intended. In this case, a active work.
patch standard should be devised with a reference imple-
mentation to allow model databases to support patch Element Name Clashes
upload and application. This would be a more long-term Our patch system relies on unique element identifiers to
development for this work. make unambiguous references into each XML document. In
larger projects with many contributors, the patch system
Model Provenance should provide some further support to help avoid name
It might also be useful to include further methodological clashes.
provisions to document model development and prove-
nance. The plots resulting from a model run should be As a first step, the patch-set should include a name-space
stored along with the configuration of patches used to gen- summary that shows what names are present in the model
erate those plots. These model reports should be stored in and in which parts of the model, base or patches, each
a database for search and retrieval. This infrastructure name appears. The patch system should also allow anno-
would leverage the patching approach to improve the effi- tations to be added to this name-space to provide a more
ciency of model development, as described in [30,31]. detailed description of each name and how it differs from

Page 7 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Figure 5 of cancerous mutation


Simulations
Simulations of cancerous mutation. This chart contains simulation traces of the EGF receptor system model with and
without a RasV12 cancerous mutation. The x-axis represents time in minutes whilst the y-axis represents the concentration of
active ERK in molecules/cell. The blue line represents the simulated level of active ERK from the original Brown EGF model
with the normal Ras pathway patch, whilst the red line represents simulated active ERK with a cancerous RasV12 pathway
patch. As can seen, swapping the normal Ras patch for a cancerous patch results in the constitutive activation of ERK which
would lead to uncontrolled cell growth. The green line represents the simulated level of active ERK with the cancerous RasV12
patch and a hypothetical drug which increasing the catalytic activity of PP2A by a factor of 10. As can be seen, the drug is suc-
cessful at treating the cancer as it brings active ERK down to basal levels.

Table 1: Patch applications in pathway modelling

Patch feature Example application

Addition patch Adding a substrate or reaction

Deletion patch Removing a substrate or reaction

Replacement patch Changing a reaction rate

Addition patch file Adding a new pathway of reactions and substrates

Remove patch files A knockout of a substrate and its associated reactions

Replacement patch files Changing a set of reaction rates

Dependent patches A knockout applied to a particular pathway

Page 8 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

similar names. New patches should refer to this name list of base models. Some additional information may be
and warn where name clashes exist. required to tailor the component interface to a variety of
models, but it may be possible to implement a compo-
Ideally, the names used in a model should be based on a nent approach to modelling in this way.
controlled ontology, similar to the Gene Ontology [32].
This would reduce the possibility of ambiguity to a mini- As with SBML, deeper changes may cause alterations
mum, make it clear what is referred to by each model ele- across several elements; these can be represented with a
ment and facilitate interoperability between models. combination of addition and deletion patches but may
require dependency checking not to break the application
Other SBML Features of other patches. Again, as with SBML models, deep struc-
Our case study only addresses modifications to species, tural changes might be better represented with an entirely
reaction and parameter elements. However, alterations to new model.
other SBML elements should be accommodated. For exam-
ple, introducing SBML events would be an addition patch The addition-deletion-replacement scheme might also
of the chosen events. Altering the triggers for these events work effectively to manage a set of model versions in a
would be replacement amendments for those triggers. broader environment – a Matlab model, or one written in
C++ for example. These generic models can still be repre-
In some cases, the introduction of these new elements sented as a base and a set of changes, although the imple-
may constitute a broader structural change to the model, mentation of identifying and applying changes will need
which would require treatment outside of the patch sys- to address the model representation.
tem (see below).
Conclusion
Structural Changes We have presented a version management system for
The XML patching system works well where new concep- pathway models. We have shown how using SBML docu-
tual features, such as pathway sections, are introduced and ments can allow the application of separate model
removed from a system. However, it is not so appropriate amendments in combination by using an XML patch sys-
when a model undergos a large structural change. tem. We have also presented an implementation of these
ideas and their application in a case study.
For example, if an existing model is converted to use SBML
compartments, this would mean assigning all species to a Methods
compartment, so an appropriate patch would represent the XML Patching Implementation
entire model changing. In this case, it would be easier to Our XML patching implementation is based on the Fast
start again with a fresh model of the new structure. Match Edit Script method described in [7]. We have
implemented a simplified version of this algorithm to
Once a model is built around compartments, new patch make the system more lightweight and give us fine-
sets may be needed to represent common operations on grained control over the way differences are detected and
compartment models. These could still be based on the recorded as patches.
addition, deletion and replacement amendments, but
these may need to be mixed in a single patch set. For Although the patch technology we describe here is
example, a species may be moved from one compartment generic, we have developed the system specifically for use
to another – a deletion and addition amendment in the with pathway models. During this section we will describe
same patch set. This would necessitate dependency check- how each concept applies to these models.
ing to ensure that other patches do not attempt to delete
this species after it has been moved somewhere else. Patch generation
A patch represents a change or δ between a base system B
Managing Other Model Types d
CellML is similar in structure to SBML and the addition, and a base system with a single amendment C: B → C .
deletion and replacement patch approach should be
applicable here. New CellML components can be added Patch generation is a function that takes as input a base and
using addition patches or existing ones augmented or a changed system and returns a patch δ that describes how
reduced using addition and deletion patches. The compo- to alter the base system to look like the changed system.
nent framework of CellML might allow a broader applica-
tion of the patch approach. An addition could be used to There are three types of patch that can be identified during
represent the insertion of a component and this same patch generation: addition, deletion and replacement. In
patch may be used to insert this component into a variety each case, an xpath [33] expression is used to specify

Page 9 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Figureversion
Model 6 control tool screenshot
Model version control tool screenshot. This figure is a typical view of our version control tool in use. The top text box
shows the base model to which the various patches can be applied. The left hand panel shows the pathways (addition patches)
available. The central panel shows knockout (deletion patches). The right hand panel shows parameter sets (change patches). A
text box at the bottom shows a Copasi file storing configuration settings for models (such as variables for plotting), which will
be applied to Copasi on choosing the 'patch and simulate' button.

whereabouts in B the change takes place. Each xpath ref- In a deletion patch, the xpath specifies the XML node to
erences the id attributes used in SBML documents to make be removed. An addition patch specifies the XML node to
sure the referenced position is unambiguous. be added at the given xpath. A replacement patch specifies
the XML node which should be used as the replacement
Some tools like Copasi produce models using anonymous for the node at the given xpath.
numbered id attributes such as 'id3'. To prevent name con-
flicts when new patches are created, we process models so A replacement patch could also be represented by a dele-
that each element take its name as the id. This method is tion and an addition, but dividing it into two patches
effective so long as the modeller does not use the same makes the function of the patch less clear and less effi-
name to model different species and is sufficient for a pro- cient. A replacement patch of the complete document
totype implementation. In larger modelling projects with would constitute a δ between B and C but would again be
many contributors, or where a model is passed from one less clear and less efficient; the xmldiff algorithm builds
modeller to another, the possibility of name clashes the smallest possible replacement patch, with the mini-
increases. This will be discussed further in the Future Work. mum patch size being one complete XML element.

Page 10 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

XPath supports referring to specific attributes, so it would A new pathway patch may exclude another if these represent
be possible to use patches at this level of granularity. different conditions of the same pathway. For example, one
However, element level addition and replacement patches patch may represent the normal condition of this pathway
can contain complete well-formed XML to insert at this and another the cancerous condition; only one version of the
point. To implement attribute additions and replace- pathway should be applied for a particular configuration.
ments requires making a special case, since an attribute on
its own needs extra structure to become well formed XML. Patch Schema
Any attribute are still possible with element level patches An outline of the patch schema is as follows:
and can be implemented without augmenting the schema
to include special cases. • Changes Top level element. Attributes: name of
patch.
These patch operations are similar to the Delta Update
Language described in [6] but without the move operation. - Description Textual itemize of patch.

Patch files - Dependency List A list of dependencies.


Individual addition, deletion and replacement amend-
ments can be grouped together into patch files. Each patch * Dependency Attributes: name of patch upon
file represents a number of amendments to transform a which this patch depends
base system into the base system with some collection of
changes. In theory, patch files could contain a mixture of - Exclusion List A list of exclusions.
addition, deletion and replacment changes. However, this
raises the possibility that individual amendments contra- * Dependency Attributes: name of patch
dict each other: for example, a deletion may delete the which cannot be applied of this patch is
point at which an addition should occur. For simplicity, we applied.
only allow each patch file to contain amendments of one
type. This gives rise to patch files that represent either a set - Change List List of patches.
of additions, or a set of deletions, or a set of replacements.
* Change Attributes: type (addition, deletion
In a pathway model, an addition patch file represents a or replacement); xpath to change location. If
new part of the pathway, including new substrates and this is an addition or replacement patch, the
their associated reactions. A deletion patch file represents elements beneath this node will be what
a knockout, where one or more substrates have been should be inserted at the xpath provided.
removed from the system.
Summary: patches applied to pathway models
A replacement patch file represents altering the kinetics of Table 1 provides examples of how the patch system might
one or more reactions, providing a new set of parameters. apply in a pathway context.
The change patch file contains one change amendment for
each parameter. Each amendment refers to the XPath for Tool overview
that particular parameter and contains a complete XML ele- To demonstrate the efficacy of our approach, we have
ment representing that parameter, with the new value as implemented a prototype and evaluated it on a case study
the "value" attribute. Collecting a set of parameters into a (see Case Study section). The tool was implemented in
single file and allowing a number of such sets is similar to Python using the pxdom XML library and Tkinter to pro-
the concept of Parameter Run File presented in [30]. vide a graphical user interface. Figure 6 shows a screenshot
of the tool in use.
Patch dependencies
In some cases, it is desirable to impose dependencies on a Copasi Integration
set of patches so that one patch can be applied only after Our tool operates on biological models expressed in
another. It is also possible for one patch to exclude the use SBML. To obtain these models and to simulate models
of another. after applying the patches, we have integrated our tool
with the popular SBML simulation tool Copasi [34].
In a pathway model, a particular knockout will only make Patches are generated from Copasi-generated SBML files
sense in the presence of the targetted substrates and reac- and Copasi can be automatically launched on a model
tions. A knockout patch can therefore depend on a new with the selected patches. We also allow Copasi configu-
pathway patch that introduces these substrates and reac- ration information, such as variable plots, saved in a
tions to the base system. Copasi file to be used for successive patched systems.

Page 11 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

Use case Other requirements Python-xml libraries; pxdom; an


A basic use-case for the tool is as follows: SBML compliant modelling tool such as Copasi.

Setup pathway patches License GNU GPL.


1. Using Copasi, build a 'base' model and export as
SBML, containing the fundamental elements of the Authors' contributions
overall system. Import this base system into the patch PS had the original idea and built the tool. RO provided
tool the biological expertise and tested the software for the case
study. All authors read and approved the final manuscript.
2. Also using Copasi, build an extended model repre-
senting the base system along with an extra pathway. Additional material
Export this as SBML and import into the patch tool.
Add a name and description for this pathway.
Additional file 1
XML diff and patch tool. Source code for the tool described in this paper.
3. Repeat step 2 for additional pathways. In each case, Instructions for installation and use are included in the file.
build an SBML file that represents the base file with Click here for file
the substrates and reactions of a new pathway added. [[Link]
[Link]]
Setup knockouts and parameter sets
1. If desired, add one or more knockouts. Each knock- Additional file 2
out can apply to one or more pathways or to the base Sample additional file title. A sample patch set, describing the model
used in this paper.
system. The tool provides a dialog box to select the Click here for file
substrates to be knocked out. [[Link]
[Link]]
2. If desired, add one or more parameter sets. Parame-
ters sets can apply to one or more pathways or the base
system.
Acknowledgements
Choose patches to apply The authors would like to thank the reviewers for raising a number of
1. Select the pathways, knockouts and parameter sets issues with a first draft of this manuscript. We would also like to thank the
for the desired model configuration. If a knockout or EPSRC for providing the funding for this research.
parameter set depends on a pathway, this pathway
also must be selected. References
1. Hucka M, Finney A, Sauro H, Bolouri H, Doyle J, Kitano H, Arkin A,
Bornstein B, Bray D, Cornish-Bowden A, et al.: The systems biol-
2. Save the chosen model configuration to SBML or ogy markup language (SBML): a medium for representation
and exchange of biochemical network models. Bioinformatics
automatically launch it in Copasi. 2003, 19(4):524-531.
2. Hedley W: A short introduction to CellML. Philosophical Transac-
Availability and requirements tions of the Royal Society A: Mathematical, Physical and Engineering Sci-
ences 2001, 359(1783):1073-1089.
The software prototype described in this paper is availa- 3. Concurrent Versions System [[Link]
ble. 4. Subversion open source version control system [[Link]
[Link]/]
5. Git – Fast Version Control System [[Link]
Project Name XML patching tool. 6. Mouat A: XML diff and patch utilities. CS4 Dissertation, Heriot-
Watt University, Edinburgh, Scotland, Senior Project 2002.
7. Chawathe S, Rajaraman A, Garcia-Molina H, Widom J: Change
Project Home Page The tool is available at http:// detection in hierarchically structured information. ACM SIG-
[Link] or see additional files 1. A README MOD Record 1996, 25(2):493-504.
file is included with the distribution. There is also a sam- 8. Salzburg A: Structure-Preserving Difference Search for XML
Documents. Structure 2005.
ple set of patches for testing to be found in http:// 9. IBM Alphaworks XML TreeDiff [[Link]
[Link]/~pzs/[Link] or see addi- [Link]/tech/xmltreediff]
tional files 2. 10. Dommitt Inc. Merge Utility for XML [[Link]
[Link]/]
11. Guide M: The MathWorks. Inc., Natick, MA; 1998.
Operating System The tool has been tested on Ubuntu 12. Cobb M: MAP kinase pathways. Progress in Biophysics and Molecular
Biology 1999, 71(3–4):479-500.
Linux 8.04 and Mac OS 10.4, but should work on other 13. Widmann C, Gibson S, Jarpe M, Johnson G: Mitogen-Activated
platforms that support Python. Protein Kinase: Conservation of a Three-Kinase Module
From Yeast to Human. Physiol Rev 1999, 79(1):143-180.
14. Chang L, Karin M: Mammalian MAP kinase signalling cascades.
Programming Language Python. Nature 2001, 410(6824):37-40.

Page 12 of 13
(page number not for citation purposes)
BMC Systems Biology 2009, 3:34 [Link]

15. Langlois W, Sasaoka T, Saltiel A, Olefsky J: Negative Feedback


Regulation and Desensitization of Insulin-and Epidermal
Growth Factor-stimulated p21 Activation. Journal of Biological
Chemistry 1995, 270(43):25320.
16. Waters S, Holt K, Ross S, Syu L, Guan K, Saltiel A, Koretzky G, Pessin
J: Desensitization of RAS Activation by a Feedback Disasso-
ciation of the SOS-Grb2 Complex. J Biol Chem 1995,
270(36):20883-6.
17. Traverse S, Gomez N, Paterson H, Marshall C, Cohen P: Sustained
activation of the mitogen-activated protein (MAP) kinase
cascade may be required for differentiation of PC12 cells.
Comparison of the effects of nerve growth factor and epider-
mal growth factor. Biochem J 1992, 288(Pt 2):351-5.
18. Kao S, Jaiswal R, Kolch W, Landreth G: Identification of the Mech-
anisms Regulating the Differential Activation of the MAPK
Cascade by Epidermal Growth Factor and Nerve Growth
Factor in PC12 Cells. Journal of Biological Chemistry 2001,
276(21):18169-77.
19. Lu L, Anneren C, Reedquist K, Bos J, Welsh M: NGF-dependent
neurite outgrowth in PC12 cells overexpressing the Src
homology 2-domain protein Shb requires activation of the
Rap1 pathway. Experimental Cell Research 2000, 259(2):370-7.
20. Zwartkruis F, Wolthuis R, Nabben N, Franke B, Bos J: Extracellular
signal-regulated activation of Rap1 fails to interfere in RAS
effector signalling. EMBO Journal 1998, 17(20):5905-12.
21. York R, Yao H, Dillon T, Ellig C, Eckert S, McCleskey E, Stork P: Rap1
mediates sustained MAP kinase activation induced by nerve
growth factor. Nature 1998, 392(6676):622-6.
22. Orton R, Sturm O, Vyshemirsky V, Calder M, Gilbert D, Kolch W:
Computational modelling of the receptor-tyrosine-kinase-
activated MAPK pathway. Biochem J 2005, 392(Pt 2):249-61.
23. Brown K, Hill C, Calero G, Myers C, Lee K, Sethna J, Cerione R: The
statistical mechanics of complex signaling networks: nerve
growth factor signaling. Physical Biology 2004, 1(3–4):184-95.
24. Traverse S, Seedorf K, Paterson H, Marshall C, Cohen P, Ullrich A:
Research Paper EGF triggers neuronal differentiation of
PC12 cells that overexpress the EGF receptor. Current Biology
1994, 4(8):694-701.
25. Brightman F, Fell D: Differential feedback regulation of the
MAPK cascade underlies the quantitative differences in EGF
and NGF signalling in PC12 cells. FEBS Letters 2000,
482(3):169-74.
26. Bos J: RAS oncogenes in human cancer: a review. Cancer Res
1989, 49:4682-4689.
27. Davies H, Bignell G, Cox C, Stephens P, Edkins S, Clegg S, Teague J,
Woffendin H, Garnett M, Bottomley W, et al.: Mutations of the
BRAF gene in human cancer. Nature 2002, 417(6892):949-954.
28. Voldborg B, Damstrup L, Spang-Thomsen M, Poulsen HS: Epidermal
growth factor receptor (EGFR) and EGFR mutations, func-
tion and possible role in clinical trials. Annals of Oncology 1997,
8(12):1197-206.
29. Le Novère N, Bornstein B, Broicher A, Courtot M, Donizelli M,
Dharuri H, Li L, Sauro H, Schilstra M, Shapiro B, et al.: BioModels
Database: a free, centralized database of curated, published,
quantitative kinetic models of biochemical and cellular sys-
tems. Nucleic Acids Res 2006, 34(Database issue):D689-D691.
30. Saffrey P, Margoninski O, Hetherington J, Varela M, Yamaji S, Finkel-
stein A, Bogle D, Warner A: End-to-End Information Manage-
ment for Systems Biology. In Lecture Notes in Computer Science
Berlin: Springer; 2007:77-91.
31. Hetherington J, Bogle I, Saffrey P, Margoninski O, Li L, Rey MV, Yamaji Publish with Bio Med Central and every
S, Baigent S, Ashmore J, Page K, Seymour R, Finkelstein A, Warner A:
Addressing the challenges of multiscale model management scientist can read your work free of charge
in systems biology. Computers and Chemical Engineering 2007, "BioMed Central will be the most significant development for
31(8):962-979. disseminating the results of biomedical researc h in our lifetime."
32. Ashburner M, Ball C, Blake J, Botstein D, Butler H, Cherry J, Davis A,
Dolinski K, Dwight S, Eppig J, et al.: Gene ontology: tool for the Sir Paul Nurse, Cancer Research UK
unification of biology. The Gene Ontology Consortium. Nat Your research papers will be:
Genet 2000, 25:25-9.
33. Clark J, DeRose S: XML Path Language (XPath) Version 1.0. available free of charge to the entire biomedical community
W3C Recommendation 1999. peer reviewed and published immediately upon acceptance
34. Hoops S, Sahle S, Gauges R, Lee C, Pahle J, Simus N, Singhal M, Xu L,
Mendes P, Kummer U: COPASI-a COmplex PAthway SImula- cited in PubMed and archived on PubMed Central
tor. Bioinformatics 2006, 22(24):3067. yours — you keep the copyright

Submit your manuscript here: BioMedcentral


[Link]

Page 13 of 13
(page number not for citation purposes)

You might also like