Você está na página 1de 35

NetBuilder Tutorial

Index
Index ....................................................................................................................................1
General .................................................................................................................................3
Installing NetBuilder .......................................................................................................3
Running NetBuilder.........................................................................................................3
About this tutorial ............................................................................................................3
Status bars, toolbars, buttons................................................................................................3
Toolbars, status bars ........................................................................................................4
Main and Draw toolbars ..............................................................................................4
Design, Symbol Parameters, and Simulate toolbars....................................................4
Creating an organism ...........................................................................................................5
Creating symbols .............................................................................................................5
Preventing a command from being executed, undoing commands .................................5
Dragging, resizing, multiple selection, zooming .............................................................5
Grouping cells..................................................................................................................6
Changing a symbol's properties .......................................................................................6
Changing a symbol's name ..............................................................................................7
Labels...............................................................................................................................7
Copying, cutting, pasting, and deleting symbols .............................................................7
More on symbol selection................................................................................................7
Network nodes .....................................................................................................................8
Network nodes .................................................................................................................8
Ports.............................................................................................................................8
Genes ...........................................................................................................................8
Components.................................................................................................................9
Functions ...................................................................................................................10
Receptors ...................................................................................................................11
Linking components...........................................................................................................12
Links ..............................................................................................................................12
Genes and their connections ..........................................................................................13
Intercellular connections ....................................................................................................13
Receptors and connections between cells ......................................................................13
Colours ...............................................................................................................................14
Adding colour ................................................................................................................14
View of the Nucleus: concepts...........................................................................................15
Topological sort, linearization .......................................................................................15
The Open Cell................................................................................................................16
The Probed Symbol .......................................................................................................16
Simulation as a Boolean network.......................................................................................17
Boolean networks ..........................................................................................................17
A Boolean simulation ....................................................................................................18
Changing values.................................................................................................................19
Checking a symbol's associated value ...........................................................................19
Changing a symbol's associated value ...........................................................................20
Shortcuts: Toggle and Reset ..........................................................................................20
Delays ................................................................................................................................21
Delay mechanism...........................................................................................................22
Modified Boolean networks...............................................................................................22
Parameters......................................................................................................................23
Input interpretation and transformation .............................................................................24
Simple components........................................................................................................24
Receptors .......................................................................................................................24
Functions .......................................................................................................................24
Logical functions.......................................................................................................24
Addition and multiplication.......................................................................................25
Genes .............................................................................................................................25
Transformations.........................................................................................................25
Input manipulation ....................................................................................................26
Interpretation of output..............................................................................................26
More symbols.....................................................................................................................26
Comparisons ..................................................................................................................26
Components that need activation...................................................................................27
Switches.........................................................................................................................27
Writing simulation output to a file .....................................................................................28
Programmed simulations....................................................................................................31
Combining programmed simulation with output recording ...............................................34

2
General
NetBuilder is a tool for modeling genetic regulatory networks (GRNs). A GRN can be seen as
a signalling network: a network in which the components send, receive, and respond to
signals. A gene responds to the binding of transcription factors (the input signals) by
modulating its transcription rate (the output signal). Cell surface receptors respond to agonists
by activating intracellular pathways. Thus, a signal can be many things: molecules, rates,
interactions. In NetBuilder, the transformation of input into output signals is done by the
network nodes, and the signals are transferred between these nodes through links, mostly
without further transformation. The calculations that underlie the transformations are based
on highly simplified and abstracted descriptions of biophysical and biochemical processes,
such as ligand binding and enzyme activation (see the theory page).

Installing NetBuilder
To install NetBuilder, follow the instructions on the Installation page.

Running NetBuilder
Run NetBuilder from the Windows Start menu. NetBuilder appears on the screen. A new
empty document is opened automatically.

About this tutorial


In this tutorial, you will find general information about NetBuilder, and instructions on how
to build a small multi-cellular example network. Whenever you are required to add to or do
something with your existing diagram, the text colour changes from normal to red. It is
recommended to read the whole text, not just the red sentences, since only some of the
available features are used in the example, and many more are mentioned in the normal text.

Status bars, toolbars, buttons

3
Toolbars, status bars
NetBuilder has a menu bar, a horizontal toolbars below the menu bar (Main and Edit), two
vertical toolbars, one to the left of the main window (Design), and one to the right
(Simulation), and another two below the main window (Draw and Symbol Parameters). All
commands that are available on the toolbars can also be issued via the menu bar, but some
menu commands have no toolbar representation. Open documents, which contain the 'canvas',
are visible in the main window.
When the cursor hovers over a toolbar button, the general status bar in the main displays the
function of the button, and when the cursor hovers over a symbol in the open document, the
document status bar displays information about the symbol.

Main and Draw toolbars


The Main toolbar contains buttons for the standard commands (New, Open, Save, Cut, Copy,
Paste, Print), selection and view commands (Select, Pan, Zoom, Set to default zoom, Zoom to
fit, Zoom to selection, Show Ports), and buttons for alignment, nudging, and rotation of
objects. Some additional commands (Structure:Bring to front, Structure:Send to back, etc. are
found under the Edit menu.
The Draw toolbar has buttons for adding text and general drawing to the document (Text,
Line, Polygon, Rectangle, Ellipse). Symbols created using these commands will not have any
functionality in the network).

Design, Symbol Parameters, and Simulate toolbars


The Design toolbar has buttons for adding and handling the functional network objects. The
topmost button (Design) is disabled when NetBuilder is started up. The names of the other,
enabled buttons are (from top to bottom): Component, Gene, Function, Simple link, Direceted
link 1, Direceted link 2, Negated link, Cell, Receptor, and Contacts (disabled).
The Symbol Parameters toolbar contains the following buttons: Symbol colour, Palette,
Update colors, Name, Type, Caption, and Parameter values. Most of these buttons are
disabled at this stage.
The topmost button on Simulation toolbar, Simulate, is the only button enabled at this stage.
The buttons underneath it are, from the top to the bottom: Probe, Monitor, Programmed
simulation, Record, Set, Reset, Toggle, Timer, Go, and Stop.

4
The buttons on the Design, Symbol Parameters, and Simulation toolbars, and the Show
ports button on the View toolbar, are unique to NetBuilder, and their function will be
explained on the next pages.

Creating an organism
The regulatory apparatus is hardwired in the genomic DNA, and is the same in each cell that
belongs to a particular organism. NetBuilder allows you to set up an organism consisting of
one or more cells, create the GRN, and specify intercellular interactions. NetBuilder requires
the specification of at least one cell.

Creating symbols
Click the Cell button on the Design toolbar, and move the cursor over the canvas to the
position where you want to place the cell. Notice that the cursor has changed from a simple
arrow (the Ready cursor) to the Insert Symbol cursor. Drop the cell by left clicking once. The
cursor changes back to the Ready arrow, to indicate that NetBuilder is ready to receive new
commands.

Preventing a command from being executed, undoing commands


Click the Cell button again, and move the cursor onto the canvas. Now click the right mouse
button once, and notice that the cursor changes from the Insert Symbol cursor back to the
Select arrow, and that no new cell has been put on the canvas. This is how you prevent a
command that you have just given from being carried out.
After an editing command has been carried out, you can (usually) undo it by selecting
Edit:Undo from the menu.

Dragging, resizing, multiple selection, zooming

5
Move the cursor over one of the symbols, and notice that it changes its shape to the Drag
cursor, two perpendicular double-headed arrows. You can now select the symbol underneath
the cursor by left clicking. If you keep the left mouse button pressed, you can drag the
symbol to some other place on the canvas. Move the cursor over the selected symbol, and
notice its eight “handles”, indicated by small squares, that can be used for resizing the
symbol. To resize, move the cursor on top of one of the handles, and notice that it changes
into a single double-headed arrow (the Resize cursor). Hold the left mouse button down,
move the mouse, and observe what happens. Other symbols can be selected or unselected by
left clicking them. To select more than one symbol, hold down the Ctrl or the Shift key whilst
clicking the symbols you want to select. You can also select multiple symbols by putting the
cursor in the corner of an imaginary square around the symbols you wish to select, and
dragging the mouse to the opposite corner whilst holding the left button down. Experiment
with moving and resizing, and create an “organism” that looks like the one below.

Zoom into the picture by pressing the zoom button (the cursor changes into a magnifying
glass), move the cursor to the top right of the area that you want to zoom into, hold the left
mouse button down, and drag the cursor to the bottom left corner of the zoom area. Press the
Select button to go back to the Ready cursor. To restore the 'normal' view (100%), press the
Zoom normal button. To fit all symbols into the open window, press Zoom to fit, and to zoom
into a specific symbol, press Zoom to selection.

Grouping cells
Select the top two cells, and click the right mouse button. Right clicking a symbol or multiple
selected symbols will bring up a popup menu that can be used, among other things, to group
cells, and to change a symbol’s properties. Select the Grouping:Group command. The two
cells are now grouped, and respond as if they were a single cell. At present, cells are the only
symbols that can be grouped. The distinction between single cells and cell groups is purely
aesthetic, and there is (at present) no functional difference between the two. If the properties
of cells are different, they must be modeled with separate symbols.

Changing a symbol's properties


Right click the single cell, and select Properties… from the popup menu. A new tabbed dialog
box opens. You can change the cell’s name by clicking the General tab (in case the General
sheet is not on top) and changing the text in the box labeled “Name “. Rename the top group
“A”, and the three cells underneath “B1”, “B2”, and “B3” (without the quotes).

6
Other symbol properties, such as line and fill colour and style, can also be changed via the
Properties dialog.

Changing a symbol's name


In addition to the method outlined above, you can also rename a symbol by holding down the
Ctrl key, and double clicking the symbol. A label containing the name of the symbol appears
(and disappears when you double click again with the Ctrl key down). If you now double
click the label itself, the label text is selected, and you can change it. This will change the
name of the symbol.

Labels
Labels are text boxes that can be selected, changed, and moved individually. However, they
belong to a particular symbol, and when the symbol itself is moved the label will retain its
position with respect to its parent symbol - it moves with the symbol.
When you select a cell, the Name and Caption buttons on the Symbol Parameters toolbar
become active, as in the picture below, in which cell B3 is selected. The Name button is in the
'on' position, which signifies that the currently selected symbol has a name label. It will go
'off' when it is clicked, and at the same time the name label will disappear. The Caption
button (with the button text 'label') is in the off position. When it is pressed, a new label, with
initial text 'Caption' appears. This label is unrelated to the name of the symbol, and can be
used for annotations. The third button, Type, which is disabled when a cell is selected, toggles
another label indicating the function type (see further). Visualise the name labels of each cell.

Copying, cutting, pasting, and deleting symbols


Symbols can be copied, or cut out and pasted onto another position on the canvas, by
selecting it, and issuing the Copy, Cut, or Paste commands from the Edit menu, Main toolbar,
or the menu that pops up on right clicking a symbol. Copied or cut symbols are put on the
clipboard, and can also be pasted into other programs (e.g. MS Office) that use the clipboard.

More on symbol selection


It may be difficult or even impossible to select a particular component. This happens when
there is an object in the foreground that is bigger than the one you are trying to select. If this
happens, select the bigger object, and choose Edit:Structure:Send to back from the menu.
You will now be able to select components that were previously ‘behind’ the bigger object.

7
Network nodes
Network nodes
The basic constituents (or nodes) of GRNs (genetic regulatory networks) are genes and TFs
(transcription factors). TFs, themselves produced upon gene transcription and translation of
the transcript, regulate gene transcription rate. Other components and processes, such as
activation, transport, and intracellular signalling, may also play a role in determining the
activity of genes. Network nodes that are currently available form four main categories:
'genes', 'components', 'functions', and 'receptors'. Nodes are connected via links, which
indicate that there is some kind of interaction between the nodes at each of its ends. The
functions are used to specify interactions that are too complex to be represented by a simple
link.
Pressing any one of the Gene, Component, or Function buttons on the Design toolbar will
bring up the Constituents dialog box, which contains three tabbed pages (Genes, Components,
and Functions), and is set initially to the page specified by the toolbar button that was
pressed. The dialog box can be minimised or closed. If it is closed it its minimised state, it
will come up minimised again when you press the Gene, Component, or Function buttons. To
restore its original state, press the Restore button in the dialog box icon, which can usually be
found somewhere in the lower left corner of the screen:

The dialog is used to specify details of the constituents. In general, a symbol, specified by the
current parameter settings, can be placed on the canvas after pressing the Insert button.
Furthermore, opening the dialog box, changing page, and changing any of the parameter
values has the same effect as hitting Insert (the cursor changes into the Insert Symbol cursor).
You can still put symbols on the canvas when the Constituents dialog box is minimised by
pressing the Gene, Component, or Function buttons. The dialog box will stay minimised, and
the symbol parameters will be the current set.
Ports
All network nodes (genes, components, functions, and receptors, see below) have one or more
input ports, and usually a single output port. Ports are locations on the symbol to which a link
(see below) can be attached. The number of links that can be made to an input port (one or
multiple) depends on the functionality of the parent symbol. However, output ports can
always be linked to multiple symbols.
Ports on selected symbols are made visible and invisible by pressing the Show ports button (a
toggle) on the View toolbar. Input ports are green, output ports are red.
Genes
GRNs are based on interactions between TFs and cis-regulatory domains of genes, and in
NetBuilder genes consist of a horizontal line, representing the cis-regulatory domain, and a
bent arrow representing protein production.

8
To insert a gene, set a value for its Size parameter. The size relates to the number of input
ports on the horizontal line (the 'cis-regulatory domain'). The distance between the input ports
on the horizontal line is the minimum distance between the grid lines.

An 'All And' gene of size = 5. Note: there are 5 input ports along the horizontal line (input ports 1 - 5),
and a 6th at the bottom of the vertical stalk (input port 0). The single output port (output port 0) is red.

Choose the gene type: 'General', 'All And', or 'All Or'. On a general gene, you will have to
define the interactions between the TFs yourself, but in the All And and All Or, this is done
for you.
For the purposes of this tutorial, put a General gene, transparent arrowhead, size = 7, on the
canvas. This symbol has 7 special output ports (1 to 7) underneath the input ports 1 to 7. Input
into a particular port will be transferred to the output port with the same number.

A 'General' gene with a transparent arrowhead, size = 7.

At this point, you can also choose whether you want the arrowhead to be filled or transparent.
Setting the transparency parameter has no effect on the functionality of any of the symbols.
A filled and a transparent arrowhead.

Components
Bring up the Constituents dialog box on the Components page (restore the dialog box if it is
minimised, and press either the Component button on the Design toolbar, or the Component
tab in the dialog itself).

9
Components can be used, among other things, to specify external inputs to the network.
Component parameters are Size (1 unit corresponds to the minimum distance between the
grid lines, size here determines the symbol width), Shape (square, circle, etc.), and Interaction
(see below). Furthermore, you can specify here whether you want the symbol to be filled or
transparent. Leaving the Interaction option set to 'None', put one diamond and two square
shaped components of size = 1 on the canvas, in the positions indicated in the figure below
(Show ports is toggled off):

Functions
All symbols have an inbuilt functionality: they transform their input in some way to create
their output, and in that respect all node symbols are functions. However, genes and
components bear some direct relationship to functioning biological molecules. The term
Function in NetBuilder is used for symbol whose relationship to biological molecules is
indirect. Two of the functions that are presently available are logical 'And' and 'Or'.

10
You can choose the shape of the function symbol, whether it will be filled or transparent, and
which operation it should carry out. You must also decide at this stage whether you want
input links to be connected to the input port in the centre of the symbol, or to stop at the
symbol perimeter. The perimeter is defined by the boundary rectangle that becomes visible
when the symbol is dragged along the canvas. Make sure the 'Transparent' and 'Attach input
to symbol perimeter' checkboxes are checked, and put two circular function symbols of size 4,
one that performs the 'Or' operation, and one 'And':

The text inside a function symbol indicates its type, and is contained in the symbol's type
label. Type labels are available for all symbols that have an operation defined (at present
functions, genes, and components that can be 'activated'). By default, the type label of
functions is visible, and that of the other kinds of symbols is invisible. Type labels can be
toggled between visible and invisible using the Type button on the Symbol parameters
toolbar. It is possible to change the position and text of a type label, but this will not alter the
operation carried out by the symbol.

Receptors
Receptors are different from other NetBuilder components in that they can be used to create
connections between cells. Their exact function will be explained later. For the time being,
put a receptor on the canvas (by pressing Receptor button on the Design toolbar) in the
position indicated in the picture above. Notice that it has been flipped vertically.

11
Linking components
Links
Links are used to transfer data (signals) from one node to another. Both directed links ( ‚and
L ) have the same functionality as the simple link ( | ), but the negated link ( ⊥ )'negates' the
data it transfers. The exact transformation depends on the function of receiving symbol, and
will be explained in more detail later.
In general, symbols are linked by pressing one of the link buttons, which changes the cursor
into a cross (the Creating link cursor) when it is over the canvas, and into a cross inside a
circle when the cursor is over a post that will accept the connection (the Accept link cursor).
A connection between a link and a symbol is made by single clicking the left mouse button
when the Accept link cursor is visible. To make a connection to another symbol, move the
cursor (now in the Creating link state again) over the other symbol, until the cursor hits the
port that you want to make the connection to and changes into the Accept connection cursor
(if it fails to do so, there is no port, or the connection is forbidden). Single left clicking will
then connect the other end of the link.
Some more things to know about link creation:
A link can be selected in the same way as node and cell symbols.
Single right clicking during dragging will abort the link creation process.
When you are dragging an unfinished link and do a single left click, a vertex will be
created at the point where you clicked.
Double click during dragging: the link will be terminated, with one end unconnected. The
link is now represented by a dotted line, to indicate it is not fully connected. Links that
are not connected at one or both ends have no function, and need to be deleted before you
can start a simulation.
You can reconnect a link by picking up its unconnected end (select the link, move the
cursor over its unconnected end, click when it changes into a small square with
arrowheads protruding from all sides), and dragging to an appropriate port whilst holding
the left mouse button down.
If you delete or cut and paste a symbol, all of its links will need to be reconnected.
Right clicking on an existing link will bring up the popup menu that gives access to the
link’s properties.
Left clicking an existing, selected link somewhere on its line while the Ctrl key is pressed
will create a new vertex at the point where you clicked, and when you click on an existing
vertex while the Ctrl key is pressed, the vertex will disappear.
Creation of directed links (all links apart from the one created upon the Simple Link
command) must start at an output port, creation of a Simple Link can start at either type
of port.
When the create link command has been given, the canvas will scroll automatically when
the cursor is over one of its borders. If the canvas starts scrolling wildly for reasons not
immediately apparent to you, chances are that you intended to create a link, and then
forgot about it. Move the cursor onto the canvas, and right click to stop the process.

12
Link the symbols as indicated in the figure. Note that the input links to the And and Or
functions stop at the symbols perimeters, but are actually are connected to the input port in the
centre of the circle. As mentioned above, the choice between simple and directed links is
made on aesthetic grounds.

Genes and their connections


Notice that the input and output ports 0 on the General Gene symbol (at the bottom and tip of
the arrowhead of the bent arrow) have a function that is different from the other ports. Input
port 0 takes the result of the function sequence that specifies the effect of the TF interactions
with the cis-regulatory domain, and output port 0 presents the overall gene output to the rest
of the network.
'All And' and 'All Or' genes are equivalent to General Genes in which all input ports are
connected to an And or an Or function:
And General Or General

and or

However, in the case of the 'All And' and 'All Or' genes, their input ports 0 are equivalent to
their other input ports, and can be used in the same way, if required.

Intercellular connections
Receptors and connections between cells
As said before, Receptors are used to transfer data between cells. In principle, NetBuilder
Receptors can be used to represent any process in which signals get exchanged between cells,
even those that do not actually involve biological cell surface receptors.

NetBuilder offers a choice of two mechanisms for intercellular signalling:


Local signalling
A signal is sent from one specified cell to one or more other cells
Global signalling

13
A signal is released into the intracellular medium, and picked up by all cells that have active
receptors for the signal

There are some subtle differences between these mechanisms, and the choice will depend on
the process that is being modelled.
To define intercellular pathways, select the receptor whose contacts you want to define, and
press the Contacts button on the Design toolbar. A dialog box will pop up:

If you change the signalling mechanism from local to global, the dialog box looks like this:

Choose Local signalling (top dialog box), and model intercellular signalling so that the signal
goes from cell A to cell B1, from there to cell B2 and B3, and from B2 back to A. Thus, select
cell A in the donor cell list, and B1 in the available cells list, and press the Add button. Then
select B1 as the donor cell, and add B2 and B3 from the available cells to the receiving cells.
Finally, select B2 as a donor, and add A as a receiving cell. Press OK to confirm, and to quit
the dialog.
The donor-receptor interactions are now set.

Colours
Adding colour

14
Colours can be used to improve the clarity or emphasise the role or grouping of the various
network constituents - the choice is up to the user.
NetBuilder has a menu option, Symbols:Active colours. If this option is set (which it is by
default), the View of the Nucleus (Simulation mode) looks quite different from the View of
the Genome (Design mode): in the View of the Nucleus, 'active' nodes and their dependent
links are coloured as in the View of the Genome, but their lines are slightly thicker, whereas
'inactive' nodes and links are grey, and have thinner lines than the active constituents.
Colours can be changed in two ways: via the properties option in the menu that pops up after
right clicking a component, and via the quicker (and presently safer) Symbol parameters
toolbar shortcut. Selecting the symbol, or symbols that you want to give a particular colour,
and press the Symbol colour button to apply the currently set colour, and the Palette button to
choose and apply another colour.
In the Simulation mode, links that are connected to the output port of a symbol will
automatically assume the same colour as the symbol. To achieve the same in the Design
mode, press the Update colours button on the Symbol parameters toolbar.
Apply a colour scheme as in the picture below to your network. Furthermore, name the three
components (red, green, and orange) TF1, TF2, and TF3 (by selecting them, pressing the
Name button on the Symbol parameter toolbar, and changing their default names to the ones
above by double clicking and editing the name labels).

The design is now ready, and its state in the different cells can be displayed as Views of the
Nucleus.

View of the Nucleus: concepts


To obtain a 'view of the nucleus' in one particular cell, go from the Design mode into the
Simulation mode by pressing the Simulate button, the only button on the Simulation toolbar
that is enabled at this stage. If everything is alright, all previously enabled buttons on the
Design toolbar will be disabled, but the top button (Edit) will enable you to go back to the
Design mode. The Simulate button will be disabled, but all most buttons on the Simulation
toolbar can be used now.

Topological sort, linearization


Upon the switch from Design into Simulation mode, NetBuilder performs a so-called
'topological sort' of the network. This involves making a list of 'input symbols', which are the

15
ones that have no input themselves - in the example network TF1 and TF2 are input symbols.
Then, the symbols that 'depend on' the input symbols (here: the gene; follow the arrows) are
put next in the list, and so on, until all symbols are listed. Sometimes the dependences are
circular (like a snake biting itself in the tail), in which case NetBuilder line arises the circle by
designating one of the members of the circle as the last one in the list. The process is
somewhat complicated by the presence of multiple connected cells - the multicellular network
is a network of identical intracellular networks.
The example contains several circles. 'General' genes always introduce circles (for instance
there is a circle from the gene via the 'And' function, via the 'Or' functions, back to the gene
again). Furthermore, the cells are also connected in a circle (A J B1 J B2 J A).
NetBuilder will not allow you to go into the Simulation mode when you have forgotten to
specify a cell, or when there are loose connections somewhere in the network.

The View of the Nucleus will look something like this:

The symbols are all grey, because they are all 'inactive'.

The Open Cell


As stated above, the View of the Nucleus visualises the state of the network in the nucleus of
one particular cell, or cell group (cells that have been grouped in the Design mode function to
all aims and purposes the same as a single cell, and in the following the term 'cell' can signify
a single cell, as well as multiple grouped cells). The cell whose state is currently displayed is
called the Open Cell, and is indicated by a thick black line around its contours. Thus, in the
picture above, cell group A is the Open Cell. To change to another cell, select the cell that you
want to 'open' by single left clicking it, and press the Probe button, the topmost enabled
button on the Simulation toolbar. There is always one, and just one open cell: opening
another cell will close the one that was previously open.

The Probed Symbol


You will have noticed that the 'contents' of the cells are also grey, and not red as in the Design
mode. However, cells contain whole networks, and cannot be 'active' or 'inactive' like other
symbols. What, then is the function of the cell colour? To understand this, select TF1 (by a
single left click) and hit the Probe button again. A red rectangle will appear around its
boundary, to indicate that TF1 is now the Probed Symbol. (Note: if the red rectangle does not
appear, you may have inadvertently selected TF1's name label. The best thing to do is to

16
move the name label temporarily out of the way, and try to select TF1 itself. Keep an eye on
the document status bar, which will say either "Label", when you are about to select the name
label, or "TF1", when you are hovering above TF1 itself.)
Now, with TF1 still selected (if it isn't, select it again) press the Toggle button on the
Simulation toolbar. The Toggle command is used to toggle the state of input symbols in the
Open Cell between 'on', 'active', and 'off', 'inactive'. As TF1 is now active, its colour will have
changed from grey to red, and its line thickness will have increased slightly. Furthermore, cell
group A is now coloured red as well:

Now, have a look in one of the other cells, e.g. cell B3 (select cell B3 and hit Probe). In B3,
TF1 is grey, because you have switched it on in cell group A only, because that was the open
at the time you hit the Toggle button. However, cell group A is still red, to indicate that the
Probed Symbol is active in those particular cells.
It is not necessary to have a Probed Symbol, and you can remove the red boundary (and the
Probed Symbol status) by selecting the Probed Symbol and pressing the Probe button. It is
not possible to have more than one Probed Symbol: designating the Probed Symbol status to a
particular symbol will remove that status from the current Probed Symbol.
Making a symbol the Probed Symbol can be compared with putting a fluorescent label onto a
particular cellular component. If the tag (and thus the tagged component) is present in a cell,
the cell will fluoresce, if not, it will appear dull.

Simulation as a Boolean network


The simplest simulation of the behaviour of GRNs possible in NetBuilder is as Boolean
networks. Although Boolean simulations have very low resolution, and can introduce
'artefacts' such as oscillations, they are easily performed and understood. Furthermore, a
Boolean simulation illustrates the basic concepts that underlie more complex simulation
frameworks.

Boolean networks
In a Boolean network, each node is in one of two states, 'on' or 'off' (also called 'true' or false',
'high' or low', and here: 'active' or 'inactive'). To indicate its state, each node has an associated
value, 1 for 'on', and 0 for 'off'. During a simulation, NetBuilder goes through the
topologically sorted list of nodes, looks at the input for each node and calculates its output on
the basis of its input. Thus, if one of the inputs to an 'Or' function is 1, the output - or
associated value - of the node is set to 1. This value is now used as input to the nodes that

17
follow in the chain (for instance, in the example the 'Or' function is followed by an 'And'). A
linear network, that is a network without any circularities, can be evaluated in a single round
of the node list. However, if there are cycles present, more than one evaluation round is
required, because the last symbol in a linearized circle is input for the first one, and its value
may have changed. Networks may reach a state in which all values are stable, but
occasionally, particularly in cases when there is negative feedback in the network, values
keep changing forever.

A Boolean simulation
To set up a Boolean simulation, choose the menu option Simulation : Simulation type :
Boolean (the default is Continuous). To make the simulation go more slowly, press the Timer
button on the Simulation toolbar, and enter 2.0 in the box labelled "Time per evaluation step
in seconds" - each evaluation round will now start 2 s after the previous one, rather than the
default 0.2 s. Furthermore, tell NetBuilder to automatically stop after a stable state has been
reached (in which none of the values change any more) by checking the menu option
Simulation : Propagate : Stop when stable (occasionally NetBuilder stops too early when this
option is set, so it is always wise to double check whether the state that it has reached is
indeed stable).
Make the gene the Probed Symbol, and check that TF1 is on in cell group A, and off in the
others (by looking into the other cells). Press Go (the lowest enabled button on the
Simulation toolbar), and watch what happens. The document status bar displays the number
of evaluation rounds, and you will see that NetBuilder stops automatically after 9 rounds. You
can always stop the simulation yourself by hitting the Stop button (underneath Go), which is
enabled during a simulation. The simulation may be resumed by pressing Go again.
What has happened? Below the state of the network in cells A, B1, and B3 after evaluation
rounds 2, 4, and 6 is displayed:

In rounds 1 and 2, TF1 has switched on the gene in cell group A, and the signal resulting from
the activation of this gene has reached the receptor on cell B1 (you specified the intercellular

18
connections earlier, see the page on Receptors). In rounds 4 - 6 the gene in cell B1 is switched
on, and the receptors on cells B2 and B3 get activated. In rounds 7 and 8, the gene gets
activated in cells B2 and B3, and cell B2 sends a signal back to cell group A, thereby
consolidating the activated state of the gene in these cells.
To show that the gene will stay on in cell group A, even when the original activator, TF1,
disappears, toggle TF1 off in cell group A, and press Go again. When the network has
stabilised again (after one round, which is the round that NetBuilder needs to check that
nothing has changed), toggle the inhibitor TF2 on. TF2 is connected to the gene via a 'negated
link'. A negated link transfers the negated value of the symbol from which it originates, so
that the input (via the gene) to the 'And' function is 1 when TF2 is off, and 0 when TF1 is on.
Since the gene will only stay active when TF3 is present and TF2 is absent (or when TF1 is
present, regardless of TF2, but we are not concerned with that now) the gene will be switched
off in cell group A. Thus, the signal to B1 is lost, and the gene switches off in B1, and
eventually also in both other cells.

Changing values
Checking a symbol's associated value
There are several ways in which you can check a symbol's value. The quickest way is by
hovering the cursor over the symbol: its name and associated value in the Open Cell, will be
displayed in the document status bar. To see the value of the same symbol in another cell, you
will have to open the other cell first.
When NetBuilder is in the Simulation mode, you can also double click the symbol. This
opens the Symbol values dialog box, which contains a list of cell names and a list of symbol
names. The name of the symbol you have double clicked is selected in the symbols list, and
the Open cell is selected in the cells list. The text box underneath the lists shows the value of
the selected symbol in the selected cell. You may change the selection, and find the value of
any symbol in any cell. The check box in the top right hand corner indicates whether the
symbol you have selected is an input symbol.

19
Selecting a symbol (by single left clicking it) and pressing the Set button on the Simulation
toolbar has the same effect as double clicking the symbol. You can also select a particular cell
by the select/Set or double click methods; in that case an (apparently) arbitrary symbol will be
selected in the symbols list.

Changing a symbol's associated value


A symbol's value can be changed to any value equal to or greater than 0.0 by editing it in the
Symbol values dialog box. Of course, changing the value of a non-input symbol will usually
have no effect, as it will be replaced by the outcome of the evaluation of the symbol on the
basis of its input. However, it is possible to 'percolate' a value through circularly connected
symbols, if you set the last one in the linearized circle (it is possible to find out where
NetBuilder has 'broken' a cycle by checking the menu option Simulation : Cycles : Show cycle
breakers - the symbols the are first in the linearized lists will show their input ports in cyan).
It is useful to know that in a Boolean simulation, any value greater than 0 will be interpreted
as if it were 1.

Shortcuts: Toggle and Reset


You have already used the Toggle command, which toggles a symbol's associated value in the
Open Cell between 0 and 1 (or 0.0 and 1.0, to be precise). If a symbol's value is greater than
zero, but not equal to 1.0, the first Toggle command will set it to 0.0, and the second to 1.0,
irrespective of its initial value.
It is often necessary to repeat a simulation, and to do so, all values need to be reset. The Reset
command on the Simulation toolbar brings up the Reset dialog box, in which you are
presented with the choice to reset (to zero) certain symbols in the open cell only, or in all
cells. Furthermore, you have the option of resetting all symbols, or leaving the input symbols
at their current values.

20
This dialog can also be used to turn off special symbols called Switches (which will be dealt
with later), and you can also use it to reset the evaluation cycle counter.
Both Toggle and Reset are shortcuts, and their actions can be emulated using the Set
command.
Now, reset all elements, including the input symbols.

Delays
You may have noticed that, so far, there has not been a time component in the simulation that
we have done. The simulation required several steps to reach a stable state, but the reason for
that was that the network contains several circular parts, so that NetBuilder had to break the
cycles (which means that the output of the last symbol in the chain is transferred to the first
one only in the next evaluation round). The timer is used to slow the simulation speed down,
but its setting bears no relation to the time the processes would, in reality, take to complete.
Time can be introduced, albeit somewhat crudely, by introducing delays between the
presentation of a signal to a symbol's input port and its effect on the output. Such delays can
be used to simulate 'slow' processes (the user will have to decide which processes are slow,
and which ones happen 'instantaneously'). Delays in the transfer of values through links can
simulate, for instance, 'slow' transport processes. Delay duration is measured in evaluation
cycles ('clock ticks').
Delays can be different for different symbols or links (even if the links originate from the
same symbol), but the value for any specific delay is the same in all cells.
Delays can be set by selecting the symbol or link, and pressing the Parameters button on the
Symbol parameters toolbar. If you have selected a link, you will be presented with the Link
delay values dialog, in which you can specify the delay over the selected link. If you have
selected a symbol, the Symbol parameter values dialog will open, in which you can set
several parameter values, including the delay parameter, not only for the selected symbol, but
for all symbols in the diagram. The significance of the other parameters will be discussed
later.

21
Even though you are allowed to change delays and other parameters when NetBuilder is in
Simulation mode, these parameters are fixed during a simulation (in contrast to the symbols'
associated values, which change). Strictly speaking, delays are part of the design. Therefore,
the shortcuts to the Link delay values and Symbol parameter values dialogs (double
clicking the object) are available in the Design mode only.
If you haven's already done so, reset all elements, including the input symbols, as described
on the previous page. Set the delay of the gene to 10, and that of the link that connects the
gene with the receptor to 15. Make the receptor the Probed Symbol, toggle TF1 to 'on' in cell
group A, press Go, and watch what happens.

Delay mechanism
When you specify a delay value greater than 0, NetBuilder creates an output 'queue' for the
symbol or link, which is initially filled with zeros. Whenever a symbol's associated value is
updated, the new value is put at the back of the queue, and the value at the front of the queue
is taken out, and transferred to the links connected to the output port - if there are any. In the
next evaluation round, the contents of the queue all move one place forward again, and so on.
The mechanism is the same for delays over links.
The appearance of a symbol (grey or coloured) is determined the value at the back of the
queue, i.e. the newly updated value. The colour of a link is determined by the value at the
front of the queue, which is about to be transferred from the node to the link.
When you set a symbol's associated value, you change the value at the beginning of the
queue. However, input symbols, which have not input of their own, are not updated, and keep
their associated value until it is changed by the user. When you change the associated value of
an input symbol whose delay is greater than 0, the change will never reach its output links.
Therefore, the delay of input symbols must be 0.
Modified Boolean networks

22
The strength of biological signals is, of course, not just 0 or 1, or even low or high, it is zero
or larger. Therefore, NetBuilder allows any values equal to or greater than 0.0 to be
exchanged between nodes.
In a continuously valued simulation, logical operations like 'And', 'Or' and 'Not' can still be
used, but data may also be added up, multiplied, or raised to a particular power.

It is important to realise that data transferred from one node to the next in a NetBuilder
network are dimensionless. Values are determined by the sender, but only 'mean' something to
the receiving nodes. Therefore, it is necessary to know how each type of symbol interprets its
input. Below, we shall explain how the most important symbols ("Modules") interpret their
input and produce their output, using the network you have created in this tutorial as an
example where necessary.

Parameters
In addition to the delay parameter, there are several other parameters that need to be defined
for each symbol before starting a simulation of a continuously valued network. The Symbol
parameter values dialog is opened as described previously (pressing the Parameter values
button on the Symbol parameters toolbar, or double clicking a symbol when NetBuilder is in
the Design mode).
After performing the transformation specific for each type of module, the result is raised to
the power of P, and multiplied by a scaling factor F before the result is transferred to the
output port. Thus, P and F need to be set, but are fixed at 1.0 for some types of symbols and
cannot be edited.
It is also possible to change the threshold for the transition from grey to coloured using the
Symbol parameter values dialog.

To start a continuously valued simulation, select the menu option Simulation : Simulation
type : Continuous (which is the default type). Set the colour thresholds of both logical
functions, the receptor, and the gene to 0.5, and set the scaling factor and the power ("Hill
coefficient") of TF3 to 10 and 4, respectively.

23
Reset all symbols to 0.0, toggle TF1 to 1.0, press Go, and observe what happens.

On the next pages we describe how the various symbols interpret their input, and transform
the data to produce output.
Input interpretation and transformation
Simple components
A component that has only one input and one output port (a component with the Interaction
option set to "none" in the constituents dialog box) performs the simplest possible
transformation:
y = F × xP
where x is the input and y is the output value, F the scaling factor, and P the power. Both F
and P are editable.
Simple components may be used as input symbols, but in that case the values of F and P are
ignored (since input symbols are not updated). They can also be used to simulate binding of
homo-oligomeric transcription factors to genes (see below, under Genes).
Receptors
Cells are connected through donor-receptor pairs, and if one receptor receives non-zero input
from more than one cell, the input values are simply added up. At present, receptors handle
negated input as if it were not negated.
Functions
Logical functions
Logical 'And' and 'Or' functions are normally used in conjunction with genes (see below). An
'And' function simply multiplies its inputs; and 'Or' function performs a somewhat more
complicated calculation (see the Theory page for an explanation). For two inputs:
yand = x1 × x2
yor = x1 + x2 × (1 - x1)
Here, x1 and x2 are the input values to the functions, and yand and yor are their outputs. 'And'
and 'Or' functions with more than two inputs are equivalent to a chain of functions with two

24
inputs, in which the output of the first is used as input to the second in the chain: yor = x1 +
x2(1 - x1) + x3(1 - (x1 + x2(1 - x1))), etc. In the picture below, the left hand diagram is
equivalent to the right hand one.

or

or

or or

A negated input, X, to one of the logical functions is interpreted as its complement: X = 1 - x:

or

Here, Y = (1 - x1) + x2 x (1 - (1 - x1)), where x1 is the negated input.


The input into logical functions must be between 0.0 and 1.0, and the values of the scaling
factor F and the power P cannot be edited. Note that, at present NetBuilder does not give a
warning when the input to a logical function could get outside the allowed range (0.0 - 1.0):
you, the user, need to make sure that this cannot happen.
Addition and multiplication
NetBuilder also provides symbols that can be used to perform addition or multiplication of
inputs:
yadd = y1 + y2
ymultiply = y1 × y2
Although the addition function performs the same operation as the logical 'And' function, it
interprets negated input in a different way: negated x is equal to the inverse of x: x = 1 / x.
Negated input into the addition function is interpreted as a negation: x = -x. Again, the values
of the scaling factor F and the power P cannot be edited.

Genes
Transformations
Genes are, at present, the most complex module on offer in NetBuilder. In the example
network, TF1 is input to the gene. The value of TF1 is interpreted as the concentration of a
molecule (a transcription factor) that binds to the gene, divided by the equilibrium
dissociation constant Kd of the gene-TF1 complex. This means that when the value of TF1 is
1.0, its real concentration is equal to Kd, and its binding site on the gene will be occupied 50%
of the time. When the value of TF1 is 100 (thus it is present at a concentration of 100 times its
Kd), the binding site occupation is 99%. The binding site occupation is calculated as follows:
y1 = x1 / (x1 + 1)
where y1 is the average occupation of the binding site of TF1, and x1 is the concentration of
TF1 relative to its equilibrium dissociation constant (see the Theory page for a justification).
The value of y1 is transferred to the output port underneath the input port to which TF1 is
connected. The same holds for TF3, whereas TF2 is connected to the gene via a negated link.
The negated input link is interpreted by a gene as follows:
y2 = 1 - { x2 / (x2 + 1) }

25
(where y2 is the TF2 binding site occupation, and x2 is the concentration of TF2 relative to the
dissociation constant of the gene-TF2 complex). Note that y1 and y2 (and in general, the
output values of the ports along the horizontal line) is always between 0.0 and 1.0, and can,
therefore, be used as input to logical functions.
In the example, the transformed values of TF1, TF2, and TF3 are used as input for the two
logical functions, whose output is calculated in the way indicated above. The output of the
'Or' function is transferred to the special input port at the bottom of the vertical stalk on. The
only transformation that takes place when the input to the special input port is transferred to
the output port at the arrowhead is multiplication by the scaling factor F; the value of the
power P is fixed at 1.0.
Input manipulation
Binding of a homo-oligomeric transcription factor (a complex of two or more products of the
same gene) to a gene is simulated by setting the power of the input component (its "Hill
coefficient") to a value greater than 1.0. The expression for the binding of the transcription
factor ( y = xP / (xP + 1) ) is S-shaped for P > 1.0.
Binding of a hetero-oligomeric transcription factor (a complex of the products of two or more
different genes) is simulated by multiplying the values of two or more input components
(using the multiplication function) and transferring the product to the gene. The expression
for the binding curve of a transcription factor that consists of two gene products, x1 and x2 is:
y = x1x2/( x1x2 + 1).
The above input manipulations can be combined to simulate the binding of even more
complex transcription factors. In the picture below, homo-oligomeric transcription factors are
simulated by setting the power parameter (“Hill coefficient”) of the diamond-shaped
components to a value greater than one. Hetero-oligomeric transcription factors are simulated
by multiplication of two different input components.

Input to gene: in = F1x1P1F2x2P2


Gene output: out = Fgene × F1x1P1F2x2P2/( F1x1P1F2x2P2 + 1)

Interpretation of output
A gene's output value can be interpreted as a measure for the rate at which the gene is
transcribed. Usually, the transcription and translation products are also degraded in the cell
(although this is not explicitly modelled), which means that, if nothing else changes in the
mean time, the protein product will in due course reach a steady state level, which is
proportional to the transcription rate. Thus, the output of a gene can be interpreted as a protein
concentration, and can, therefore, be used directly as input to a next gene. It is up to the user
to decide how large this 'steady state protein concentration' should be to have the required
effect when it is passed to the next module.

More symbols
The library of currently available modules contains several more symbols. Their functions are
described below.
Comparisons

26
In some simulations, it may be necessary to carry out a comparison of the size of two signals.
NetBuilder provides five functions that carry out such comparisons: ‹ (less than), › (greater
than), = (less than or equal to), = (greater than or equal to), and = (equal to). They are found
under Functions: Operation, and their output is 1.0 if the result of the comparison is true, and
0.0 if it is false. The main input (green triangle, a) is taken to be the first argument, the
secondary input (red triangle, b) is the second argument: a < b, a > b, a = b, a = b, a = b; as in
the example below (which signifies a > b).

>

Components that need activation


In addition to the simple components that have a single input port, NetBuilder provides
components with a second input port (Component: Interaction: 'And' activation or 'Or'
activation). These components need the input of one or more other symbols that are connected
to their second input port to become active. They calculate their output as follows:
yand-activation = x1 × { (x2 / (x2 + 1)) × (x3 / (x3 + 1)) }
yor-activation = x1 × { (x2 / (x2 + 1)) + (x3 / (x3 + 1) × (1 - (x2 / (x2 + 1))) }
These equations describe non-cooperative binding of the input components 2 and 3 (of
concentrations x2 and x3, relative to the equilibrium dissociation constants of the complexes).
In the case of 'And'-activation, x1 and both x2 and x3 need to be greater than zero to produce
an output greater than zero, in the case of an 'Or'-activation it is sufficient if x1 and either x2 or
x3 are greater than 0.0.
Negated input (inhibition) is interpreted as 1 - x/(x + 1), as in the example below:

or

Here:
yor-activation =
x1 × { (1 - (x2 / (x2 + 1))) + (x3 / (x3 + 1) × (1 - (1 - (x2 / (x2 + 1)))) }

Switches
A 'switch' is a component that is switched on by an activator input, and then stays on for the
duration of the simulation. Only when the switch is on, the main input is multiplied by the
scaling factor, and transferred to the output port. The switch from off to on takes place when
the activator input is at least 1.0. Switching is irreversible, and the only way to turn a switch
off is by manually resetting it, using the Reset dialog.

27
Writing simulation output to a file
It is possible to write the output of a NetBuilder simulation to a tab terminated text file, which
can then be imported other programs, such as Excel.
To write any data at all, firstly you need to choose the symbols whose value you want to
record. This is done by selecting them, and then pressing the Monitor button on the
Simulation toolbar. The output port (the main one, if there are more then one) of a monitored
symbol is red and permanently visible, as in the picture below. You can switch the monitor
status off again by selecting the monitored symbol, and pressing the Monitor button again.

28
To record a simulation press the Record button, and enter a file name for the output in the file
dialog box that pops up. The record button will stay pressed, to indicate that NetBuilder is in
recording mode. When you press Go, NetBuilder will store the values of the monitored
symbols for each evaluation round. You may stop the simulation, set or reset values, and
continue. If you reset the evaluation round counter, new data with the same evaluation round
number will replace the old, if you don't all data will be stored. When you press Record again,
the data will be written to the file whose name you specified in the previous step.
The data in the file can be organised in one of three different ways. Choose the menu option
Settings : Output file organisation to specify the format.
In the examples below, TF3, the gene, and the receptor were monitored, and 9 evaluation
rounds were recorded (in simulation shown here, all delays were 0). The three different output
formats are shown.

Menu option Settings : Output file organisation : By cell, Rows: simulation round, Columns:
component (default):
Cell Round TF3 Receptor1 Gene3

A 0 0 0 0

A 1 0 0 0

A 2 0 0 0.5

A 3 0 0 0.5

A 4 0 0 0.5

A 5 0 0 0.5

A 6 0 0 0.5

A 7 0.01 0.18 0.5

A 8 0.17 0.36 0.5

A 9 0.17 0.36 0.51

B1 0 0 0 0

B1 1 0 0 0

B1 2 0.63 0.5 0

B1 3 0.63 0.5 0

B1 4 0.63 0.5 0.38

B1 5 0.63 0.5 0.38

B1 6 0.63 0.5 0.38

B1 7 0.63 0.5 0.38

B1 8 0.63 0.5 0.38

B1 9 0.65 0.51 0.38

B2 0 0 0 0

B2 1 0 0 0

B2 2 0 0 0

B2 3 0 0 0

B2 4 0 0 0

B2 5 0.22 0.38 0

29
B2 6 0.22 0.38 0

B2 7 0.22 0.38 0.18

B2 8 0.22 0.38 0.18

B2 9 0.22 0.38 0.18

B3 0 0 0 0

B3 1 0 0 0

B3 2 0 0 0

B3 3 0 0 0

B3 4 0 0 0

B3 5 0.22 0.38 0

B3 6 0.22 0.38 0

B3 7 0.22 0.38 0.18

B3 8 1.01 0.56 0.18

B3 9 1.01 0.56 0.18

Menu option Settings : Output file organisation : By cell; Rows: component, Columns:
simulation round:
Cell Component 0 1 2 3 4 5 6 7 8 9

A TF3 0 0 0 0 0 0 0 0.01 0.17 0.17

A Receptor1 0 0 0 0 0 0 0 0.18 0.36 0.36

A Gene3 0 0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.51

B1 TF3 0 0 0.63 0.63 0.63 0.63 0.63 0.63 0.63 0.65

B1 Receptor1 0 0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.51

B1 Gene3 0 0 0 0 0.38 0.38 0.38 0.38 0.38 0.38

B2 TF3 0 0 0 0 0 0.22 0.22 0.22 0.22 0.22

B2 Receptor1 0 0 0 0 0 0.38 0.38 0.38 0.38 0.38

B2 Gene3 0 0 0 0 0 0 0 0.18 0.18 0.18

B3 TF3 0 0 0 0 0 0.22 0.22 0.22 1.01 1.01

B3 Receptor1 0 0 0 0 0 0.38 0.38 0.38 0.56 0.56

B3 Gene3 0 0 0 0 0 0 0 0.18 0.18 0.18

Menu option Settings : Output file organisation : By simulation round; Rows: component,
Columns: cell:

Round Component A B1 B2 B3

0 TF3 0 0 0 0

30
0 Receptor1 0 0 0 0

0 Gene3 0 0 0 0

1 TF3 0 0 0 0

1 Receptor1 0 0 0 0

1 Gene3 0 0 0 0

2 TF3 0 0.63 0 0

2 Receptor1 0 0.5 0 0

2 Gene3 0.5 0 0 0

3 TF3 0 0.63 0 0

3 Receptor1 0 0.5 0 0

3 Gene3 0.5 0 0 0

4 TF3 0 0.63 0 0

4 Receptor1 0 0.5 0 0

4 Gene3 0.5 0.38 0 0

5 TF3 0 0.63 0.22 0.22

5 Receptor1 0 0.5 0.38 0.38

5 Gene3 0.5 0.38 0 0

6 TF3 0 0.63 0.22 0.22

6 Receptor1 0 0.5 0.38 0.38

6 Gene3 0.5 0.38 0 0

7 TF3 0.01 0.63 0.22 0.22

7 Receptor1 0.18 0.5 0.38 0.38

7 Gene3 0.5 0.38 0.18 0.18

8 TF3 0.17 0.63 0.22 1.01

8 Receptor1 0.36 0.5 0.38 0.56

8 Gene3 0.5 0.38 0.18 0.18

9 TF3 0.17 0.65 0.22 1.01

9 Receptor1 0.36 0.51 0.38 0.56

9 Gene3 0.51 0.38 0.18 0.18

Programmed simulations

31
If, during a simulation, you want to change some of the input values, you can do it manually,
by stopping the simulation, changing the values, and resuming the simulation. However, this
process can be automated. NetBuilder can perform a 'programmed' simulation on the basis of
the input data provided in an input file. The input file must have specific format. The
recommended way of creating a properly formatted input file is to generate an input file
template, and change or add values as required.
The input file is generated by selecting the menu option Simulation : Programmed input :
Make input template, available only when NetBuilder is in simulation mode. You will be
asked how many rounds you want to provide input for. NetBuilder then generates a tab
delimited text file, that can be imported into other programs that read text files, such as
Notepad, or Excel. The file lists the names of all input symbols, and contain a block of data
for each cell, all with rows of input values for each evaluation round. The values in the file
are the current values of the input components.

Components: TF1 TF2

Cell Round

A 0 1.0 0.0

A 1 1.0 0.0

A 2 1.0 0.0

A 3 1.0 0.0

A 4 1.0 0.0

A 5 1.0 0.0

A 6 1.0 0.0

A 7 1.0 0.0

A 8 1.0 0.0

A 9 1.0 0.0

A 10 1.0 0.0

B1 0 0.0 0.0

B1 1 0.0 0.0

B1 2 0.0 0.0

B1 3 0.0 0.0

B1 4 0.0 0.0

B1 5 0.0 0.0

B1 6 0.0 0.0

B1 7 0.0 0.0

B1 8 0.0 0.0

B1 9 0.0 0.0

B1 10 0. 0.0

B2 0 0.0 0.0

B2 1 0.0 0.0

B2 2 0.0 0.0

B2 3 0.0 0.0

32
B2 4 0.0 0.0

B2 5 0.0 0.0

B2 6 0.0 0.0

B2 7 0.0 0.0

B2 8 0.0 0.0

B2 9 0.0 0.0

B2 10 0.0 0.0

B3 0 0.0 0.0

B3 1 0.0 0.0

B3 2 0.0 0.0

B3 3 0.0 0.0

B3 4 0.0 0.0

B3 5 0.0 0.0

B3 6 0.0 0.0

B3 7 0.0 0.0

B3 8 0.0 0.0

B3 9 0.0 0.0

B3 10 0.0 0.0

You may now edit the input template. The format of the rows is:
Cell name < tab > Evaluation round nr < tab > 1st input symbol value < tab > 2nd input
symbol value ... etc.
You may add or delete rows, as long as you keep the format of the remaining ones intact. You
may also shuffle the order of the rows, and it is not necessary to specify the data for all cells.
The data in the example template file above were pruned and edited to give the data in the
table below. NetBuilder can only read tab delimited text files, so make sure you save your
edited data in a tab delimited text file, in the given format.

Components: TF1 TF2

Cell Round

A 0 1.0 0.0

A 10 0.0 0.0

A 30 1.0 0.0

B1 7 0.0 1.0

To perform a programmed simulation, press the Programmed simulation button on the


Simulation toolbar, and enter the name of the file containing the input data when prompted.
NetBuilder will tell you when it has successfully read the file. The programmed simulation is
started by pressing Go. Before the start, all input symbols in all cells are set to, and will stay
0.0, unless specified differently in the input file.

33
You can pause (press Stop) and continue (Go) or restart (Reset) the programmed simulation,
as long as the Programmed simulation button is in the pressed state. The programmed
simulation ends when you press the Programmed simulation button again.
Combining programmed simulation with output recording
You can easily combine a programmed simulation with output recording to a file. Start
recording the values of the monitored symbols as describe on the previous pages by pressing
the Record button, and entering a name for the file in which the output data will be stored.
You can start recording before, or after you have started the programmed simulation.
As an example, the edited input file on the previous page was used to perform a programmed
simulation. The symbol parameter values used are listed in the table below (the table was
produced manually; at present NetBuilder cannot write or read parameter files, but this will be
an option in future versions).
Componen Delay Scaling Power Colour
t factor threshold

TF1 0 1.0 1.0 1.0


TF2 0 1.0 1.0 1.0
TF3 0 10.0 4.0 1.0
Receptor1 0 1.0 1.0 0.5
Gene1 0 1.0 1.0 0.5
Function1 0 1.0 1.0 0.5
Function2 0 1.0 1.0 0.5

All links 0

The response in the different cells was recorded, the output file opened in Excel, and the
symbol values were plotted, per cell, as a function of evaluation round number. The
simulation - just meant to illustrate how to do things in NetBuilder - shows that you get
behaviour that would very difficult to predict, even with the very simple model and input used
here.

34
35

Você também pode gostar