Issues   Contacts   Partners   Blog   Cite  

Welcome to esyN

esyN is designed for ease of use. To dive in and make your first network, follow these simple steps.

Making a Network Graph

  1. Click to the "Graphs" page in the menu bar
  2. The light blue area is where you create your network
  3. Click on the "Node" button in the top right corner
  4. Click anywhere in the blue workspace to create a node
  5. Click on the newly created node and change its name to "A" using the panel on the right - remember to click "Set" to apply the change
  6. You can create as many nodes as you like this way. Repeat the process to create a node named "B"
  7. Next let's create an edge between nodes A and B. Click on the "Edge" button above the network viewer to enable edge creation, then click once on each of A and B to create the edge. Notice that because we're in Edge mode, the control panel on the right does not allow us to edit the properties of the nodes themselves
  8. While still in Edge mode, try clicking an empty region of the blue canvas. Nothing happens because you can't create nodes while in Edge mode.
  9. Let's save our work. First change the default project name in the box below the blue canvas to "My first project". Now click save in the tools menu on the left. As you can see, we have three options. If you're logged in to esyN, select "Save online" to save this project online with your account so you can easily work on it later, from anywhere in the world. Otherwise select "Save offline" to download the project file so that you can upload it later and continue. Don't worry about "Save a copy" for now.
  10. That's it! Experiment with the basic features and try constructing a simple network from scratch. Then try some of the more advanced tutorials to learn how to get the most out of esyN. We recommend you learn how to automatically retrieve interaction data next.

Getting started making network graphs with esyN is easy. There are a couple of extra (simple) rules to learn to use the Petri nets tool - let's try it now.

Making a Petri net

  1. Click on Petri nets in the menu at the top of the page
  2. Notice that the tool looks almost identical to the Graphs tool we just tried, but with a few extra menu options. We're going to make a simple model of an enzyme catalysed reaction. Click "Place" in the control panel, then click anywhere in the blue canvas to create a place.
  3. In a Petri net, places represent things we can quantify such as proteins. Let's name this place "Enzyme A". Click on the place we just created, then change it's name in the control panel on the right. Remember to click "Set" to make the change.
  4. Go through the same steps to create two more places called "Substrate" and "Product"
  5. In a Petri net, we are describing process that can happen to the places. Let's create a Petri net of the conversion of Substrate into Produce by Enzyme A. First we need to create a Transition node. Select "Transition" from the control panel on the right, then click anywhere in the blue canvas to create the node. Transition nodes are drawn as squares so we can tell them apart from places. Name this transition "Conversion by A"
    • As we have said, in a Petri net we use places and transitions to describe processes. Transitions represent actions that can happen to entities we represent with places. In the "Conversion by A" process, Substrate is consumed and Product is produced. Enzyme A is involved but is not consumed or produced.
    • To represent this process, we draw arrows from places to transitions, and from transitions to places (i.e. Edges from places to places - or transitions to transitions are not allowed!). These arrows represent the input and output of actions. Enter Edge mode by clicking "Normal Edge" above the network view. To create an edge, first click the source node and then click the target node.
  6. Create an edge with Substrate as the source and "Conversion by A" as the target. Create another edge with "Conversion by A" as the source and Product as the target. Looking at the graph now, it represents a direct conversion of Substrate to Product. If that was the process we wanted to describe, we would be done. But this reaction requires catalysis by Enzyme A. Let's add that.
  7. Create an edge from Enzyme A to "Conversion by A". Now Enzyme A is also required as an input for the transition. But as it is, only Product is an output place. So our model says that if the transition happens, both Substrate and Enzyme A will be consumed. Let's fix that.
  8. Create another edge with "Conversion by A" as the source and Enzyme A as the target. Now our model says that although Enzyme A must be present (it is an input place for the transition), it is not consumed because it is also an output place

That's it! We've created a simple Petri net model of an enzyme-catalysed conversion of one substance into another. Try to add another substrate that is converted by the same enzyme into a different product (note: you don't need to create another place representing the same enzyme). Once you're comfortable with creating the layout of a Petri net, read the Tutorial section which explains how to add more detail to your model e.g. the amount of a substance that must be present before a given transition can happen, or the amount of each output that is produced. There are also some more advanced types of place and transition help with the organisation of large Petri nets. Finally, the Tutorial section also explains how to export and simulate the Petri net you have constructed.

Tutorial

This is the main esyN tutorial and documentation, covering everything from the very basics to the most advanced features. If this is your first time using this site, we recommend you work through the "Getting Started" page for a quick - hands on - introduction


1.0 Background

esyN is a web tool that allows the construction of two distinct types of networks, Graphs and Petri nets. Graphs are simply graphs of nodes and edges, which are useful to visualize the relationships between the objects represented by the nodes. Petri nets are more complex and allow you to visually create a model that describes a process, based on adding an underlying formalism (Petri Nets), which can be simulated.

In addition to being a tool for creating networks, esyN makes it easy to share projects and collaborate on them. Projects can also be made public, allowing anybody to view them.


1.1 Overview

In esyN, all networks are organised into Projects. Each project can contain any number of related networks, which all ultimately form part of a larger underlying network.

1.2 Best practices

This section contains several recommendations from the esyN team to help you effectively use the esyN tool.

  1. So that we can provide the most flexible tool possible, we do not impose a particular naming system for graphs, however we strongly recommend that users determine an appropriate system and stick to it. This will increase the usability of networks once published, and makes some errors less likely. We recommend sticking to gene symbols as found in the Ensembl database, and we provide a button to search Ensembl for the currently selected node name to make this process easier.
  2. Provide references for your network so that you have a record of the literature you used, and so that others can find the relevant literature if you publish the network. References can be added to edges in Graphs or to transition nodes in Petri Nets. References are automatically imported along with interactions retrieved from InterMine in the Graphs tool.
  3. Make use of the options for separating large networks into smaller subnetworks (either by nesting networks or connecting separate networks with disperse nodes). This has two main advantages. Firstly, this will make the network much more human-readable and separates nodes into logical groups that are easier to understand. Secondly, this reduces the size of the network that must be rendered at any one time in the browser, which significantly improves the performance of the tool.

2.0 Graphs

Graphs are used to visualise relationships and interactions between the objects represented by the nodes in the network. This type of representation is increasingly popular in biology as more and more data is available about interaction networks at various scales. The esyN Graphs tool is designed to make it easy to interactively build a network, drawing on this large volume of information.

Firstly, we recommend working through the steps in the "Getting Started" section, to get to grips with the basics of making a network graph

2.1 Building a network graph

Nodes and edges can be created as needed by following the steps outlined in the "Getting started" tutorial. In esyN, when you're working on a network using the Graphs tool, that network is associated with a project. Every project can contain several networks, which are all related to each other. To make organising large networks easier, you can create several smaller networks and then use our "Merge" tool to combine them into one large network. It is important to remember that different networks in one project are assumed to be related to each other, and to form parts of a larger network. To create a new network, click "Network" in the options on the left, then select "New network". This will create a new empty network in the same project. To rename the network, select "Network" then "Rename network" in the controls on the left. Similarly to delete a network, select "Network" then "Delete network" on the left hand side. This option will delete the currently open network. If you delete a nested network, the node that contained the network will not be deleted, it will just become a normal node. To switch to any of the networks in the current project, use the "Select a network" dropdown on the left hand side.


Edges - directed and undirected

Edges connecting nodes can be either directed or undirected. To create an undirected edge, select "Edge" in the panel to the right of the editor, to create a directed edge select "directed edge". As the name implies, a directed edge has a source and a target and typically has a different meaning for the source and target node. For example, in a gene regulatory network, the edge source might be a transcription factor, and the target would be a gene it regulates. Here the direction of the edge tells us which gene is the regulator and which gene is regulated. Undirected edges, in contrast, imply that the connected elements are equivalent in terms of the interaction. A typical example is a physical interaction between two proteins. Here both proteins interact with each other so there is no direction.

Edges - interaction type

Both directed and undirected edges can be associated with a type. The default type is "None", which means unspecified or unknown. Edge types can also be set to either "Physical" or "Genetic". Edges added automatically will be given the type retrieved from the database.

Edges - references

In an esyN graph, the presence of each edge in the network can be justified by adding a reference for it. References are added in the form of PubMed IDs (PMIDs). When interactions are automatically retieved via InterMine, supporting references are automatically stored. To manually edit the references for an edge, first select the edge. The current references can now be seen in the information panel on the right hand side of the viewer. To add a reference, enter the PMID and click "Add". To remove a reference, select it from the list and click "Remove Citation(s)". Multiple references can be selected by holiding ctrl (windows) or cmd (mac). To open a reference, select it from the list and click "Go to selected". This will open the reference in PubMed in a new window or tab.

2.2 Automatically retrieve interactions

As well as manually adding interactions between nodes, for biological networks where nodes represent genes or proteins, esyN provides users a simple interface to retrieve interaction data automatically. Currently this is possible for Human, Fly (D. melanogaster) and Yeast (S. cerevisiae) data.

First create a node, and name it with the name of a gene or protein of interest and select it. Select "Interactions" from the options on the left, or scroll to the bottom of the page to find the "Interactions" section of "Advanced tools". First select an organism and (optionally) a type of interaction to retrieve, then click "Get interactions". A list of interactions will appear below the button within a few seconds. These interactions can be added one by one, or all interactions can be added by clicking "Add all". For all interactions added this way, supporting references are automatically added as properties of the edge. This feature is powered by InterMine databases (flymine, yeastmine, metabolicmine).


Advanced details

When interactions are automatically retrieved, the tool first checks whether the interacting node is already present in the project. If so, the retrieved interaction will be added to the existing node. If the existing node is not in the current network, then a disperse node will be created in the current network.


2.3 Disperse nodes

Disperse nodes are simply a way for there to be multiple references to one entity. As a user, you just need to create a node with the same name as an existing node in another subnetwork and they will automatically be linked. This doesn't add extra functionality, it's just for convenience when working with large, complex networks. It means that you can refer to the same protein multiple times in different subnetworks. When you use the "merge" tool to combine all the separate networks in a project into one, all appearances of each disperse node will be combined into one, which has all the edges added to any of the appearances. Disperse nodes are identified by their blue outline.

2.4 Nested networks

Nested networks are a way to organise a large network into smaller sections, for example grouping all of the nodes and edges related to protein folding or glucose transport together. Using nested networks allows us to see the overall connections between functional groups of nodes without seeing the full detail of those groups (unless we want to). This method of organising network graphs can be thought of as a hierarchy from more abstract at the top level, to more detailed layers below.

For example, if we are describing the interactions and pathways that a specific protein of interest is involved in, we might make a nested network containing the degradation pathway for our protein.

The edges connected to nodes containing networks are also only representative that something in the current network has an edge connecting it to something in the nested network. This interaction must be explicitly created by the user somewhere! This will almost always be an edge inside the nested network, connecting one of the nodes in the nested network to a node in the network in which it is nested. The node that forms the link will be disperse (see above).

For an example project using nested networks, go to the Explore page and open the public project "Example: Nested Networks"

2.5 Merge

Merge all networks in a project

"Merging" networks means combining all the networks present in a project and creating one network that contains all the information. During the merge operation, nodes that contain nested networks are removed, as well as their edges. You can merge all networks in your project by selecting "Merge" from the list of options on the left. When the merge operation is complete, the viewer will switch to the merged network.

IMPORTANT: If you merge all networks in a project and then continue working, it is important to delete the previous merge result before repeating the merge operation.

The edges connected to nodes containing networks are only representative of the fact that something in the current network has an edge connecting it to something in the nested network. This interaction must be explicitly created by the user. This will almost always be an edge inside the nested network, connecting one of the nodes in the nested network to a node in the network in which it is nested. The node that forms the link will be disperse (see above and section 3.7 - nested networks in Graphs behave like coarse transitions in Petri nets.)

Merge multiple projects

In esyN, users can easily combine different projects into one. This enables projects to act like reusable modules. When working on a project, users are able to import any of their own projects, or any published project through the "Merge" menu item on the left of the builder tool page. If both projects contain networks with the same name, it will not be possible to merge them.

2.6 Upload from cytoscape

To upload a network created in Cytoscape to esyN, you must use Cytoscape V3+. From cytoscape, export your network as a "cytoscape json (*.cyjs)" format file. In the exyN Graphs tool, select "Upload", and navigate to your file in the popup box. When you have selected the file, select "Upload" in the popup. The popup box will close once the network has been uploaded. Currently, you can only upload into a new project. Uploading a file will replace the contents of the current project with the network found in the file.


2.7 Upload from tabular data

Interaction data in csv format can be uploaded to EsyN. Select "upload" from the menu to the left of the Graphs tool. In the popup window, select csv format. You will be presented with some simple settings to describe the format of the file: whether or not there is a header row (column names), whether the edges are directed, whether the table contains data on the type of each edge, and which column to use for edge source, target and type. For an undirected network, it does not matter which way round the source and target columns are defined. If the type value for an edge is either "genetic" or "physical", this information will be included in the generated network, anything else will be ignored.

2.8 Downloading and exporting projects

Download an esyN project

esyN projects can be downloaded by selecting "save" > "save offline" from the menu to the left of the Graphs tool. This project can be uploaded later and edited, enabling users to work with the esyN network building tool without registering.

Download in csv format

There are 3 options for downloading a project as a csv. Importantly, projects can be downloaded with and without merging the networks it contains.

  • Export project as csv - this generates a csv file containing all edges in the project, including edges connected to nodes containing nested networks.
  • Merge and export project as csv - this generates a csv file containing all edges present after merging the project.
  • Export current network as csv - this generates a csv file containing all edges in the network currently loaded in the builder tool.

2.9 Network layouts

Several layout options are available, and can be found in the "Networks" tab in the menu on the left.

  • Breadthfirst
  • Circular
  • Grid
  • Random

2.10 Automatically generating a network from a list of genes

By clicking on the "List" button on the left hand panel in the Graph mode you will be able to upload a list of genes, either manually, in comma separated format, or in a file.txt with the gene names arranged in a column. From this list esyN will automatcally retrieve the interactions between these genes from The Biogrid database and generate the associated network. The user has the option to generate the network only between the genes in the uploaded list or include also the interactors of these genes.

2.11 Common sources of error:

  1. When nesting networks, be careful that the hierarchy of networks makes sense
  2. Don't create loops of nested networks
  3. When collaborating on a project with multiple editors, make sure only one person is editing the network at a time - otherwise editors will overwrite each others changes.

3.0 Petri nets

Petri nets are a more sophisticated version of graphs. The nodes in a network are of two types: places and transitions. Places represent objects such as genes, proteins, etc. Transitions represent actions (e.g. phosphorylation, binding, folding, etc). The edges are directed and places connect only to transitions and vice versa. Places contain a given number of tokens, which are then used when the transition is fired. The number of tokens used is the weight of the edge between the place and the transition. The model with its underlying Petri Net formalism allows the user to simulate the networks and make quantitative predictions on its behaviour.

Firstly, we recommend working through the steps in the "Getting Started" section, to get to grips with the basics of making a Petri net


3.1 Making a Petri net interactively

Places, Transitions and edges can be created as needed by following the steps outlined in the "Getting started" tutorial. As for Graphs, any network you create with the Petri net tool is associated with a project. Every project can contain several networks, which are all related to each other. To make organising large networks easier, you can create several smaller networks and then use our "Merge" tool to combine them into one large network. In Petri nets, networks can be nested only inside transitions (see coarse transitions below). It is important to remember that different networks in one project are assumed to be related to each other, and to form parts of a larger network. To create a new network, click "Network" in the options on the left, then select "New network". This will create a new empty network in the same project. To rename the network, select "Network" then "Rename network" in the controls on the left. Similarly to delete a network, select "Network" then "Delete network" on the left hand side. This option will delete the currently open network. If you delete a nested network, the transition that contained the network will not be deleted, it will just become a normal transition. To switch to any of the networks in the current project, use the "Select a network" dropdown on the left hand side.


When constructing a network, certain logical structures are frequently constructed. To speed this process up, several commonly used structures can be created with a single click by selecting "Modules" from the menu on the left. After selecting a module to add, clicking on the network window will create the module at that position. The nodes can now be edited to represent places in your network.

3.2 Tokens, marking, multiplicity

Each place contains a certain number of the objects it represents - the number of tokens. The marking refers a configuration of the network with a given number of tokens in each place. The multiplicity of the edge refers to how many tokens are moved across that edge. If the edge connects a place to a transition, a number of tokens equal to the multiplicity of the edge will be removed from the place. If the edge connects a transition to a place then a number of tokens equal to the multiplicity will be added to the place. A transition can only occur if the number of tokens in all of its input places is at least the value of the multiplicity of the edge that connects them. Transitions that can fire are said to be "enabled". See "Simulating the Petri net" for more information.


3.3 Mass action constant k

To use Mass Action kinetics, each transition can have a parameter, k, associated with it. This parameter is used when simulating the Petri net to calculate the rate of each reaction (transition) at each timepoint in the simulation. By default, k = 1 for all transitions. At each step in the simulation, the rate of each reaction is calculated as follows. For each transition t, with n input places [P1][P2]...[Pn], where [P1] is the number of tokens in place P1

ratet = kt[P1][P2]. . .[Pn]

3.4 Inhibitor edges

An inhibitor edge connects a place to a transition (but not the vice versa). If the place contains more or the same number of tokens as the edge multiplicity, then the connected transition cannot happen. This will be true until the number of tokens in the input place for the inhibitor edge is reduced by some other transition.


3.5 Retrieve interactions automatically

In the case of biological networks, where places represent genes or proteins, esyN provides users a simple interface to retrieve other interacting places automatically. Currently this is possible for Human, Fly (D. melanogaster) and Yeast (S. cerevisiae) data.

First create a place, and name it with the name of a gene or protein of interest and select it. Select "Interactions" from the options on the left, or scroll to the bottom of the page to find the "Interactions" section of "Advanced tools". First select an organism and (optionally) a type of interaction to retrieve, then click "Get interactions". A list of interactions will appear below the button within a few seconds. These interactions can be added one by one, or all interactions can be added by clicking "Add all". Adding interactors to a Petri net will create a place node but no edges. This feature is powered by InterMine databases (flymine, yeastmine, metabolicmine).



3.6 Disperse places

Disperse places are simply a way for there to be multiple references to one entity. As a user, you just need to create a place with the same name as an existing node in another subnetwork and they will automatically be linked. This doesn't add extra functionality, it's just for convenience when working with large, complex networks. It means that you can refer to the same protein multiple times in different subnetworks. A disperse place will have the same marking in every subnetwork. When you use the "merge" tool to combine all the separate networks in a project into one, all appearances of each disperse place will be combined into one. Disperse places are identified by their blue outline.


3.7 Coarse places

Instead of containing tokens, places can contain other places (the children). A place that contains other places is called a "coarse place" (or parent node). Coarse places represent concepts that group normal places together e.g. a place "proteins" may contain "kinases, proteases" etc. and in turn "kinases" may contain specific kinases such as "GSK3B" etc. When all the networks in a project are merged, coarse places are removed because they are represent concepts not real biological entities. Coarse places are replaced by the places they contain, and all edges that were connected to the coarse place are copied for every place it contains. Note that the merge function will always create a logical AND relationship between all of the child places for each transition connected to the parent place.

For an example project using nested networks, go to the Explore page and open the public project "Example: Coarse Places"


3.8 Coarse transitions

Coarse transitions are a way to nest a submodel inside a transition. They are used to organise a large model into smaller sections, for example grouping all of the places and transitions and the edges between them related to protein folding or glucose transport together. Using nested networks allows us to see the overall connections between functional parts of our model without seeing the full detail of those groups (unless we want to). This method of organising network model can be thought of as a hierarchy from more abstract at the top level, to more detailed layers below.

The edges connected to transitions containing networks are also only representative that something in the current network has an edge connecting it to something in the nested network. This interaction must be explicitly created by the user. This will almost always be an edge inside the nested network, connecting one of the places in the nested network to the corse transition in the network in which it is nested.

For an example project using nested networks, go to the Explore page and open the public project "Example: Coarse Transitions"


3.9 Simulating the Petri net

We provide a separate R script for simulation, available here. The script is designed to require very minimal editing - only the name of the file containing your Petri net needs to be entered. To export this file from esyN, select "Export" > "Export matrices" from the menu on the left in the Petri nets tool page. This will generate a matrix representation project. This matrix cannot represent nested networks or coarse places, so the project is merged in the background before the matrix is exported.

To simulate your Petri net, you must first download the matrices by selecting "Export > Export matrices" from the menu on the left. This matrix represents the merged project i.e. there will be no references to coarse places or coarse transitions. Petri net data is saved in JSON format, so it can easily be used as input for custom analysis scripts.

The simulation proceeds as follows. In every step of the simulation, one transition will occur. This causes tokens to be moved between places. The number of tokens moved by a transition is determined by the multiplicity of its input and output edges. This number of tokens will be removed from the input place and added to each output place. As the marking of a place cannot be negative, for a transition to occur all of its input places must contain at least as many tokens as the multiplicity of the edge that connects them to the transition. A transition that meets this requirement is able to occur and is said to be "enabled". In every step of the simulation, a transition is selected to fire using the Gillespie algorithm.


3.10 Uploading a Petri net

Uploading from a saved EsyN project

Petri nets can be saved offline in JSON format and uploaded later by selecting "Upload" from the menu on the left.

Uploading from Snoopy

Snoopy is an advanced tool for the creation of many types of Petri Net. Stochastic Petri Nets created with Snoopy can be uploaded to EsyN by first exporting them for MatLab from Snoopy. This creates a file with the extension '.m' that can be uploaded to EsyN by selecting "Upload" from the menu on the left. Place names and markings, edge multiplicity and parameter k for transitions will all be uploaded. Note that EsyN only supports stochastic Petri Nets with normal and inhibitor edges only. Transitions can only use MassAction kinetics with a single parameter (k).

Uploading from SMBL

Systems Biology Markup Language (SMBL) is an open format for the exchange of computational models of biological processes. More details including the schema can be found at sbml.org. EsyN can extract the structure, marking and edge multiplicity from an SBML model to generate a Petri net. This includes any model in Biomodels Database. However, the readability of the model (particularly the node names) varies depending on the source of the SMBL. Currently, no reaction modifiers are included (including inhibitors, catalysts, etc. - in the SMBL format this means any modiferSpeciesReference elements are not converted) because their interpretation in a Petri net is not standard. We are working to improve SBML support and would welcome any feedback at info@esyn.org.

3.11 Saving and exporting projects

Download an esyN project

esyN projects can be downloaded by selecting "save" > "save offline" from the menu to the left of the Graphs tool. This project can be uploaded later and edited, enabling users to work with the esyN network building tool without registering.

Download in csv format

There are 3 options for downloading a project as a csv. Importantly, projects can be downloaded with and without merging the networks it contains.

  • Export project as csv - this generates a csv file containing all edges in the project, including edges connected to nodes containing nested networks.
  • Merge and export project as csv - this generates a csv file containing all edges present after merging the project.
  • Export current network as csv - this generates a csv file containing all edges in the network currently loaded in the builder tool.

Export matrices

Petri Nets are a graphical representation of a mathematical model that can be represented in matrix form (see Appendix 1 for details). To download this matrix representaion, select "Export" from the menu on the left, then "Export matrices". The matrices will represent the merged project i.e. there will be no reference to any coarse places or coarse transitions.

Export SBML

The structure of the Petri net, the initial markings and the edge multiplicities will be converted to SBML format for download. Currently, no reaction modifiers are included, meaning that inhibitor edges are not included in the final model. The mass action paramater k is also not included in the SBML model. The exported SBML is in Level 3 Version 1 format validated at sbml.org.

Export references

All references associated with any transition in the project can be exported by selecting "Export" from the menu on the left, then "Export citations". This will download a csv file containing the names of transition nodes and the associated references. Only transition nodes that have references associated will have entries in the table.


3.12 Merge

Merge all networks in one project

"Merging" a project means taking all the information in all of the networks contained within the project and combining them into one network. In particular, coarse transitions, coarse places and disperse places are processed in the following ways.

Coarse transitions

Coarse transitions are replaced by the networks they contain in the merge operation.

Coarse places

In the merge, parent nodes are replaced with their children.

Disperse places

Disperse places are a way to refer to the same pool of an entitiy in several different locations. Therefore when the networks are merged, there will only be one appearance of the disperse place, which will have all the edges connected to it from all the networks in a project.

Merge multiple projects

In esyN, users can easily combine different projects into one. This enables projects to act like reusable modules. When working on a project, users are able to import any of their own projects, or any published project through the "Merge" menu item on the left of the builder tool page.

3.13 Common sources of error

  1. Consider whether AND or OR logic is appropriate for a transition. All input places for a transition must contain more tokens than the multiplicity of the edge connecting them for the transition to be able to occur, therefore an AND relationship exists between the input places.
  2. Merging coarse places will always create an AND relationship between all contained places for each connected transition
  3. When nesting networks, be careful that the hierarchy of networks makes sense
  4. Don't create loops of nested networks
  5. When collaborating on a project with multiple editors, make sure only one person is editing the network at a time - otherwise editors will overwrite each others changes.

3.14 Adding references for a Petri Net

Each transition node in a petri net can be associated with one or more references. References are added by PubMed ID (PMID). To add a reference, first select the transition node. The list of references for this node will now be visible in the information panel on the right hand side. To add a reference, enter the PMID and click "Add". To remove one or more references, select the references from the list and click "Remove Citations(s)". Multiple references can be selected by holdilng ctrl (windows) or cmd (mac). To open a reference, first select the reference in the list then click "Go to selected". This will open the reference in PubMed in a new tab or window.

3.15 Network layouts

Several layout options are available, and can be found in the "Networks" tab in the menu on the left.

  • Breadthfirst
  • Circular
  • Grid
  • Random

4.0 My esyN

If you log in to esyN, you are able to save models online, share models with other people, publish your models and import published models into your workspace.


4.1 Creating an account

Any user can login for free in esyN. We use Mozilla Persona for the authentication process, we means we don't know (or store) your password. Visit their website to discover all the advantages of using Persona.


4.2 What the "My esyN" page looks like

Within the My esyN page you will see three tabs:

  1. "My Projects": This is a list of all of your saved projects
  2. "Projects Shared with Me": All the projects that have been shared with you
  3. "My Published Networks": The projects you have published


4.3 Saving a model and loading a saved model

Anybody user can save projects offline and re-upload them later to continue working on them. Only registered users can save projects online. Please note there is a limit of 10 projects per user that can be saved online. Each saved project has a history of the previous 10 saved versions. Click "Show history" next to a model to view the previous versions. If you open a previous version of a project, make changes and save online, this version is now the newest version that will be opened by simply clicking the project name.


4.3 Viewing project history

Each saved project has a history of the previous 10 saved versions. Click "Show history" next to a model to view the previous versions. If you open a previous version of a project, make changes and save online, this version is now the newest version that will be opened by simply clicking the project name.


4.4 Sharing a model, viewers vs editors

On the right hand side of each project, in the "My Projects" tab, you have the option to edit the properties of the network. By clicking on this option you will be able to change the project name and assign Viewers and Editors. As the name suggests Viewers can only view the network but they cannot save any changes to the shared project, they can however, save the network as a copy, thereby creating their own private copy of the project (not shared). Editors can make and save changes to the shared network.


4.5 Publishing a model

If you log in to esyN, you can easily make any of your projects publicly available. It can then be be viewed (but not modified) by everybody. You cannot edit the published project, but you can continue to work on your copy. You will be able to delete the published project at any time in the "My Published Networks" tab of My esyN

Requirements for published projects

When a project is published, the user is asked to provide some additional information that will make their project more useful to others. All of this information will be made public along with the project. Your email address will remain private.

  1. Username (required). The name you would like to use for your public projects. This could be your own name, or you could publish on behalf of a group and use a name representing the whole group. This is the only piece of extra information that is required.
  2. Description (optional). This is a brief explanation of the contents of the project and any relevant information, such as what you aimed to include or the method used to determine parameters.
  3. Tags (optional). Up to 5 keyword tags may be assigned to a public project to quickly describe their content and group similar projects together.
All of this information is searchable, so we encourage users to provide the optional information to maximise the use of their published projects.


Appendix 1. Petri Nets

Petri Nets are a very simple modelling tool which allows the construction and the simulation of very complex networks. The strength of this approach is that we can write down our network both visually and in a matrix formalism. Petri nets are a modelling tool for networks. They consist of a graph composed of Places (i.e. objects, in our case - molecules, genes etc) represented by circles, and Transitions (i.e. actions, in our case - reactions. e.g. Transcription, Protein Folding etc) represented by squares. Directed arcs connect Places with Transitions and viceversa (i.e. they form a bipartite graph). Places contain a certain number of tokens (i.e. the objects that the place represents). These tokens will then be used by the transition and will populate another place. In the example below, one copy of protein "A" is being phosphorylated by kinase "K" through the transition "PH" and becomes "Aph":


Appendix 2. Matrix Form

One of the strengths of Petri Nets is that they can be represented as matrices. In particular we can define:
as the marking matrix - that is the number of tokens in each of the "i" positions "P" at any time "j" where "j = 1" is the initial marking. The Pre-Transition matrix are defined as:
where we store the value "A" of the arcs. The columns of this matrix represent places and the rows transitions. and the post-Transition Matrix....
In the example of the phosphorylation of protein "A" before the matrices are:

Frequently asked questions

Making a Network

  What is a Node?
  What is a Place?
  What is a Coarse Place? (Parent - Child relationship)
  What is a Disperse Place?
  What is a Transition?
  What is a Coarse Transition?
  What is the Difference Between Places and Nodes?
  Why can't I make an edge between two places?
  What is an inhibitor edge?
  Can I automatically generate a Graph from a list ?
  How do I simulate the network?
  Can I retrieve interactions automatically?
  What is the difference between a graph and a Petri net?
  How do I edit the network preferences?
  What are the rules for making Petri nets?
  What does the marking of a place mean?
  What does the multiplicity of an edge mean?
  What are tokens?
  What are the rules for making Graphs?
  What does "Nest network inside" mean?
  Can I recover a deleted network?
  How do I select multiple nodes?
  What is the "Search Ensembl" button?
  Can I add references to a network?
  What is the size limit for an esyN project?
  How do I check which drugs interact with the proteins in my network ?
  How can I highlight a subset of nodes?



Collaborating

  How do I share my networks with my collaborators?
  What is the difference between a "Viewer" and an "Editor"?
  Can a "Viewer" of my project make changes to it?
  Someone has shared a network with me, where do I find it ?
  Is it possible for two users to work on the same network at the same time?



Publishing a Network and Working With Public Networks

  What does publishing a network mean?
  How do I publish a network?
  How do I delete a published network?
  What happens if I edit a project I published?
  There is a public project I'd like to work on but I can't edit it. How can I work on it?
  I'm trying to import a public project but it doesn't work
  Where do I find the source code of esyN?
  I would like to modify an existing network in the database, how do I do it?
  What does "open source" mean?
  I forgot my esyN password

Analyses

  What analyses can I perform on a network?
  What is the Degree of a Node ?
  What is the Closeness centrality ?
  What is the Betweenness centrality ?
  What is the Eccentricity of a Node ?
  What is the Radiality of a Node ?
  What is the Stress of a Node ?
  What is the Centroid Value of a Node ?
  What is the Collective Influence of a Node ?
  What does it mean to disrupt a network ?



What is a Node?

Both Graphs and Petri nets are graphs of nodes connected by edges. Essentially, nodes can represent anything you like, but their meaning is slightly different in Petri nets and Graphs

Nodes in a Graph

In a Graph, nodes represent the elements that you want to show relationships between. Most of the time, we use nodes to represent genes, proteins or metabolites. Edges placed between nodes represent their interactions. For example we could construct a network in which nodes represent different proteins, with edges representing the known physical interactions between them.

Nodes in a Petri net

In Petri nets, there are two basic types of node: Places and Transitions. Places are drawn as circles and represent an entity that you could somehow describe the amount of. This can be a literal amount i.e. number, or a more abstract representation (see What does the marking of a place mean?). For example in a biochemical network, places could be used to represent proteins. Transitions represent actions that happen to whatever is represented by the places. Using our example of places representing proteins, we might create a transition that represents protein folding, or phosphorylation. In the case of phosphorylation, the input places to the transition would be: The protein, its kinase, a phosphate group. The output places would be: The phosphorylated form of the protein, the kinase (it is not consumed).

Node Colour Scheme

The colour of a node is a visual indicator of some of it's properties. Normal nodes are white with a black outline. Disperse nodes have a blue outline. Nodes that contain a network have a green outline. Nodes that are parent nodes of other nodes are orange.

What is a Place?

Places are one of the two types of nodes that exist in a Petri net. Places are drawn as circles and represent an entity that you could somehow describe the amount of. This can be a literal amount i.e. number, or a more abstract representation (see What does the marking of a place mean?). For example in a biochemical network, places could be used to represent proteins.

What is a Coarse Place? (Parent - Child Relationship)

Coarse places can only be created in Petri nets. A coarse (or parent) place is different from a normal place in that it contains other places (its children) rather than tokens. It is a placeholder representing the idea that the edges connected to it actually apply to a number of other places (the places it contains). Coarse places can be considered as "classes" of place nodes, which represent a general category of place rather than a specific entity (and therefore they don't require tokens). For example, the coarse place "cities" may contain "Paris" and "London", or the coarse place "Kinase" would contain "Protein kinase A", "Protein kinase B". Any edges that apply the the coarse place will be inherited by the places it contains. Coarse places are represented by orange nodes.

Network merge

When the network is merged to generate the matrix representation used in a simulation, it is important to remember that coarse places will not appear any more. When the network is merged, coarse places are replaced by the places they contain. Coarse places are an abstract representation that allows us to conceptually group places together, but they are not quantifiable themselves.

Advanced use

Coarse places can also be disperse i.e. be referred to in multiple networks.

What is a Disperse Place or Disperse Node?

Disperse nodes (or disperse places in a Petri net) allow you to refer to one entity in multiple networks. In Petri nets, only Places can be disperse. In Graphs, any node can be disperse. When you Merge a project to produce the final Graph or Petri net, there will only be one node for each disperse. That node will have all the edges that exist for any appearance of the disperse node in the project. Disperse places and disperse nodes will have a blue outline.

What is a Transition?

Transitions can only be created in Petri nets. Transitions represent actions that happen to whatever is represented by the places. Using our example of places representing proteins, we might create a transition that represents protein folding, or phosphorylation. In the case of phosphorylation, the input places to the transition would be: The protein, its kinase, a phosphate group. The output places would be: The phosphorylated form of the protein, the kinase (it is not consumed).

What is a Coarse Transition?

Coarse transitions can only be created in Petri nets. A coarse transition is a transition that contains another network. In other words it's the way to create nested networks. Similarly to coarse places, it's important to remember that coarse transitions themselves do not form part of the final (mathematical) model. Rather, they are a way to organise networks into a hierarchical structure and make them easier to understand. This means that their edges are also only conceptual. Therefore, if we create a coarse transition to represent protein degradation, which has an input edge from a place Protein A, in order for Protein A to interact with the network contained in the Protein Degradation transition, it must be present in that network as well. Coarse transitions will have a green outline

What is the difference between Places and Nodes?

Places are a type of Node that can only be created in a Petri net.

Why can't I make an edge between two places?

Places cannot be directly connected. In a Petri net, edges can only connect places with transitions, i.e. actions that happen to them. Edges represent the movement of tokens, and tokens cannot be moved without going through a transition. Similarly, an edge cannot directly connect two transitions because tokens can only be moved from a place to a transition, or from a transition to a place.

what is an inhibitor edge?

An inhibitor edge can only be created in a Petri net. It connects a place to a transition and represents the idea that if there is more than a certain (defined) number of tokens in that place, the connected transition will not be able to occur. To define the threshold for inhibition, change the multiplicity of the inhibitor edge. Inhibitor edges are drawn with a circle instead of a triangular arrowhead.

Can I automatically generate a Graph from a list ?

Yes, click on the "List" button on the left panel and a pop up window will appear. You will be give the option to input a comma separated list of genes manually or upload a list as a .txt file where the gene names are listed in a column.

How do I simulate the network?

A Petri nets are a visual representation of a mathematical model, which can be simulated using code we provide. Open your model in the Petri nets tool and click "Merge". This will automatically generate and download a representation of your model using matrix notation. This file can be used as input to an R script we provide, available at: http://github.com/esyN/esyN-simulation. This script does not require any modification to use it for simulation beyond selecting the input file.

Can I retrieve interactions automatically?

Yes. Both the Petri nets and Graphs tool can be used to retrieve known interactions for any node. Simply name the node with the name of a gene or protein and esyN will retrieve the list of interactions for the organism you select. Currently interactions for Human, Fly and Yeast can be retrieved, from MetabolicMine, YeastMine or FlyMine respectively. To use this function, first select the node you wish to retrieve interactions for. The node name will be used to search for interactions so make sure the name is correct. Then in the "Interactions" tab, select the organism and optionally the interaction type (genetic or physical). Then simply click "Get interactions" and a list of known interactions will be generated. These can be added to your network either individually or in bulk (by clicking "Add all"). If you are working on a Graph, adding an interactor will add both the node and an edge from your selected node. If you are working on a Petri net, a place will be created for each interactor.

Advanced details

Advanced users may wish to note that adding interactors automatically will create an appearance of a disperse node (in a Graph) or disperse place (in a Petri net) if you have already created a node with the same name in another network in the current project. If there is already a node with the same name in the current network, then no new nodes will be created, instead an edge will be added from the selected node to the existing interactor node.

What is the difference between a graph and a Petri net?

Its a useful way to represent any network. The Petri net is a network that can be simulated. In a Petri net the nodes can be places or transitions. The places represent "things" and the transitions, "actions". Places connect only to transitions and vice versa. See the help pages for a more comprehensive explanations on Petri net properties.

How do I edit the network preferences?

You go to the "My esyN" tab. There you will find the list of your saved projects. On the right hand side there is a button "Edit Properties" which will allow you to change the project name and edit the list of Viewers and Editors.

What are the rules for making Petri nets?

Petri nets are based on Petri Nets, which is a mathematical formalism to represent processes and simulate them. To allow the Petri nets tool to automatically generate a mathematical model of your network, and so that the Petri nets you create are valid, certain rules must be followed, some of which are automatically enforced. Here we will briefly discuss the rules for creating Petri nets, please see the full tutorial for more detail.
  1. Edges can only connect places to transitions or transitions to places
  2. Coarse places can only contain places that are not higher in the hierarchy of coarse places than it is itself
  3. Coarse transitions cannot contain a network that is higher in the hierarchy of nested networks than the network it is in itself

What does the marking of a place mean?

Places represent entities that can be quantified. In a Petri net, the amount of everything is represented in terms of a number of tokens in each place. The number of tokens in a place at a given point in time is it's marking.

What does the multiplicity of an edge mean?

Edges are directed and connect places to transitions and transitions to places. Edges represent the movement of tokens between places via transitions. The multiplicity of an edge is the number of tokens that are moved if the associated transition occurs ("fires"). The number of tokens moved between places by a transition does not have to be conserved between input and output places.

What are tokens?

Tokens are used in Petri nets to represent the amount of the entity represented by each place. Tokens are simply a number with no units. When a Petri net is simulated, tokens are moved between places by transitions and the number of tokens moved is determined by the multiplicity of each edge. Tokens do not have to be conserved and can be used to represent any quantity.

What are the rules for making Graphs?

There are very few things you cannot do when creating a Graph as they are visual representations of knowledge rather than executable models. However it is still possible to create an impossible hierarchy of networks if care is not taken.
  1. A node that contains a network must not contain a network higher that itself in the hierarchy of nested networks

What does "Nest network inside" mean?

In Graphs, nodes can contain an entire network. In Petri nets, transitions can contain an entire network. These "Nested networks" can be created with the click of a button in either tool and are useful to organise large networks into a hierarchical structure, making each part easier to understand. When you create a nested network, the node containing it effectively becomes a placeholder, if you use the Merge tool (which will convert all networks in your project into one big network), nodes that contain nested networks will no longer exist. This makes sense because typically they are used to represent more abstract concepts than the actual things represented by normal nodes or places, for example a node might contain the whole network of genes related to protein degradation. The node containing the network is not itself a real biological entity, it just helps us organise a large network into different subsections.

Can I recover a deleted network?

No ! Unfortunately its not possible. If you are afraid of deleting or losing a network by chance the best practice would be to save your own networks also offline.

How do I select multiple nodes ?

It is possible to select multiple nodes by holding Shift and cliccing on each individual node.

What is the "Search Ensembl" button?

It is possible to search the node name in Ensembl

Can I add references to a network?

Yes! By clicking on edjes (in graphs) or on transitions (in Petri nets) you can add one or more PMIDs. The button "Go to selected" will open a new tab with the slected PubMed abstract. For Graphs, supporting references are automatically included for edges imported from InterMine databases.

What is the size limit for an esyN project?

If users separate large networks into smaller subnetworks, the esyN web tool can handle very large projects. However there is a size limit for projects when it comes to saving projects online. Currently, the esyN database has a 5MB limit for a single project. Typically, this will correspond to around 6000 nodes and 6000 edges. For larger projects, the data can either be saved offline and reuploaded to the tool, or exported for use with a local tool such as Cytoscape. For a single network in a project, we do not recommend exceeding 1500 nodes and 1500 edges.

How do I check which drugs interact with the proteins in my network ?

If I have a H. sapiens interaction network, I can go in the Interactions tab in the Advances Tools section at the bottom of the graphs page and select the:
"H. sapiens Gene <- Drug (DrugBank)" from the Organism dropdown menu and then clik the "Fill missing edges" button. This will look for all drugs which interact with any of the proteins products of the genes in the network

How can I highlight a subset of nodes?

You can highlight nodes either individually or by uploading a list of node names. To highlight an individual node, click that node and then click the "toggle highlight" button in the node editor on right of the network window. To add or remove highlighting from multiple nodes at once, select the "batch" tab under Advanced Tools. In the "All nodes" section you can remove highlighting from all nodes in the network. In the "Node list" section, you can select either add highlight or remove highlight, then choose the file to upload and click "process". The file must be a plain text file with one node name per line. Names in the file must exactly match the names in the network. Highlighting is preserved when the network is saved either online or offline.

How do I share my networks with my collaborators?

Firstly you need to log in and save your network online. You can then edit the network properties by clicking the "Edit Properties" button on the right hand side of the network you want to share. Within the network properties menu you can add collaborators as "Viewers" or "Editors". "Viewers" can see your work but cannot edit it. They will still be able to save a copy of the project to edit themselves. "Editors" will be able to view and edit your project, but not delete it or change the list of viewers and editors. If you make a collaborator into an editor of a project, it is important to avoid working on the project at the same time, otherwise you will overwrite each others edits.

What is the difference between a "Viewer" and an "Editor"?

When you share your project with somebody, you have to assign them to one of two categories: "Viewers" and "Editors". The major difference is that "Viewers" are able to open the project but they cannot make any changes, whereas "Editors" are able to save changes to the project. If you make a collaborator into an editor of a project, it is important to avoid working on the project at the same time, otherwise you will overwrite each others edits.

Can a "Viewer" of my project make changes to it?

"Viewers" of your project are just that - viewers. They will not be able to save any changes to your project. They will always have the option to save their own copy, which they can then work on and you will not be able to see or edit unless they share their copy with you.

Someone has shared a network with me, where do I find it ?

In "My esyN" there is a tab called "Projects Shared with Me"

Is it possible for two users to work on the same network at the same time?

No ! This situation should be avoided! In this situation the two users will keep on over-writing each other's changes.

What does publishing a network mean?

Published networks are visible to anybody, even people who do not have an esyN account, i.e. they are public. When you publish a network we make a copy of your project that anybody can view but nobody can edit. That means that you can keep working on the same project and your work is only visible to you (and anybody you share your private project with) without modifying the public version. Once you have published a project, it will show up in the "My Published Projects" tab in the "My esyN page". You cannot edit a public project, but you can delete it at any time. Although nobody can edit the public project, anybody can make their own copy and work on it themselves. Currently, we do not keep track of who uses what public projects or restrict their use in any way.

How do I publish a network?

You must be logged in to esyN and have the network you want to publish saved online. Then in My Esyn simply click "Publish" at the right hand side of the project name. Publishing creates a public copy of your project, so you can continue to edit your copy without modifying the public version. You can delete a published project at any time. Requirements for published projects

When a project is published, the user is asked to provide some additional information that will make their project more useful to others. All of this information will be made public along with the project. Your email address will remain private.

  1. Username (required). The name you would like to use for your public projects. This could be your own name, or you could publish on behalf of a group and use a name representing the whole group. This is the only piece of extra information that is required.
  2. Description (optional). This is a brief explanation of the contents of the project and any relevant information, such as what you aimed to include or the method used to determine parameters.
  3. Tags (optional). Up to 5 keyword tags may be assigned to a public project to quickly describe their content and group similar projects together.
All of this information is searchable, so we encourage users to provide the optional information to maximise the use of their published projects.

How do I delete a published network?

You need to go to "My esyN" page and then visit the "My Published Networks" tab. For each of your published networks you will have the option to delete them, just click the "delete" button in the corresponding table row. A deleted project cannot be recovered.

What happens if I edit a project I published?

When you publish a network we make a copy of your project that anybody can view but nobody can edit. That means that you can keep working on the same project and your work is only visible to you (and anybody you share your private project with) without modifying the public version. The public version cannot be edited by anybody, even the creator. The creator will always have the option to delete it.

There is a published project I'd like to work on but I can't edit it. How can I work on it?

Public projects are designed so that nobody can modify them after they have been made public, even the creator. This means they can serve as a reference e.g. for a publication. Public projects can also act as reusable modules for future work. There are two options for working with the data in public projects.
  1. If you find a project relevant to you, you are free to make your own copy, and work on that. If you have an esyN account, just click the "Save" tab beside the model viewer and select "Save a copy". This will create a copy of the project accessible from your "My esyN" page. You can open and edit this model, and you are free to save your changes online or offline. Your changes will only affect your copy of the project and will only be visible to you (and anybody you share it with). If you don't have an esyN account, you can also select "Save offline" to download the model. Then open the appropriate tool page (Graphs or Petri nets) and select "Upload" to upload the model to the tool and edit it. To save your changes without an account, you will have to select "Save offline" to download your project, then upload it again later to keep working on it.
  2. Import a public project into one of your projects. From the relevant tool page (Petri nets or graphs), select "merge" from the menu on the left, then "merge with a public project". This will show you a list of all public projects of the same type, and you can import them directly into your project.

I'm trying to import a public project but it doesn't work

The imported project must be compatible with your project, meaning that they do not contain any conflicting information.
For Petri nets:
  • There cannot be transitions with the same name in the two projects
  • The marking for any places common to both projects must be the same
  • The parent-child relationships for any places common to both projects must be the same
  • There cannot be networks with the same name in the two projects
For Graphs:
  • There cannot be networks with the same name in the two projects

Where do I find the source code of esyN?

You can find the esyN source code in: github.com/esyN/code

I would like to modify an existing network in the database, how do I do it?

It is not possible to modify published networks. You can, however, visit the network you wish to change, make the changes and save it online as a copy (possible only if you are logged in). You can then go to the "My esyN" page, click on "Edit Properties" button in order to change the name, and then click on the "Publish" button.

What does "open source" mean?

Saying that the networks in esyN are "open source", we mean that they are not only free to be copied, modified and (when possible) re-published - but also that we actively encourage any collaborative effort to build and improve these biological networks. We believe that, similarly to what happened with wikipedia, this publishing mode will allow the community to create and constantly update these biological pathways.

I forgot my esyN password

If you have forgotten your password, email info@esyn.org and you will be sent a link to reset your password.

What analyses can I perform on a network?

For a given network, now its possible to calculate the Degree, the Closeness, the Betweenness, the Eccentricity, the Radiality, the Stress, the Centroid Value, and the Collective Influence centralities. In addition its possible to calculate the path between any two nodes.

What is the Degree of a Node ?

The degree of each node in the network is equal to the number of edges connected to that node. In the case of directed networks a node can have an In-degree, give by the number of edges pointing towards the node and an Out-degree, given by the number of edges pointing away from the node.

What is the Closeness centrality ?

The Closeness centrality counts how far is each node from all the orthers. The distance between any two nodes is set to be 1. The value of the closeness for one selected node v is the reciprocal of the sum of all shortest distances connecting this node with all other nodes in the network. A node with a high value compared to the average closeness has the shorter distances to other network components then most of the other nodes and is therefore considered to be closer to the other network components.

What is the Betweenness centrality ?

The betweenness of a node v is obtained by counting the number of all shortest paths, connecting any pair of nodes within the network, which are going through that particular node v. The value is divided by the number of all shortest paths connecting two nodes. A node with a high betweenness compared to the average has an increased number of shortest paths going through, and therefore even if it does not have a high degree or a high closeness its a key node in the network.

What is the Eccentricity of a Node ?

The eccentricity of each individual node is the reciprocal of the longest shortest path connecting the node with all other components of the network. A node with a high value for eccentricity compared to the average has shorter distances to the other nodes and is therefore considered to be central in the graph.

What is the Radiality of a Node ?

The radiality of a node is the sum of the maximum shortest distance overall the network (i.e. the diameter) plus one minus the distance to all other nodes. This value is divided by the number of nodes minus one. A high radiality compared to the average is pointing out a close distance to a high number of other network components.

What is the Stress of a Node ?

The stress of a node v is obtained by counting the number of all shortest path connecting any node couple in the networks, which are going through that particular node v. A node with a high value of stress compared to the average value has an increased number of paths passing through, which makes this node more important for the connectivity of the network.

What is the Centroid Value of a Node ?

The centroid value of a node v is obtained by checking, for each node pair v, w which other nodes are closer to v rather than to w. The centroid value of v is therefore, the minimum such value for all node pairs involving v.

What is the Collective Influence of a Node ?

The Collective Influence is the product of a node reduced degree (number of links minus one) times the sum of the reduced degree of the nodes that are a certain number of steps away (the radius). See: Morone, F. & Makse, H. A. Nature 524, 65-68 (2015).

What does it mean to disrupt a network ?

Given a network between various entities (genes and proteins in the case of www.esyn.org) which nodes should I delete to disrupt the network as quickly as possible?
There are many excellent recent studies on this subject in particular [1,2] where they investigate which algorithm is best to achieve such a goal. In [1] the authors conclude that using betweenness with a sequential target attack is best, that is, given a network, calculate the most central node using the betweenness centrality, remove that node and re-calculate the betweenness and restart the cycle. In [2] the authors introduce a new algorithm, the collective influence, which supposedly does better although there is no direct comparison with the results in [1].
In esyN (www.esyn.org) we have implemented both ways allowing the users to apply a number of different algorithms to calculate the most central nodes and then remove these genes from the next calculation and see how the network properties change without that central gene.
References
1. http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0059613
2. http://www.nature.com/nature/journal/v524/n7563/full/nature14604.html



How to embed an esyN network


It is very easy to embed an esyN network in your html page, here are some step by step instructions:

Go to the Explore page and choose a network you want to embed select the network and then click on the "Generate embed link" button below the graph area. This will generate the code that you will need to copy and paste in your HTML page where you want the network to appear. This code will look like:


< iframe class="seamless" scrolling="no" frameborder="0" id="iframe" src="http://www.esyn.org/app.php?embedded=true&publishedid=249&type=Graph" width="500" height="500"> < /iframe >


and it should appear like:


The last part of the link from "&publishedid" which in the examble above is in bold can be changed to display another network and can be copied from the URL of another published esyN network.
N. B. the option embedded=true should always be present when embedding a network.


If you only want to display the interaction network relative to one or more genes you can use the following code:

< iframe class="seamless" scrolling="no" frameborder="0" id="iframe" src="http://www.esyn.org/app.php?embedded=true&type=Graph&query=SOD1&organism=9606&interactionType=physical&includeInteractors=true&source=biogrid" width="500" height="500"> < /iframe >

Here the options available are:

Parameter Type Default Valid Values Description
interactionType string any any, physical, genetic retrieves either physical or genetic interactions or both
type string Graph Graph, PetriNet Displays either a Graph or a Petri Net
source string NONE biogrid, pombase, intermine Repository where the interactions are retrieved from.
organism int NONE 9606, 7227, 559292, 4896, 10090, 10116, 6239, 7955, 511145 Selects the organism: H. sapiens (9606), D. melanogaster (7227), S. cerevisiae (559292), S. pombe (4896), M. musculus (10090), R. norvegicus (10116), C. elegans (6239), D. rerio (7955), and E. coli (511145)
query string NONE one or multiple gene IDs separated by "|" e.g. "SOD1" or "SOD1|CCS|STUB1" Identifies which gene to search for in the database.
For FlyMine (i.e. organism=7227 and source=intermine), you must only use one type of identifier in the list and you may need to also specify identifierType (see below)
term string NONE GO:0007346, GO:0006310, GO:0006281, etc With this option is possible to display the network between genes in a specific GO term. At the moment this option is available only for pombase
includeInteractors boolean true true, false This option should be used when displaying a list of genes, if "true" will display all the interactors of the genes in the list, if "false" will display only the inetractions between the genes in the list
colourSource boolean true true, false With this option is possible to colour the genes used in the query option
This option is available only for flybase
colourCommInteract boolean false true, false With this option is possible to colour the interactors of the genes used in the query option.
This option is available only for flybase
interInter boolean false true, false With this option is possible visualise the interactions between the interactors of the genes used in the query option.
This option is available only for flybase
layout string ForceDirected ForceDirected,circle,concentric Choose the layout: Force Directed is default, circle or concentric. The concentric layout puts the query nodes in the centre and the interactors of the query genes in a circle surrounding them and all others in the outer circle.
This option is available only for flybase
identifierType string id id, symbol, any Specify the type of identifier used. Currently only applies to searches in flybase, flymine and pombase.
The option "any" is not compatible with flymine.
embedded boolean false true, false This option should be true if you want to embed a network


Which will appear like the graph on the left for a single gene (SOD1) including his interactors and like the graph on the right for a list of genes (SOD1|CCS|STUB1) without displaying their interactors (i.e. only the interactions between the genes in the list are shown):