If you want to have this newsletter mailed to you or you want to make comments/suggestions about the format/content then send an email to acedb@sanger.ac.uk.
This month includes controlling the acedb server with signals, some changes to the way homologies are displayed in fmap, Acedb and the Mac, and some important bug fixes.
Sad to say we are still labouring on the SMap code which will bring a lot more power and flexibility to FMap.
Server programs, especially those run in the background will normally accept certain signals as "commands" to get them to take certain actions, the de facto standard for unix includes:
SIGHUP
: reread server configuration file(s).
SIGTERM
: terminate gracefully.
The AceDB server will now respond to SIGTERM
and shut down correctly. This is done by
by setting a global flag from a
server callback routine called by the acedb signal handler function.
The server then checks for the global flag in the main processing loop of the socket
layer, and then initiates the save and exit of the database.
This seems a bit contorted but avoids any issues of trying to use issue calls that are
not signal safe from a signal handler or of trying to exit perhaps
half way through an interrupted partial acedb save.
Support for SIGHUP
will be added if required.
A number of small changes have been made to FMap:
Support for "Show_in_reverse_orientation" tag: The worm database version of
the ?Sequence
class contains a Show_in_reverse_orientation
tag
which is used to indicate that the 3' sequence of an EST paired read that has been
sequenced in reverse. The FMap code now looks for this tag and will reverse the strand
that the sequence is shown on so that it appears downstream from its 5' pair. To take
advantage of the tag you need to add this tag to the ?Sequence
class, you can
put the tag anywhere in the class but in the worm version it is under the "Properties"
tag:
Properties Pseudogene Text
Genomic_canonical Gene_count UNIQUE Int
etc.
Show_in_reverse_orientation // Draw 3' reads in reverse orientation
etc.
Improved display of homologies with a common clone parent: Clicking on a homology box in fmap will now hilight all all the homologies in that column that have a common clone parent. In addition if you select to have the column displayed in "cluster" mode, homologies with a common parent get sorted into the same vertical alignment within the column, making them easier to see.
(This article is courtesy of Simon Kelley srk@sanger.ac.uk)
Acedb is now available to run on Apple Macintoshes running Mac OS X. We are using the Fink packaging system to distribute Acedb for Macs. This is available from http://fink.sourceforge.net/
Acedb depends on a few other bits of software which don't come with OS X but are available from the Fink system. The main one of these is the X windows system.
To get Acedb on a Mac, first install fink by following the instructions at http://fink.sourceforge.net/download/index.php
Download the package for acedb from http://www.acedb.org/Software/Downloads
Install the extra software required by running the following command in a Terminal Window:
fink install xfree86-base xfree86-rootless gtk+ readline
and finally install acedb by runnning this command:
dpkg -i <path_to_acedb_package>
Blixem now supports the use of efetch or pfetch to get its sequence entries from reference databases (e.g. EMBL). There was a bug which meant that even if the user wanted blixem to use pfetch, it would still try to use efetch for some purposes. Now blixem will use either efetch or pfetch, but not a mixture of both.
In addition, if pfetch is used, blixem will make use of the new "--client" pfetch option which gives logging information about the user/client to the pfetch server.
An ancient bug in freeread() caused escaped pseudo newlines of the form '\' followed by 'n' to be incorrectly translated to just 'n' rather than being read unaltered as '\n'. freeread() is brain dead in that it does not use the "special" stuff used by other freeNNN routines, which is the original cause of the bug, this will not be fixed as the freeNNN routines are legacy code having been replaced by the aceIn/Out package.
Two bugs fixed:
cmpFileParts() was altered at some time to do error checking for EOF (which was a good idea) but in doing the check read twice as many chars as it should have because it was doing a separate getc() to test EOF from the getc() to just get the next char from the file. This caused the program to do anything from fall off the end of the file to erroneously report differences.
oneLine() did not count lines in the file it was processing correctly, this is because a) the freeread() routine it called was incorrectly translating pseudo-newlines into just 'n' (now fixed) and b) it didn't increment the line count when it encountered one of these (which in acefiles signals a multiline text entry).
AQL sometimes failed in obscure ways, this was because the code in aqlCreate() was missing the NULL terminator required for varargs so queries were not always interpreted correctly.
Apologies, once again there was no build this month due to the major SMap development work.