A Tcl based SRS vs.4 Interface

A Tcl based SRS vs.4 Interface

An EMBnet funded project at the CMBI , EU grant BIO2-CT944002.

G. Schaftenaar,
Faculty of Science,
Nijmegen University,
6525 ED Nijmegen



A new SRS (Sequence Retrieval System) User Interface has been developed for SRS vs. 4. Key features are the support of simple character oriented (ASCII, VT100) terminals, support of X Windows graphics terminals and support of an X Windows client/server environment. The interface is coded in Tcl, using some dedicated Curses calls and Tk and TDP extensions.


The internal SRS query language, is user accessible through either a command line user interface, "getz", or through a more user friendly character oriented window interface. SRS versions up to vs.3, supported this window interface compatible with the VT100 terminals. SRS vs.4.x only supported a World Wide Web interface, depriving users with only a simple terminal/terminal emulator connection from access to SRS or forcing them to use the ASCII WWW client LYNX.

An EMBnet user poll, conducted in March 1995 showed an overwhelming interest in the availability of a character oriented SRS vs.4 window interface, preferably with the look-and-feel of its SRS vs.3.1 predecessor. This "market demand" has generated EMBnet funding for the development of such an interface. In addition, some "extensions" were coded to widen the applicability to graphics terminals and to a client/server environment. Development was initiated by Jack Leunissen and supervised and executed by Gijs Schaftenaar with the assistance from Koen Cuelenaere in close collaboration with Thure Etzold.


The interface should meet the following specifications:

These requirements were met by coding the interface in Tcl, ( Ousterhout, 1994). The character oriented (ASCII) version employs some C-Curses calls and a dedicated C-Curses widget library for screen management. For the graphics the Tk (X11 Toolkit) extension to Tcl was used. For the client/server version the TDP was used. Tk adds commands for graphical attributes like windows, buttons and scrollbars. The TDP extension (Smith et.al. 1994) adds commands which enable communication between different computers in a network, using RPC's. The necessary Curses extensions to Tcl, Table I, were taken from the literature (Kamp, 1994). The interface code has been tested on a variety of platforms.

Three interface versions are available:

srscurs which has the look-and-feel of the previous SRS vs. 3. Fig. 1 shows an exemplary query mask. Appendix I summarizes the C-Curses window interface elements.

srstk which uses the Tk extension to Tcl for screen management instead of C-Curses calls. This is the Xwindows graphics version of the interface. This version uses the extra functionality as supplied by the possibilities of a graphics screen. (Fig. 2)

srsctk which is based on the CTk C-Curses version of Tk. CTk was released on Internet in May 1995 (Andrews, 1995). Due to the incompleteness of CTk this interface lacks some of the functionality of our basic ASCII version. Fig. 3 shows the screen.

Both srscurs/srsctk and srstk can be executed in different run-modes. These modes differ mainly in the way in which the SRS query engine is addressed. Details of these run modes are discussed in the paper submitted for publication in the Application Notes section of CABIOS.


How to get the software

The software has been incorporated into the SRS distribution at the EMBL, ftp site . You will need release 4_07 or higher.

Last update: 6-Nov-95