next last contents

Introduction

Nip is a program for analysing nucleotide sequences. In its present form it contains a variety of the analytical functions that would be expected from a DNA analysis program, but by no means all. This is an early release and the functions implemented have been chosen to cover a reasonable range of the algorithms needed and to enable us to establish the main components of the user interface. Now that this has largely been finished we expect to rapidly increase the range of options available in the program, and we hope users will contact us with suggestions as to what their own priorities for new functions are. For us the main tasks are 1: to provide an interface to the sequence libraries that is independent of the EMBL CDROM indexing systems that we have used for the last several years; 2: to provide a feature table creator, editor, parser and display routine; 3: to define methods to import the results of other analytical programs and to use them inside nip. Of particular interest are BLAST and FASTA results and those from programs that search for unknown genes in genomic DNA.

Importing results from other programs is one way of enabling nip to grow but there is another perhaps more important route which is open, and which results from the way we have designed and programmed all of our new programs gap4, sip4 and nip4. The programs' user interface is provided by Tcl and Tk and their algorithms are written in C. The link between Tcl and C is made by adding the algorithms to the Tcl language - ie by extending the commands that can be understood by the Tcl interpreter. In conjunction with conventions for defining the items to appear in the program menus this organisation of the code makes it straightforward for other groups to add their own algorithms to the programs. Coupled with our use of dynamic loading this means that these additional functions can be made available as compiled code by their authors, hence allowing them to retain complete control of their distribution. We believe this will be an attractive option for many people developing new algorithms: they can concentrate on the algorithms without worrying about the user interface, and they can make them available as an additional option to a (we wish!) widely used program.

The nip user interface is based on that of gap4 and sip4 and hence shares many features, but it also has some useful new graphical wrinkles. In common with the other programs the main window contains the top level menus, the text Output window and the Error window.

Graphical results are shown in separate windows. Most functions add their graphical results to a nip plot window that is associated with the sequence being analysed, but the restriction enzyme search produces its own separate window. Each set of graphical results has its own particular default drawing method, but individual results can be "dragged and dropped" by users, hence allowing plots to rearranged and superimposed. Plots can also be extracted from the main graphics window and dropped to create new independent windows. The graphical results can be zoomed and scrolled in both x and y directions. Zooming is achieved using the X and Y scale bars at the top left hand corner of the plot. The individual plots can be scrolled in y using the scroll bars attached to their right hand edge. The sequence can be scrolled using the scroll bar at the base of the plot. The figure shown below shows a nip plot window containing the results of a gene search method based on codon usage, superimposed on a search for stop codons. Each plot window contains a cross hair. Its x position is shown in sequence base numbers in the left hand box above the plot, and the y coordinate, expressed using the score values of the gene search, is shown in the right hand box. Each line in the window has its own colour and can be dragged and dropped to new locations to reorganise the plot. Each nip plot window also contains a cursor that denotes the position of the cursor in the Sequence display window ( see section Sequence display) and which can be used to move the cursor in the sequence display.

[picture]
(Click for full size image)

Nip also has a sequence display window in which the user can view the sequence in textual form. This window allows the user to scroll along the sequence using cursors and directional keys. Users can view one or both strands, can switch on displays of the encoded amino acids in up to six reading frames, can switch on a display of the restriction enzyme sites, and can perform other simple string searches to locate features in the sequence. In the figure shown below the user has switched on a three phase translation on the top strand, double stranded sequence, and a restriction enzyme search.

[picture]
(Click for full size image)

The sequence cursor can be under the control of the graphics cursor i.e. the cursor in the sequence viewer can be moved by the user dragging the cursor in the graphics window. Similarly the cursor in the graphics plots can be moved by the sequence viewer cursor.

[picture]
(Click for full size image)

At present the main menu bar contains File, View, Options, General, Statistics, Translation, Gene search and Signals.

The "File" menu contains the commands to extract sequences from either a sequence library or a personal file ( see section Reading in sequences), the Sequence manager ( see section Sequence manager) and the Send to command (See section Inter-program communication.).

The "View" menu contains options to use the Results manager ( see section Result manager) or the Sequence display ( see section Sequence display).

The "Options" menu allow the fonts and foreground and background colours to be customised.

The "Sequences" menu contains operations which may be performed on a sequence. Some of these operations will produce a new sequence. All these operations are also obtainable from a pop up menu in the sequence manager ( see section Sequence manager).

The "Statistics" menu contains options to count and plot the base composition ( see section Plot base composition) and also to count the dinucleotide frequencies ( see section Dinucleotide frequencies).

The "Translation" menu contains options to set the default genetic code ( see section Set genetic code), translate to protein ( see section Translation - general), find open reading frames and write the results in either feature table format or as fasta files ( see section Find open reading frames) and calculate codon tables.

The "Search" menu contains a variety of different searching techniques. "Protein genes" has four methods for finding protein genes ( see section Codon usage method), ( see section Author test), ( see section Positional base preferences), ( see section Uneven positional base preferences). There is also a tRNA genes searching method ( see section tRNA search). It is also possible to perform string searches ( see section String search) and restriction enzyme searches ( see section Restriction enzyme search). Finally, there are searches for start ( see section Start codon search) and stop codons ( see section Stop codon search) and splice junction searches ( see section Splice site search).

Beneath the menus are two text windows, the "Output window" which displays any text output from the program and the "Error window" which displays all error messages.


next last contents
This page is maintained by James Bonfield. Last generated on 2 Febuary 1999.
URL: http://www.mrc-lmb.cam.ac.uk/pubseq/manual/nip4_1.html