dict.md logo
Advertisement:
Advertisement:

PseudoViewer: web application and web service for visualizing RNA pseudoknots and secondary structures

Visualizing RNA secondary structures and pseudoknot structures is essential to bioinformatics systems that deal with RNA structures. However, many bioinformatics systems use heterogeneous data structures and incompatible software components, so integration of software components (including a visualization component) into a system can be hindered by incompatibilities between the components of the system. This paper presents an XML web service and web application program for visualizing RNA secondary structures with pseudoknots. Experimental results show that the PseudoViewer web service and web application are useful for resolving many problems with incompatible software components as well as for visualizing large-scale RNA secondary structures with pseudoknots of any type. The web service and web application are available at http://pseudoviewer.inha.ac.kr/.

A large-scale bioinformatics system often consists of several application programs dealing with a large volume of data. For example, a data analysis program generates new data that may be modeled and integrated by other programs. However, the programs may not be interoperable due to the differences in data formats or running platforms. As a result, developing a bioinformatics system with a few application programs requires extra work to make the components compatible. In fact the difficulty in bioinformatics study comes more from the heterogeneity of the programs and data than from the quantity of the data.

Web service resolves some of these problems by exchanging messages between different applications developed by various programming languages. The basic process of web service is exchanging Simple Object Access Protocol (SOAP) messages described by XML (eXtensible Markup Language). When the server of web services receives the SOAP request with the parameters for calling the method of web service, the server returns the SOAP message in response to the method. An application program can use web services developed in different languages, whose results in turn can be a request message for another web service.

Recently various bioinformatics systems supporting web services have been developed (1). European Bioinformatics Institute provides several web services such as Dbfetch for biological database, ClustalW for multiple alignments of DNA and protein sequences, Fasta for nucleotide comparison (2). Databases of KEGG (3) and DDBJ (4) give web service access. A tool named Taverna was developed for the bioinformatics workflows with several relevant biological web services (5).

An RNA pseudoknot is a tertiary structure element formed when bases of a single-stranded loop pair with the bases outside the loop. Several computer programs are available for drawing RNA secondary structures (69), but none of these can draw RNA pseudoknots or show the topological relation of the RNA stems. We developed previously PseudoViewer1 (10) and PseudoViewer2 (11) to automatically visualize RNA pseudoknot structures as planar graphs. Since the first release of PseudoViewer, it has been widely used for drawing RNA secondary structures with pseudoknots. However, it produces an unnecessary number of support lines in order to draw pseudoknots of complex type as planar graphs, and ignores tertiary interactions other than pseudoknots in the input structure data. More importantly, the previous versions of PseudoViewer are written in Microsoft C# and are executable on Windows systems only. To remove these limitations and to handle data in various formats, we developed a web service and web application of PseudoViewer as well as a new visualization algorithm. Users can visualize large-scale RNA secondary structures with pseudoknots of any type from any web browser and any operating system.

PseudoViewer takes as input the structure data in the bracket view, in which a base pair is represented in a pair of matching parentheses (either round parentheses ‘()’ or square brackets ‘[]’). It also allows tertiary interactions other than pseudoknots instead of ignoring them. They are represented in a pair of matching braces (‘{}’) in the structure data, and are displayed in dotted lines in the final drawing [e.g. see the pseudoknot structure of the Escherichia coli alpha operon mRNA (12) in the example section of the PseudoViewer web page]. The bracket view describes pseudoknots and secondary structures in one of the following styles.

The output of the PseudoViewer web application is structure drawing and the topological relation of the stems. The structure drawing can be saved in a file either in ‘gif’, ‘png’, ‘eps’ or ‘svgformat. The topological relation of the stems, such as adjacency, crossing, and inclusion of the structure is very useful for analyzing and predicting RNA structures and classifying RNA pseudoknots.

The output of the PseudoViewer web service is of four kinds as requested by clients: (i) URL of structure drawing, (ii) raw data of the structure drawing, (iii) structure drawing in the eps format, and (iv) 2D positions of the bases in the structure drawing. In case the client requests the URL to be returned for the structure drawing, the server saves the structure image on the server and notifies the user of the URL address. The raw data output is for direct display or for saving in an image file. The 2D positions of the bases can be used for editing or for generating a new image by rendering the positions. Since the number of the structures included in the request message is not limited, many structure drawings can be obtained at one try.

Web application helps the user use the web service easily with any web browser (Figure 1). It interacts with the user via HTML pages and exchanges the XML based SOAP messages with the web service server by Active Server Page (ASP). An ASP document generates an XML document and this XML document is shown as an HTML page. The PseudoViewer server supports many features that enhance the utility and drawing quality of the software.

There are three ways to input data: (i) entering sequence and structure data separately, (ii) entering structure data in one of the PseudoViewer formats described earlier, and (iii) loading a file with structure data. The right part of Figure 2 shows an input form of the web application for entering the structure name and the start base. The numbering options are for marking base numbers in the structure drawing. The user can select the interval of base numbers or enter specific base numbers. Since PseudoViewer supports many kinds of bracket views, other structure data (such as tertiary interactions other than pseudoknots) in one of these bracket views can also be visualized by our system.

As output, the PseudoViewer web application produces not only structure drawing but also the topological relation of the stems. The topological relation of the stems is not the 3D orientation of stems but indicates the adjacency, crossing or inclusion of the stems (for an example of the topological relation of stems, see the upper pane of the structure drawing window in Figure 2). The topological relation identified from the structure data by PseudoViewer is very useful for analyzing and predicting RNA structures and classifying RNA pseudoknots. The structure drawing can be saved in a file either in the ‘gif’, ‘png’, ‘eps’ or ‘svg’ format.

Figure 2 shows a simple example of using the web application with the structure data from other web resources. The structure data in the pairing format provided by PseudoBase (13) as well as that in the PseudoViewer format provided by pknotsRG (14) can be directly visualized by PseudoViewer just by copy and paste operation in the PseudoViewer web application.

The PseudoViewer web service can be integrated into other systems to visualize RNA structures. Since the PseudoViewer web service runs by exchanging XML based SOAP messages, a system developed in any programming language can use the service. Sample clients written in C# and Java can be downloaded from the download page at http://pseudoviewer.inha.ac.kr. Visualizing the RNA structure with 4000 bases by the PseudoViewer web service took about 20 s on Pentium IV 2.4 GHz CPU, 516 MB RAM, Windows 2000 server system.

The request message includes the RNA sequence and the structure data either in the bracket view or pairing format. The drawing options used in the web application are optional; if drawing options are not specified in the request message, structure drawing is returned as default type. The output of four kinds can be produced: URL of structure drawing, raw data of the structure drawing, structure drawing in the eps format, and 2D positions of the bases in the structure drawing. In case the URL of structure drawing is requested by the user, the server saves the structure image on the server and notifies the user of the URL address. The raw data output is for direct display or saving in an image file. The 2D positions of the bases can be used for editing or for generating a new image by rendering the positions. Since the number of the structures included in the request message is not limited, many structure drawings can be obtained at one try. Figure 3 shows a simple example of request and response messages. The details of the messages are in the Web Service Description Language (WSDL) page at http://pseudoviewer.inha.ac.kr/WSPseudoViewer/WSPseudoViewer.asmx?WSDL.

The web service for clients in Java requires the libraries of Apache AXIS (http://ws.apache.org/axis/), JavaBeans Activation Framework (http://java.sun.com/products/javabeans/) and JavaMail (http://java.sun.com/products/javamail/). WSDLtoJava, supported by Apache AXIS, makes Java classes from WSDL. Even if developers do not know the exact structure of WSDL, they can make a client program with the classes. The PseudoViewer web service supports three methods of rpc/encoded type for Java clients: (1) ‘WSPVRUNRpc’ method for requesting the structure data and for returning the structure image, (2) ‘WSPVServerTestRpc’ method for returning ‘Server ok’ message when the server runs well, and (3) ‘WSPVServerRequestTestRpc’ method for checking the request structure. The ‘WSPVRUNRpc’ method is the main method, and the other two methods are for checking programming code status. Figure 4 shows a request message of a Java client.