Wiki

Clone wiki

CyToStruct / Motivation and Overview

Installation| App template | YAML syntax | Variable substitution | Batch mode | Data files | Demos


Many users of Cytoscape often need to launch an external program to observe something related to the selected edge or node in the network.

For instance:

  • In a Cytoscape network where the nodes are proteins one would like to view the appropriate PDB files in a molecular viewer.
    If the edges represent sequential or structural similarity it is desirable to be able to show multiple structures and align them.

  • In a Cytoscape network representing nodes in a LAN/WAN network it is handy to be able to run traceroute or ping commands by a single click on a node.

  • In a Cytoscape network representing a dependency graph of a software project we could ask for a diff between two files or for a version control log of a file.

Currently (in 3.x versions) Cytoscape supports only opening a URL in an external web browser and embedding the node/edge labels in them.

We wanted much more than that.

CyToStruct App

We allow the user to easily define multiple handlers for nodes and edges in their network.
The label of the selected element is used to produce a node/edge-specific command line for any external application and execute it.
If the external application supports batch mode execution of multiple commands it is possible to provide the app with the templates to create those scripts at runtime.
The user is able to augment the metadata of the network with a simple tabular file and to embed data elements from this file in the command line or the batch script.

context

Components

  • Application definition file

The user needs to define (or use our samples) node/edge application hooks for our app to orchestrate.
This is done in a human-readable markup format called YAML. Consult the appropriate sections of the wiki for help.
Multiple hooks can be defined for nodes and/or edges in Cytoscape.
The definitions are saved within the session file and only need to be introduced when starting a new session.
During initialization of CyToStruct app, it adds new entries to the context menu of nodes and edges.

cfg

  • Data matrix file (optional)

Sometimes we want to augment the network metadata with additional information that is only useful when executing the external application.
In the application definition the user can refer to a data-matrix file -- a simple text-based table.
The data is being loaded automatically by CyToStruct and is available during runtime
when a command line or a batch script are built for the application.

Updated