home up

IMPORTANT bug fix to 1997.0

Bug fixes are now available to the 1997.0, 1997.0.1 and 1997.0.2 releases. It is important that these are applied as a serious bug was introduced in the 1997.0 release that could corrupt the tag information in databases. This would cause crashes, and in the worst case, could prevent access to the database. The patch also includes a modified copy_db program to correct these corruptions. PLEASE DO read the patch release notes, which are included at the end of this article.

To obtain the patch, use anonymous ftp to list the following directory:


This contains a variety of patch files for each system. Download the appropriate patch file, uncompress it if needed, untar it, and then read the instructions contained in the README file.

We apologise for any inconvenience caused by this fix. Please do mail us back if you have any problems with the patch.

This tar file contains a patch for the 1997.0, 1997.0.1 and 1997.0.2 releases of the Staden Package. It MUST NOT be applied to any other version, including 1997.0.3 and later. Note that the most serious bug fixed is a database corruption caused by using the "Save Contig" option of the contig editor. The complete list of bugs fixed is listed in Appendix A. Please read this carefully.

To apply the patch, make sure that the STADENROOT environment variable is set, and run the apply_patch command contained within this directory. This will stores the old files in a tar file named $STADENROOT/unpatch1.tar and will update the distribution to be the new version. Please do not run the apply_patch command several times, as this will overwrite the unpatch1.tar file. If you plan to do this, take a copy of unpatch1.tar first. If the patched version should fail for any reason, the original distribution can be restored by changing directory to $STADENROOT and typing "tar xvf unpatch1.tar". PLEASE MAIL US (staden-package@mrc-lmb.cam.ac.uk) if you have problems. Note that the patch overwrites several files. The list is in Appendix B. If local modifications have been made for any of these files, the modifications will be lost. In this case, you'll need to extract the backups from unpatch1.tar to a temporary directory and merge manually.

Appendix A

Gap4 tag corruption and copy_db

Fixed a database corruption caused by the Save Contig option of the contig editor. This would reveal itself as fatal crashes. It is important to realise that unlike the other bugs fixed, this one changes your data. Typically, the only change is to remove one of the "comments" sections of an annotation (tag).

The copy_db program has been updated to attempt to fix these problems. For any databases where Save Contig from 1997.0 has been used, there is a chance that the annotation data has been corrupted. Note that it is not possible to tell this simply by using the "check database command". It is advisable to use copy_db to produce a new copy of your database. For example, version 0 of database FRED can be copied to version 1 using:

copy_db -f -v FRED.0 FRED.1

If this produces no error reports then your version 0 was fine. If errors are reported, but copy_db finishes, then version 1 should be an error free copy of the database. If for any reason copy_db fails to copy the database, or the newly created copy fails the "check database" function, please email staden-package@mrc-lmb.cam.ac.uk explaining the problem.

Gap4 on SunOS 4.x

Gap4 failed on many SunOS 4.x systems with complaints about unable to find the memmove function. This occurs when using several of the graphical plots in Gap4. The problem did not affect any other system type.

Gap4 with large numbers of contigs

A Gap4 database with many contigs (approx 400 or more, depending on the reading name length) could crash when using the find internal joins, find read pairs, find repeats, and possibly other functions. This has now been fixed.

Gap4, Find Internal Joins

The "Probe against single segment" search of Find Internal Joins errornously had a large allowable maximum probe length. The maximum probe length is now correctly set to 4096. Attempting to use longer probes would crash Gap4.

Trev sequence vector clips

Trev now saves the sequencing vector clip points to the experiment file (SL and SR line types). The previous version allowed editing of these positions, but did not save them.

Trev when called from pregap

The interaction between trev and pregap had the "Reject" and "Exit" meanings switched. They have now been corrected so that "Exit" will accept this reading and "Reject" will tell pregap to skip this reading.

Trev right quality clipping

When Trev edits an experiment file containing no right quality clip point, saving this experiment file (without changing the clip point) would sometimes set the clip point to be INT_MAX (approx 2 billion). This did now always happen, and should not cause problems for other applications. However it has been fixed.


The convert program (for convering dap or bap databases to gap4 databases) failed in the 1997.0.x release. It now works again.

Pregap and SCF files

Pregap was incorrect in its extraction of reading names from SCF files that contained a 'NAME=' comment.


Trace_diff now writes out mutation tags when ran on experiment files.

Appendix B

The following files are replaced by this patch. (This list is also available by typing "tar tvf patch1.tar".)


home up