# ACEDB User Group Newsletter - November 2002

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 sees the arrival of the first round of some long overdue keyboard shortcuts, some more user preferences, changes to our build platforms, and bug fixes.

## New Features

### First round of keyboard shortcuts

There have always been some keyboard shortcuts in acedb, recent discussions have shown that there is a pressing need for some kind of rationalisation and extension of these. I have collated all the emails that I received about existing and desired shortcuts, this is round one with more to come in the next few weeks.

The first set of shortcuts are available from any of the main acedb windows and include:

-     Ctrl-S:  save the database

-     Ctrl-W:  close this window

-     Ctrl P:  print this window

-     Ctrl Q:  quit acedb

-     f1/f10:  help

-      f2/f9:  print this window

The job of implementing the shortcuts has passed through a number of hands and hopefully now its going to get done, thanks to everyone for their patience, send mail direct to me, edgrif@sanger.ac.uk if you get fed up with waiting or have suggestions/bugs etc.

### Splash window preference

Acedb displays an initial "splash" window when it starts up which with some window managers remains on top of all the other windows on the screen which can be irritating. There is a command line option "-nosplash" which can be used to turn off display of the window. Now you can also set a preference to not display the window at all, see "SPLASH_SCREEN" option in the preferences window which can be reached from the "Admin" menu on the xace main window.

## Articles

### Changes to Sanger Centre binaries

As of this month we are building acedb on the latest versions of OSF for the Alpha machines and Linux for the PCs:

- OSF1 V5.1 732 alpha
- Red Hat Linux release 7.3 (Valhalla) Linux 2.4.18-10 i686

If you download binaries from the Sanger site then please make sure that your operating system is at these levels at least otherwise the binaries may not run.

If you are running older systems you will need to download the source and compile it yourself. Please report any problems with doing this to: acedb@sanger.ac.uk.

## Bugs Fixed

### Preference bug

Worth noting is that the preference code cannot cope with spaces in the preference name, so the following was a bug: "Use CDS class", now changed to "Use_CDS_class".

### Smap and one base long features

Simon has bravely fixed a bad oversight in the SMap code. The code continued to use the time honoured acedb way of detecting strand by looking for "start < end" meaning "forward strand" and vice versa. This all fails horribly when the feature being mapped is just one base long. To compound matters SMap itself does produce one base long mappings when getting the dna where overlaps are only a base long and then gets the strand wrong and complements the dna thinking it is on the reverse strand. This is now fixed, SMap keeps strand information separately from the coordinates.

To indicate a one base long feature on the reverse strand you need to put the following in the parent of the feature (assuming the feature is at position 100 in the parent):

    S_Child   XREF  100 100 Align 100 1 -1

The final coordinate can be "1" or just omitted to indicate a one base feature on the forward strand.

### Some blixem fixes

Blixem used to crash if the pfetch server could not be contacted, this is now just a warning, otherwise this crashes xace when blixem is run as part of the xace program.

The private colourmap installation is now done earlier so warnings are displayed in a dialogue box rather than just in terminal window.

The blxparser code had a bug for SEQBL DNA sequence, used a fixed buffer that overflowed.

### ACEDB.wrm should not be writeable

Sadly a bug was introduced into the code a couple of years ago and recently reported by a user. model.c erroneously checked to see if database/ACEDB.wrm was writeable as a test to see if current user should be allowed reread the models file. This is a bad idea, users like to make ACEDB.wrm read only to prevent accidental reinitialisation of database. There was already an internal routine in session.c which tests for the admin user and does not require this incorrect predicate, I have added an external function to session.c to make this visible to other bits of acedb code so that the check is correct now.

Users should keep database/ACEDB.wrm as a read only file to prevent accidental erasing of this file followed by possibly catastrophic accidental reinitialisation of the database.

### Minor bug in query language arithmetic

A small fix to the arithmetic parsing introduced last monht: parsing of `"[- 4 -- 3]"` is now correct.

## Developers Corner

If you wish to make comments/suggestions about any of the below, please mail them to acedb@sanger.ac.uk

### Code changes for shortcuts

I've made a number of changes to the code to implement short cuts in a way that I hope keeps knowledge of shortcuts in the right places without introducing too much arcaneness into the code:

- add struct to hold global graph data, pointed to from Graph_ struct.
- Add global keyboard shortcuts to acedb.
  - Add static global ptr which points to graph global data.
  - Add function to register application callbacks for global application actions, e.g. Cntl-S from anywhere.
  - Add functions that graphdev layer will call when appropriate keys are called.
  - Add code to graphCBKeyboard to handle new key callbacks.
- Add global keyboard shortcuts to acedb.
  - add call to register Quit and Save routines from mainpick as global routines for whole of acedb.

Phew...the next round of shortcuts for FMap should be easier.

### Change to the way the prefs package is initialised.

Preferences initialisation now happens before the database is initialised. This means that the user can set preferences for things that happen before database initialisation such as the splash screen and the message window.

In detail: `prefInit()` now only reads `$HOME/.acedbrc`, a separate call, `prefReadDBPrefs()`, reads wspec/acebrc if it exists.

### Aquila changes

Documentation of aquila output files and error reporting have both been improved. The huge, monolithic aquila test script file has been split into separate, individual test files.

aquila -u param: send email to user if aquila fails.

Only highlight real and cpu times if >10% different.

Aquila version appears at the top of results files.

## November monthly build now available.

You can pick up the monthly builds from:

Sanger users
  ~acedb/RELEASE.DEVELOPMENT
External users
  http://www.acedb.org/Software/Downloads/monthly.shtml

## Next User Group Meeting - D319, 2.30pm, Thursday, 14th November 2002

Last modified: Fri Feb 28 11:30:06 GMT 2003