first previous next last contents

Inter-program Communication

Some programs have the ability to communicate with each other by operating on the same sequences and tying together of the cursor movements. So bringing up two plots, one in each of two communicating programs, and moving the display cursor in one plot will automatically move the cursor in the second plot. If a plot is zoomed, the plot will also automatically scroll as the cursor meets the end of the currently displayed region. For instance, it is possible when scrolling along a gene prediction plot in Nip4 to scroll the contig editor and traces in a Gap4 window.


The function to initiate communication is generally called `Send To' and is in the File menu. The dialogue window allows selection of the appropriate sequence identifier and a list of program names. The programs listed will depend on the current program, but may include both a list of programs that the current program knows how to run, and a list of programs that are current running which are advertising their wish to communicate. For the present release, the programs allowing such communication are Gap4, Nip4 and Sip4.

Once the sequence and target program are selected, pressing OK will check to see whether the target program is already running. If not, it will start it up. The target program then receives the sequence from the current program. For the case of Gap4 to Nip4 communication, Gap4 sends the consensus sequence for a given contig to the sequence manager of Nip4. The same is true for Gap4 to Sip4 communication.

These communication methods are still being developed. At present, a few known problems exist. It is not possible to send a sequence from Nip4 or Sip4 to Gap4. Padded sequences sent to Nip4 or Sip4 from Gap4 are still displayed as padded sequences, and so the reading frames will be out of step. This is not a problem when the sequence has been fully finished. Editing in Gap4 does not automatically update Nip4 or Sip4. To update Nip4 or Sip4, the communication needs to be cancelled and restarted. The contig editor in Gap4 and the sequence display in Sip4 are not linked. To investigate a match found in Sip4, the cursors in Gap4 must be moved manually. If you send contigs to Sip4 from Gap4, and then bring up any plot or editor, these MUST be brought up in the same order as the contigs were when sent over to Sip4. To circumvent this problem, bring up the plots or editors BEFORE sending the contigs over to Sip4. Finally, the cursors in Sip4 and Nip4 are always drawn and do not disappear when only a single plot is using the cursor.

Finally, note that secure X communication must be enabled for the communication to work. If the "xhost" command lists any hostnames, you have an insecure X server. Sometimes (most?) making it secure can be as simple as "touch $HOME/.Xauthority" (this is usually the case when xdm is used).

For Linux, which generally runs in text mode where the user needs to type startx to initiate X windows, things may be more complicated. NB: try "touch $HOME/.Xauthority" first. To request that the X server uses secure mode, the server must be started with "-auth $HOME/.Xauthority" arguments. When using startx, this can be done by typing the following.

startx  -- "-auth $HOME/.Xauthority"

If this is needed, make it a script or an alias. The second half of setting up secure X requires generation of a key. This can be done with the "xauth generate :0" command once the server has started. One easy way of doing this is to add the following to the start of your `$HOME/.xinitrc' file.

(sleep 5;xauth generate :0)&

We would appreciate any clearer instructions or better solutions to forcing X windows into secure mode. Please email them to

first previous next last contents
This page is maintained by James Bonfield. Last generated on 2 Febuary 1999.