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.
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.
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.

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.
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).

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):

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'.

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 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.