PathwayEditor: an XML-based tool for pathway editing and visualization

What is PathwayEditor

Modifying and visualizing well-defined biological pathways are routine tasks during a biomedical data analysis. We describe a simple tool called PathwayEditor for facilitating rapid pathway editing. PathwayEditor has capabilities that support creating, editing, and visualizing biochemical pathways. A simple and intuitive XML schema is used to represent biological pathways. PathwayEditor efficiently renders XML files for editing and visualization by converting well-defined pathway markup files from the KEGG and WikiPathway databases. We also provide converted KEGG XML files for users to start editing. In addition, we have used an improved automatic layout algorithm to graphically represent a pathway based on XML files. Therefore, PathwayEditor enables users to visualize metabolic pathways with their transporting systems by integrating transport proteins from public databases. These functions make PathwayEditor a quick and easy tool for routine pathway editing. PathwayEditor is implemented in the Qt GUI development toolkit with a user-friendly interface. We present this easy-to-use graphic editing tool for converting KEGG KGML files and efficiently adding a small number of nodes to a well-defined biological pathway.

Download PathwayEditor

General annoucement
All the files are free to academic researchers world wide. Not for profit purposes.
For Windows Users
The packed files here; The pathway xml-files here; The example of design file is here.

KEGG pathway KGML converting script:
The perl file here.

Wiki Pathway XML converting script:
The perl file here.

When using this tool for publications, please cite:

Min Zhao, Guoshun Zhang, Yining Liu, Dacheng Qu, Hong Qu (2016). PathwayEditor: a simple xml-based tool for pathway editing and visualization.

Overview for input XML file

The XML files are a structured description of the pathway maps. We present an easy-to-understand XML schema by defining the minimum elements needed for a biological pathway. The pathway map is comprised of nodes and their relations. Therefore, we have defined only four types of basic XML elements, including node, rect, line, and relation. The "node" in the XML files represents any compound node or a virtual junctional node for proper layout. We define an abstract junction node to present a reaction; this abstract node is not a real node in the biological pathway, but is included to facilitate the layout process. The junction node connects the substrates and the products in a reaction. In the drawing process, the positions of additional elements are determined according to the position of a junction node. The "rect" element in XML is used for enzymes or transport proteins to transform or translocate a substrate to a product and is often drawn around the compound or the virtual junctional node. The "line" is used to depict the direction of the reaction. We have defined two basic line styles: "arrow" and "no arrow". Additionally, the "relation" label is used to characterize a relation, such as a metabolic reaction or a transporting system.

Detailed Instructions

The properties of all XML elements can be set according to "Type", "Bio Type", and "Group", defined as follows:
i) The "Type" is the parameter about the general shape of the element to be presented in the map. In total, the user can set 9 different types of shapes: 0, none; 1, point; 2, rectangle; 3, circle; 4, line; 5, polyline; 6, arrow line; 7, text; 8, relation.

ii) The "Bio Type" is used to describe the biological meaning of each element in the map. In total, we have defined 14 different biological types of elements: 0, none; 1, compound; 4, enzyme; 5, junction; 6, transporter junction; 7, transporter; 8, map; 9, info; 10, reaction relation; 11, transport relation; 12, common link line; 13, link to transporter.

iii) The "Group" label is used to combine multiple elements, which users can drag and move as a single element. This label is useful for defining the functional modules inside a pathway map and saves editing effort. For example, all elements of a reaction have the same group number, which is equal to the s junctional node number. These elements are moved together if necessary.

iv) Position coordinates includes:

  • x: horizontal axis coordinates.
  • y: vertical axis coordinates.
  • w: width of the elements.
  • h: height of the elements.

Graphic interface

The Qt GUI application development framework was used to implement PathwayEditor in this study, allowing users to load and graphically render XML files for editing and visualization. We used the XML format to store all pathway information. PathwayEditor efficiently reads, saves, and manipulates XML-based formats based on the Qt XML module. As shown in the Figure below, the user interface for PathwayEditor consists of the menu, toolbar, and drawing areas. All menu functions are also presented in the toolbar. Users import, save, and close an XML file for editing using the toolbar buttons. The imported XML is automatically visualized in the drawing area. The pathway is in editing mode after the file is imported; here, users can modify the text and adjust the layout easily by dragging any element. All changed text and XML element positions can be previewed and saved. When users add or adjust an element, the "Text auto adjust" function can be used to avoid any text overlap from different elements. The resulting map can be exported in PNG format.

Menu of Pathway Editor

  • Open an xml file of interested pathway map.
  • Save the edited xml file.
  • Close xml file. Exit editing of current pathway map.
  • Start editing of the pathway map. In editing mode, circles and rectangles are moveable. To add or remove a node, users can selecting a line and right clicking. Users can also drag a prismatic node and edit the associated edges.

    Enhanced features: By pressing and holding "Alt" key, users can move the compound text, pathway title and single rectangle.
  • Preview of the pathway image. In this mode, the input and output arrows (edges) of a rectangle are displayed seperately. Thus, users can check their relations.
  • View Detail and check. Users can check more details and avoid overlapping positions.
  • Automaticlly adjust the positions of the text and rectangles.
  • Save the image. Default save location is same with the input xml file.