From 3d0892445878af75aa4c803288bcaf4af1b6b36c Mon Sep 17 00:00:00 2001
From: mh17 <mh17>
Date: Wed, 3 Mar 2010 14:05:59 +0000
Subject: [PATCH] removing old docs

---
 doc/obsolete/MAC_G2.README         |  87 -----
 doc/obsolete/PERFORMANCE.README    | 478 ------------------------
 doc/obsolete/TODO                  | 577 -----------------------------
 doc/obsolete/design_notes.shtml    | 287 --------------
 doc/obsolete/issues.html           |  46 ---
 doc/obsolete/lace.changes          | 141 -------
 doc/obsolete/porting_install.shtml |  41 --
 doc/obsolete/user_guide.shtml      |  53 ---
 doc/project/2005_03_09.meeting     | 106 ------
 doc/project/2005_03_23.meeting     |  60 ---
 doc/project/2005_04_19.meeting     |  93 -----
 doc/project/2006_01_06.meeting     | 165 ---------
 doc/project/2007_02_07.meeting     | 196 ----------
 doc/project/zmap_lace_tasks.txt    | 204 ----------
 doc/wemap/README                   |   6 -
 doc/wemap/fex.h                    | 343 -----------------
 doc/wemap/fex.idl                  | 203 ----------
 doc/wemap/fex.synopsis.html        | 220 -----------
 18 files changed, 3306 deletions(-)
 delete mode 100755 doc/obsolete/MAC_G2.README
 delete mode 100755 doc/obsolete/PERFORMANCE.README
 delete mode 100755 doc/obsolete/TODO
 delete mode 100755 doc/obsolete/design_notes.shtml
 delete mode 100755 doc/obsolete/issues.html
 delete mode 100755 doc/obsolete/lace.changes
 delete mode 100755 doc/obsolete/porting_install.shtml
 delete mode 100755 doc/obsolete/user_guide.shtml
 delete mode 100755 doc/project/2005_03_09.meeting
 delete mode 100755 doc/project/2005_03_23.meeting
 delete mode 100755 doc/project/2005_04_19.meeting
 delete mode 100755 doc/project/2006_01_06.meeting
 delete mode 100755 doc/project/2007_02_07.meeting
 delete mode 100755 doc/project/zmap_lace_tasks.txt
 delete mode 100755 doc/wemap/README
 delete mode 100755 doc/wemap/fex.h
 delete mode 100755 doc/wemap/fex.idl
 delete mode 100755 doc/wemap/fex.synopsis.html

diff --git a/doc/obsolete/MAC_G2.README b/doc/obsolete/MAC_G2.README
deleted file mode 100755
index 593ad7e10..000000000
--- a/doc/obsolete/MAC_G2.README
+++ /dev/null
@@ -1,87 +0,0 @@
-
-g2 install and autoconf on mac
-------------------------------
-
-Things we need to manage to get the g2 install to work on the mac.
-It is currently installed in ~zmap/prefix. But other people won't
-have this installed.  This needs to be done.  We can diable the 
-feature in zmap, but that's not really a solution.  In addition
-our build needs to check that it is installed and either error and
-go no further or warn and manage the features running without g2.
-
-g2 install
-----------
-
-This seems to be using an *old* version of autoconf.  
-
-- configure.in needs renaming to configure.am
-- darwin needs an option in the switch statement.
-- Makefile.in needs renaming to Makefile.am
-- Makefile.am needs rewriting I fear.
-- ranlib needs running on the libg2.a
-
-I'll write some patches for this which will go in a 
-patches directory.
-
-So all of the above were true, plus a few more glitches which needed ironing out.
-
-
-Step by Step
-------------
-
-Installing GD
--------------
-
-A little belatedly I found this which is roughly what I did. 
-http://www.paginar.net/matias/articles/gd_x_howto.html
-
-I missed  out a few bits,  so here's what  I did in case  the omission
-causes issues.
-
-$prefix=/sw
-
-- zlib was already installed
-
-- install of libpng (see ~zmap/packages [cbi1] for tar.gz)
-  This just installed using ./configure --prefix=$prefix; make; make install
-
-- install of libjpeg (see ~zmap/packages [cbi1] for tar.gz)
-  This was slightly more tricky.
-  ./configure --prefix=$prefix
-  make all
-  make install
-  make install-lib
-  ranlib $prefix/lib/libjpeg.a
-
-- install of libgd 2.0.33 (see ~zmap/packages [cbi1] for tar.gz)
-  ln -s `which glibtool` libtool
-  CFLAGS='-I/usr/X11R6/include/freetype2 -I/usr/X11R6/include/fontconfig' \
-  ./configure --prefix=$prefix
-  make 
-  make install
-
-
-Modifying G2
-------------
-
-Firstly to get anything to work.
-
-cd g2-0.70
-touch NEWS AUTHORS ChangeLog
-cp $ZMAP_CVS_DIR/src/bootstrap .
-./bootstrap
-
-rm -f configure.in
-configure.ac replaces this and is located in our cvs under g2
-
-rm -f Makefile.in
-Makefile.am replaces this and is also located in cvs under g2
-
-libtoolize
-./bootstrap
-configure needs to find gd, hence /sw/{include,lib}, and libiconv, hence /usr/lib
-CFLAGS=-I/sw/include LDFLAGS='-L/sw/lib -L/usr/lib' ./configure --prefix=$prefix
-make
-make install
-
-This doesn't install perl. When I learn how to do it I will.
diff --git a/doc/obsolete/PERFORMANCE.README b/doc/obsolete/PERFORMANCE.README
deleted file mode 100755
index e0a8f774d..000000000
--- a/doc/obsolete/PERFORMANCE.README
+++ /dev/null
@@ -1,478 +0,0 @@
-Summary of performance stuff....
-
-I started out thinking the memory allocator might be the problem but the memory/timing
-trace showed this not to be so (see [1] below).
-
-
-By interrupting zmap while parsing I realised it was spending a lot of time searching
-through g_datalist structs and I realised that:
-
-
-When adding a feature to a featureset during parsing we basically do:
-
-if (feature not in feature set)
-  add feature to feature set
-
-
-this results in the g_datalist code doing two linear searches, one to see if the
-feature is there and then a second one to see if its there when it adds it....
-
-time to parse busy clone = 140s
-
-
-so the first change I made was to add a function to the g_datalist code that just adds
-the feature without checking whether its there, after all we've already done that....
-
-time to parse busy clone = 74s
-
-
-then I added a hash table to the featureset so we could use that to check whether we
-had the feature there instead of stupid g_datalist linear lookup...
-
-time to parse busy clone = 5s
-
-
-See [2] below for overall timings which are interesting.
-
-
-Now the two biggest delays are in getting the data from the server and in making the
-canvas items. We need to look at the latter at some time especially for splitting
-windows.
-
-
-
-
-[1] Memory/timing Output
-
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-../../../zmapView/zmapView.c:zMapViewConnect:266 Open connection   - elapsed time: 1.2e-05
-../../../zmapThreads/zmapSlave.c:zmapNewThread:140 In thread, calling handler function   - elapsed time: 0.003583
-thread_mem malloc
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-../../../zmapServer/acedb/acedbServer.c:getFeatures:433 In thread, getting features   - elapsed time: 0.440321
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:707 In thread, about to ask for features   - elapsed time: 0.440428
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:728 In thread, got features and about to parse into context   - elapsed time: 7.5291
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:878 In thread, finished parsing features   - elapsed time: 146.297
-../../../zmapServer/acedb/acedbServer.c:getFeatures:438 In thread, got features   - elapsed time: 146.297
-../../../zmapThreads/zmapSlave.c:zmapNewThread:146 In thread, returned from handler function   - elapsed time: 148.698
-../../../zmapView/zmapView.c:getFeatures:2040 Got Features from Thread   - elapsed time: 148.751
-../../../zmapView/zmapView.c:mergeAndDrawContext:2003 Merged Features into context and about to display   - elapsed time: 148.751
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:211 About to create canvas features   - elapsed time: 148.751
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:376 Finished creating canvas features   - elapsed time: 160.058
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-malloc alloc: 1048
-
-
-
-[2] Timings for zmap.
-
-
-without any fixes:
-
-
-../../../zmapView/zmapView.c:zMapViewConnect:266 Open connection   - elapsed time: 1.2e-05
-../../../zmapThreads/zmapSlave.c:zmapNewThread:140 In thread, calling handler function   - elapsed time: 0.003583
-../../../zmapServer/acedb/acedbServer.c:getFeatures:433 In thread, getting features   - elapsed time: 0.440321
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:707 In thread, about to ask for features   - elapsed time: 0.440428
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:728 In thread, got features and about to parse into context   - elapsed time: 7.5291
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:878 In thread, finished parsing features   - elapsed time: 146.297
-../../../zmapServer/acedb/acedbServer.c:getFeatures:438 In thread, got features   - elapsed time: 146.297
-../../../zmapThreads/zmapSlave.c:zmapNewThread:146 In thread, returned from handler function   - elapsed time: 148.698
-../../../zmapView/zmapView.c:getFeatures:2040 Got Features from Thread   - elapsed time: 148.751
-../../../zmapView/zmapView.c:mergeAndDrawContext:2003 Merged Features into context and about to display   - elapsed time: 148.751
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:211 About to create canvas features   - elapsed time: 148.751
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:376 Finished creating canvas features   - elapsed time: 160.058
-
-
-with the g_datalist direct add code added:
-
-../../../zmapView/zmapView.c:zMapViewConnect:266 Open connection   - elapsed time: 1.2e-05
-../../../zmapThreads/zmapSlave.c:zmapNewThread:140 In thread, calling handler function   - elapsed time: 0.003591
-../../../zmapServer/acedb/acedbServer.c:getFeatures:433 In thread, getting features   - elapsed time: 0.392993
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:707 In thread, about to ask for features   - elapsed time: 0.393097
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:728 In thread, got features and about to parse into context   - elapsed time: 7.58187
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:878 In thread, finished parsing features   - elapsed time: 81.2551
-../../../zmapServer/acedb/acedbServer.c:getFeatures:438 In thread, got features   - elapsed time: 81.2551
-../../../zmapThreads/zmapSlave.c:zmapNewThread:146 In thread, returned from handler function   - elapsed time: 83.5875
-../../../zmapView/zmapView.c:getFeatures:2040 Got Features from Thread   - elapsed time: 83.6691
-../../../zmapView/zmapView.c:mergeAndDrawContext:2003 Merged Features into context and about to display   - elapsed time: 83.6691
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:211 About to create canvas features   - elapsed time: 83.6692
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:376 Finished creating canvas features   - elapsed time: 95.0206
-
-
-with the hash lookup added:
-
-../../../zmapView/zmapView.c:zMapViewConnect:266 Open connection   - elapsed time: 1.2e-05
-../../../zmapThreads/zmapSlave.c:zmapNewThread:140 In thread, calling handler function   - elapsed time: 0.003589
-../../../zmapServer/acedb/acedbServer.c:getFeatures:433 In thread, getting features   - elapsed time: 0.40506
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:707 In thread, about to ask for features   - elapsed time: 0.405164
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:728 In thread, got features and about to parse into context   - elapsed time: 7.94696
-../../../zmapServer/acedb/acedbServer.c:sequenceRequest:878 In thread, finished parsing features   - elapsed time: 12.3263
-../../../zmapServer/acedb/acedbServer.c:getFeatures:438 In thread, got features   - elapsed time: 12.3263
-../../../zmapThreads/zmapSlave.c:zmapNewThread:146 In thread, returned from handler function   - elapsed time: 14.8065
-../../../zmapView/zmapView.c:getFeatures:2040 Got Features from Thread   - elapsed time: 14.8171
-../../../zmapView/zmapView.c:mergeAndDrawContext:2003 Merged Features into context and about to display   - elapsed time: 14.8171
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:211 About to create canvas features   - elapsed time: 14.8172
-../../../zmapWindow/zmapWindowDrawFeatures.c:zmapWindowDrawFeatures:376 Finished creating canvas features   - elapsed time: 26.1438
diff --git a/doc/obsolete/TODO b/doc/obsolete/TODO
deleted file mode 100755
index c2cbf0009..000000000
--- a/doc/obsolete/TODO
+++ /dev/null
@@ -1,577 +0,0 @@
-#
-# This TODO list file is parsed by the script makeQuad which expects this file
-# to be in the format:
-# 
-# 
-# [Categories]
-# Title = ZMap Priorities
-# Across = Important \
-# Not_Important
-# Down = Urgent \
-# Not_Urgent
-# 
-# 
-# [Some item of your choice]
-# Across = Important
-# Down = Not_Urgent
-# Text = Text describing the item, possibly \
-# running to several lines.
-# 
-# There should be only one "Categories" section and you should not alter it without
-# altering all the Across/Down entries in all subsequent sections.
-#
-# Each general section should have a unique header and follow there rules:
-#
-# Across = < Important | Not_Important >
-# Down = < Urgent | Not_Urgent >
-# Text = as many lines as you like but you must use the continuation character "\""
-#
-# NOTE that the section title is the only thing that will be displayed in the
-# frames window so make the title meaningful !!!!
-#
-# Please add new stuff as required _and_ remove obsolete or completed items !
-#
-#
-
-
-# DO NOT CHANGE THIS STANZA WILLY-NILLY.....the Across/Down categories are
-# used in the rest of the file....
-[Categories]
-Title = ZMap Priorities
-Across = Important \
-Not_Important
-Down = Urgent \
-Not_Urgent
-
-
-[Shape Diversity]
-Across = Not_Important
-Down = Not_Urgent
-Text = We could do with supporting more shapes styles of "boxes" \
-e.g. pointing boxes to show strandedness, start/end not found, text \
-on features.... many more I'm sure
-
-[Install package via Autoconf/configure system]
-Across = Important
-Down = Not_Urgent
-Text = We need a pucker install package for zmap \
-we need to sort -rpath stuff on alpha....
-
-[Change reverse strand code to always create foocanvas items]
-Across = Important
-Down = Urgent
-Text = We should always create items whether they are shown or not, \
-but then just hide them. This would require the hash table to "know" whether \
-things were hidden or not for purposes of filtering returned items. \
-BUT, this may not be a good idea BECAUSE it would mean mapping potentially thousands \
-of homols on the reverse strand....
-
-[column ordering]
-Across = Important
-Down = Urgent
-Text = Better system than current right_priority system for the ordering of    \
-columns. (Maybe user defined zones like "transcripts",                         \
-"similarity_features", and named columns are put into a zone or                \
-left/right of other named columns, or simply in order of appearance if         \
-the named column doesn't exist or isn't specified. Can have "default"          \
-zone which is right of all the other zones to contain any columns which        \
-don't have a zone defined.)  WE DON'T HAVE THIS, SO TALK TO JAMES...          
-
-[column control]
-Across = Important
-Down = Not_Urgent
-Text = All columns, including the default ones, can easily be hidden and \
-revealed by the user.                                                                     
-
-[drag and drop column positions]
-Across = Important
-Down = Urgent
-Text = Ability for user to change the order of columns by dragging to new      \
-position. This preference is sticky between sessions.                         
-
-[multiple methods per column]
-Across = Important
-Down = Urgent
-Text = If multiple different methods are drawn in the same column, it can be   \
-chosen whether they are drawn on top of each other, or stack. Could            \
-have different types of transcript appearing in the same column (saves         \
-screen space), and draw symbols signifying polyA signals and sites on          \
-top of the transcripts.  DON'T HAVE THIS BUT COULD DO....                     
-
-[cds colours]
-Across = Important
-Down = Urgent
-Text = Can choose custom colours for fill and outline for boxes, and different \
-ones for CDS regions of transcripts. Colours can be chosen using the           \
-standard X colour definitions. WE DON'T USE THIS INFORMATION AND I THINK       \
-CURRENTLY ITS NOT DUMPED AS GFF SO WOULD NEED TO ADD TO ACEDB....              
-
-[colour by score]
-Across = Important
-Down = Not_Urgent
-Text = Can change the shade of a colour of a feature according to its score.  \
-Maybe a gradient from one colour to another? Maybe a 256bit look up           \
-table? COULD BE PART OF THE STYLE...ALSO USE WIDTH OF BLOCK...(LOG SCALE)
-
-[better symbols]
-Across = Important
-Down = Urgent
-Text = Can choose a variety of symbols (circles, triangles, stars) for     \
-features in a columns. NOT DONE...                                         \
-Feature boxes can have arrow heads/tails at either or both ends.         
-
-[better symbols 2]
-Across = Important
-Down = Not_Urgent
-Text = Can change the symbol used to draw a feature depending upon the zoom \
-level. (Not necessary? Could just have features drawn in the same           \
-column that are visible at different zoom levels.) ALLELE LIKE THING
-
-[HOMOLS SHOULD USE GAPS ARRAY]
-Across = Important
-Down = Urgent
-Text = HOMOLS SHOULD USE GAPS ARRAY
-
-[text column]
-Across = Important
-Down = Not_Urgent
-Text = Can have labels attached to features, and labels that appear on  \
-mouse-over. Labels repel each other so that they don't get drawn on top \
-of each other. ACEDB TEXT COLUMN....WE NEED THIS SOON....              
-
-[alternate column types]
-Across = Important
-Down = Not_Urgent
-Text = A graph column type, for displaying properties such as GC content. GC   \
-content could be calculated on-the-fly by zMap. Graphs could be         \
-histogram, line, or varying shade of a colour (maybe a gradient?).      \
-
-[scale]
-Across = Important
-Down = Not_Urgent
-Text = Have the basepair distance scale permanently on the edge of the window  \
-like a ruler in a drawing application.                                         \
-
-[focus window red border + user specified border]
-Across = Important
-Down = Not_Urgent
-Text = Currently canvas windows are surrounded by a frame, while this can be \
-coloured red it cannot be made wider and so is almost invisible. Users also \
-want to be able to colour borders separately to show which window is which.
-
-[feature search window]
-Across = Important
-Down = Urgent
-Text = implement the feature search window
-
-[external feature list]
-Across = Important
-Down = Not_Urgent
-Text = we should alllow external programs to \
-supplying a list of objects from an external source rather like the current feature list \
-- would enable user/lace/whatever to select their own sets of features
-
-[empty columns]
-Across = Important
-Down = Not_Urgent
-Text = Currently we can show columns even if empty, this may be good for multiple alignments \
-because otherwise the alignment blocks are likely to be all sorts of different widths. \
-The problem is that this makes the code more complicated which is not great. \
-Perhaps we should think about this again.
-
-
-[stacking of features in a single column]
-Across = Important
-Down = Urgent
-Text = james would like to multiple feature types per column, we need to implement this \
-in a good way, e.g. allow user to specify ordering perhaps ?
-
-
-[long term plans]
-Across = Important
-Down = Not_Urgent
-Text = need another person, must plan for conferences.
-
-
-[document rationalisation]
-Across = Not_Important
-Down = Not_Urgent
-Text = The docs directories need sorting out. We should have a script which ensures \
-that the doxygen generated docs end up in the "docs" directory below src. The \
-makeQuad files should also end up there so we just have the one docs directory. \
-
-
-[install/user guide]
-Across = Important
-Down = Not_Urgent
-Text = We need to start these.
-
-
-[zmap vs. fmap]
-Across = Important
-Down = Urgent
-Text = We don't have: \
- \
-- clear indication of which forward/reverse strand - users want a line to separate... \
- \
-- need scale outside of sequence view - separate window using a canvas which would be resized \
-  to line up with selected display.... \
- \
-- recalculate button (fmap can do redraw and recalculate....can we do that....??) \
- \
-- no view of clones making up assembly \
- \
-- no text display with names of stuff \
- \
-- no "columns" button \
- \
-- no "redraw" button \
- \
-- no "dna" button \
- \
-- no "revcomp" button \
- \
-- no individual column button for configuring buttons \
- \
-- On/Off Rev strand                                                                      \
- \
-- Column hiding on magnification                                                         \
- \
-- embl entry display (pfetch -F <seqName>)                                               \
- \
-  - Superior feature view                                                                  \
-  - Superior feature list 
-
-
-[demos]
-Across = Important
-Down = Not_Urgent
-Text = need to add readpairs demo to our demo set + beef up how demos are run... \
-we also need a das demo.
-
-
-[bugs]
-Across = Important
-Down = Urgent
-Text = Here are some bugs we must fix.... \
- \
-  - memory leaking  features....need also to have this linked to fTOi mechanism for when things \
-   are deleted...                                                                       \
-  - scale                                                                                  \
-  - multiple sources                                                                       \
-  - feature list/view (I also think that there should be a way of clicking on  \
-a feature in the feature  in the feature          \
-list window and have the feature viewer popup.  
-
-[export features]
-Across = Important
-Down = Not_Urgent
-Text = we should export at least xml and gff3 (but perhaps do gff2 as a stop gap ?
-
-
-[print]
-Across = Important
-Down = Not_Urgent
-Text = we need a way to print displays....check gd library and other methods.
-
-
-[scale display]
-Across = Important
-Down = Not_Urgent
-Text = The scale needs moving into a separate slidable window like the other locators \
-so that it is always visible. It will have to be linked to scrolling in the \
-focus canvas. It will potentially need redrawing/relinking every time focus \
-canvas changes.
-
-
-[DNA display]
-Across = Important
-Down = Urgent
-Text = Need to add display of DNA, should include highlighting of exons etc. when \
-clicked on.
-
-
-[Focus change]
-Across = Important
-Down = Not_Urgent
-Text = The navigator needs to change as the focus changes and the buttons needs \
-to change their sensitivity, this is only partially done.
-
-
-[interaction with features]
-Across = Important
-Down = Not_Urgent
-Text = when you click on a feature in the window that shows the list of features, \
-the position scroll bar is not updated properly...needs the visibility \
-change callback to be called.
-
-
-[Region/Scroll scrollbars]
-Across = Important
-Down = Not_Urgent
-Text = The Region/Scroll scrollbars should be sorted to be the correct width by magic. \
-Can we add a double click to hide/show to the vertical line of dots??
-
-
-[glib logging glitches]
-Across = Important
-Down = Not_Urgent
-Text = if you let glib log routines output the message you get something like: \
-\
-process:554514): ZMap-WARNING **: (zmapAppwindow.c, line 103) - try this for size...\
-\
-\
-the bit upto and including the "**" is supplied by glib, BUT it does not do this if you use your \
-own logging routine which is a bit irritating.... \
-\
-There also seems to be bug in that glib seems to be messing about with fileptrs and hanging \
-on to them so that printf statements either don't appear at all or appear in the logfile\
-sometimes.....
-
-[multiple alignment support]
-Across = Important
-Down = Urgent
-Text = In order to support multiple alignments there will have to be changes to all of \
-zmapControl, zmapView and zmapWindow, it influences all of them. The changes need \
-not be too great if we can substitute a set of alignments for the single alignment \
-that View currently represents....But it will make view more complicated probably. \
- \
-Currently there is fudged code in zmapWindowDrawFeatures() in zmapWindowDrawFeatures.c \
-to allow us to start inserting more than one set of alignment data into a window.
-
-
-[Getting style information from servers]
-Across = Important
-Down = Not_Urgent
-Text = Currently the user has to have a styles file, this is because otherwise we have to query \
-the server and get all the types, this code is not impossible but is not written yet. \
-It needs doing, BUT, the user should still be able to override this with a list of \
-features that they want to see, gives the user control.
-
-
-[PANGO and FONTS]
-Across = Important
-Down = Not_Urgent
-Text = Check requirement of -DPANGO_ENABLE_{BACKEND,ENGINE} also fontconfig, see if we can fix/remove \
-"Fontconfig error: Cannot load default config file" \
-FONTCONFIG_PATH \
-FONTCONFIG_FILE 
-
-
-[GFF stuff]
-Across = Important
-Down = Not_Urgent
-Text = Add ability of caller to specify a start/end so this code will filter out anything not in the \
-start/end coords. May not be so easy though....what about clipped features...ugh...actually \
-its not so simple....bother.....we really want to filter as we process but we won't be able \
-to filter some features until we've seen all of them...sigh....yes, its actually quite tricky \
-and tedious... \
- \
-Need to scope how long it will take to do GFF3.....as this is what we really want....
-
-[Long item bug]
-Across = Important
-Down = Urgent
-Text = There is still a bug in the long item code so that it doesn't clip properly
-
-[transcript display]
-Across = Important
-Down = Urgent
-Text = There is bug: transcripts are narrower than their column...why ? Also, we \
-don't display cds and start/stop
-
-
-[file server interface code]
-Across = Important
-Down = Not_Urgent
-Text = the code in this directory is crude currently, here are some things that need doing: \
- \
-- should be able to read files other than GFF.......this will require some restructuring \
-  to provide a general file reading interface with specific parsers (preferably the same \
-  ones as are used for GFF, XML etc. etc. \
- \
-- error handling is probably less than complete. \
- \
-- there is no way to ask for just some features currently but this also applies to the server \
-interfaces as well....
-
-
-[cancel points in THREADs code]
-Across = Not_Important
-Down = Not_Urgent
-Text =  need to introduce pthreads_cancel_points into the code so that a cancel \
-will interrupt at good places....some thought needed here though to ensure \
-that we don't just litter the code with cancel points making it hard to \
-maintain...\
-\
-I think to some extent the main network reading calls get interrupted by \
-a cancel so that makes it all work better.
-
-
-[file utilities in Zmap utils]
-Across = Not_Important
-Down = Not_Urgent
-Text = The fileUtils all need sorting out, they should be rationalised into calls that get \
-files from the .ZMap directory and more general calls that construct path names etc.
-
-
-
-[zmapfeatures merge]
-Across = Important
-Down = Urgent
-Text = The merge needs work, currently it leads memory and is probably not as efficient as it \
-it should be. We should not copy across data but instead move pointers. \
-\
-Main thing is to protect whole GDatas that we move into our new sets and null out ones we \
-don't want. But also, what happens to datastructs of features that we have allocated but \
-no longer need...they should be freed.... \
-
-[ACedb tools: xremote and blixem]
-Across = Important
-Down = Urgent
-Block = SwapPhase II
-Text = The same should be done for a small library to launch blixem \
-given a sequence name/sequences.\
-\
-We will need a parameter/keyword in the config file to point zmap at the file to run\
-blixem, note this might be a cover script that itself runs blixem.
-
-[zmap configuration file]
-Across = Important
-Down = Urgent
-Block = SwapPhase I
-Text = The syntax of the properties in the configuration file needs to be constrained/decided \
-and coded for, probably to include a uri for data sources.  Will we still need format.  \
-The problem I see is file://... With http:// the header would tell us what it is.  However \
-with file the extension is probably the best guess we can make.  Does libcurl give us a response \
-callback we could check with?
-
-[zmap vs fmap display]
-Across = Important
-Down = Urgent
-Block = SwapPhase I
-Text = compare and contrast FMap display and ZMap display. Does ZMap look sane? \
-Has it drawn all the information?... Are we missing critical fmap features?
-
-[Bumping]
-Across = Important
-Down = Urgent
-Text = Support multiple types of bumping, still some bugs and need different sorts \
-including on key, and one for genomic_canonical to give assembly like display \
-showing clone overlaps
-
-[Updating]
-Across = Important
-Down = Urgent
-Text = We need to be able to dynamically update the zmap display and features \
-thereon.  Need an interface to create, modify and delete objects.  This needs \
-to be available to xremote.
-
-[zmap_remote]
-Across = Important
-Down = Urgent
-Block = SwapPhase II
-Text = support external calls via xremote mechanism, to allow external programs to drive zmap. \
-Review xremote code \
- \
-More stuff... \
- \
-> We would like to be able to at least support all of the current xremote                  \
-> commands, which from my calculations are:                                                \
->  * gif                                                                                   \
->  * seqrecalc                                                                             \
->  * seqget _SeqName_                                                                      \
->  * seqdisplay                                                                            \
->  * seqdisplay -visible_coords _Start_ _End_                                              \
->  * seqactions -rev_comp                                                                  \
->  * parse _FileName_                                                                      \
->  * writeaccess -gain                                                                     \
->  * save                                                                                  \
-> If you know of any more please let me know.  We would rather change the                  \
-> names for these commands, which will probably help with debugging in a                   \
-> test system if we find old commands coming from otterlace for example.                   \
- \
- \
-Looks like a complete list of our commands. I intend to replace all the                    \
-editing that the annotators currently do in tree view with Perl/Tk                         \
-interfaces, so you don't need to support that.                                             \
-                                                                                           \
-Feel free to change the names and structures of commands.                                  \
-                                                                                           \
-My only concern with xremote is whether we get useful feedback from                        \
-zMap. We get an exit status from xremote, but we don't get any                             \
-messages. Can we get feedback actually from the zMap, or is all that                       \
-xremote can say is that it sent the message to a valid window? It would                    \
-be nice, for instance, to be able to ask zMap what region it is                            \
-currently displaying.                                                                      \
-                                                                                           \
-I assume we will be launching the zMap process from our perl code.                         \
-Could it just print its X window ID on STDERR, and fork a child that                       \
-does the actual work (ie: daemon)? This would avoid us messing with the                    \
-filing system.                                                                            
-
-
-
-
-[zmap remote sematics]
-Across = Important
-Down = Urgent
-Block = SwapPhase II
-Text = what do we need to support. 
-
-[das 1 xml support]
-Across = Important
-Down = Not_Urgent
-Block = ReplacePhase
-Text = Otter wants to get features from ensembl databases.  There are das servers to serve this. \
-we should use this to replace the need to download to ace.
-
-[otter xml support]
-Across = Important
-Down = Not_Urgent
-Block = ReplacePhase
-Text = when das 1 works it should be easier to get zmap to understand otter xml
-
-[read features from pipeline database]
-Across = Important
-Down = Not_Urgent
-Block = ReplacePhase
-Text = More replacement of acedb .ace files
-
-
-[otter lace stuff]
-Across = Important
-Down = Urgent
-Block = ReplacePhase
-Text = 1) Lace - > sgifaceserver, Roy needs to check code works or if it needs                    \
-tweaking.  Add -readonly and have zmap and xace launch together.                           \
-                                                                                           \
-2) Otterlace -> zmap, protocol + support code ready, but actual operations                 \
-not finished.  Roy needs to look @ it.                                                    
-
-
-
-[local blast execution]
-Across = Important
-Down = Not_Urgent
-Block = ReplacePhase
-Text = Otter does some local blast searches against a user's database and creates ace files for \
-otter/Fmap.  What can we do with regards this?
-
-[editing]
-Across = Important
-Down = Not_Urgent
-Block = editing
-Text = decide on editing mechanism. \
-Do our own interface... <br/>\
-xremote -> DAS2 translation... <br/> \
-xremote -> Otter translation.. 
-
-[buttons and control level]
-Across = Important
-Down = Not_Urgent
-Text = Sensitivity of buttons is all out of whack.  This needs a state reading/setting routine \
-to modify their sensitivity in a similar way to zoom buttons.  Menu items of main menu should \
-also be included in this design. (comment unused ones ATM [Urgent]).  The display layout is also \
-currently not optimal.
-
diff --git a/doc/obsolete/design_notes.shtml b/doc/obsolete/design_notes.shtml
deleted file mode 100755
index ad809ba30..000000000
--- a/doc/obsolete/design_notes.shtml
+++ /dev/null
@@ -1,287 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-<HEAD>
-	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
-	<TITLE>ZMap Design</TITLE>
-	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.0.2  (Linux)">
-	<META NAME="CREATED" CONTENT="20041209;15311400">
-	<META NAME="CHANGED" CONTENT="20041209;15390800">
-	<!--#include virtual="/perl/header" -->
-	<!--#set var="author" value="edgrif@sanger.ac.uk" -->
-</HEAD>
-
-<BODY LANG="en-GB">
-<BLOCKQUOTE>The purpose of this document is to be a repository for
-all aspects of the design of ZMap. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>Pictures are allowed, just include them in the cvs
-directory. 
-</BLOCKQUOTE>
-<H1 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Requirements,
-Wish Lists, Suggestions etc.</H1>
-<H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Requirements</H2>
-<BLOCKQUOTE>Record anything here that is essential to ZMap. 
-</BLOCKQUOTE>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Mapping
-in the client</H3>
-<BLOCKQUOTE>We should strongly consider putting a modified (i.e.
-acedb-less SMap) into the client, this would allow the client to map
-different sorts of data onto its virtual sequence provided it had the
-initial mapping from the new data to its own virtual sequence. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>This would be very powerful because it would mean the
-client could accept data from many sources and map it as long as it
-had the extent of the data in the virtual sequence. 
-</BLOCKQUOTE>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">How
-to indicate strand</H3>
-<BLOCKQUOTE>In acedb we have traditionally had the down strand to the
-right and the up strand to the left of the scale, this has some
-advantages but could be augmented visually with exons that had pointy
-bits to show their direction etc. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>We could go for everything being shown on one side of a
-scale but this seems a bit retrograde to me, the display is actually
-something that marks the fmap out from other viewers in a good way. 
-</BLOCKQUOTE>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Richer
-glyph set</H3>
-<BLOCKQUOTE>We need a richer glyph set, perhaps with exon shapes that
-indicate direction and other such stuff, e.g. how about indicating
-start/end_not_found etc. 
-</BLOCKQUOTE>
-<H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Wish
-List</H2>
-<BLOCKQUOTE>Record anything here that you would like to be considered
-but is non-essential. 
-</BLOCKQUOTE>
-<UL>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">Allow user to
-	interactively retitle a window, v. useful when there are lots of
-	fmap windows on a screen. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE>Prevent users from zooming in/out to the point where
-	the drawing code breaks, particularly for zooming in where lines
-	start to randomly appear/disappear. 
-	</BLOCKQUOTE>
-</UL>
-<H1 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Design</H1>
-<H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Overview</H2>
-<H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Layering</H2>
-<BLOCKQUOTE>The code has been arranged in layers, explicit function
-calls (i.e. calls made by coding the name of the function rather than
-by using a pointer to a function) are allowed to layers below but <B>NOT</B>
-to layers above. This is paramount in maintaining the independence of
-layers from one another. Calls can only be made to layers above via
-the callback function mechanism. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>Here is an attempt to capture the layering in ZMap, of
-course it will go out of date rapidly but it provides an overview at
-least: 
-</BLOCKQUOTE>
-<PRE STYLE="margin-left: 1cm; margin-right: 1cm">zmapApp                                   zmapManager                     zmapControl
-=======                                   ===========                     ===========
-
-createAppContext()        ---------&gt;   zMapManagerCreate()
-
-
-removeZmapRow()           &lt;---cb----   removeZmapEntry()
-
-
-                                       zMapManagerAdd()     ---------&gt;    zMapCreate()
-                                       zMapManagerReset()   ---------&gt;    zMapReset()
-                                       zMapManagerKill()    ---------&gt;    zMapDestroy()
-
-                                       zmapDestroyedCB()    &lt;---cb----    killZMap()
-
-
-
-
-                      contd from above..........
-
-
-zmapControl                 zmapView
-===========                 ========
-
-zMapCreate()   --------&gt;  zMapViewCreate()
-                          zMapViewConnect()
-
-zmapControlLoadCB()
-               --------&gt;  zMapViewConnect()
-                          zMapViewLoad()
-
-zmapControlResetCB()
-               --------&gt;  zMapViewReset()
-
-
-killViews()    --------&gt;  zMapViewDestroy()
-
-
-viewKilledCB() &lt;---cb---  checkConnections()</PRE><H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">
-Documentation</H2>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Source
-Code docs</H3>
-<BLOCKQUOTE>We are using the <A HREF="www.doxygen.org/index.html">doxygen
-package</A> for documenting our source code. This seems to work well
-and does just about everything we need, it builds and improves on the
-DOC++ package which seems to no longer be under active development. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>Some notes about using doxygen: 
-</BLOCKQUOTE>
-<UL>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">doxygen looks for C
-	comment blocks that start with &quot; <B>/*!</B> &quot;. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE>For C language files it is imperative that you
-	include either a &quot; <B>/*! \file */</B> &quot; or &quot; <B>/*!
-	@defgroup</B> &quot; special comment in each file to be documented
-	otherwise doxygen will <B>not</B> process the other comments in the
-	file. 
-	</BLOCKQUOTE>
-</UL>
-<BLOCKQUOTE>A suggested standard is that for each package within ZMap
-(e.g. zmapConfig) the external interface functions are documented in
-the source files where they occur and the external typedefs etc. are
-documented in the public header for the package. This has the
-advantage that all the comments are next to the code that would be
-editted if the interface has to be changed, i.e. function comments
-are next to the functions, typedef comments are next to the typedefs
-and so on. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>For an example of this see the documentation of the
-zmapConfig code in <B>include/ZMap/zmapConfig.h</B> and
-<B>zmapConfig/zmapConfig.c</B>. Note the use of the &quot; <B>/*!
-@addtogroup</B> &quot; directive to add the <B>include/ZMap/zmapConfig.h</B>
-documentation to that in <B>zmapConfig/zmapConfig.c</B>. 
-</BLOCKQUOTE>
-<H2 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Configuration
-Files</H2>
-<BLOCKQUOTE>The Lexical Scanner package within GLib is used to read
-and write configuration files. The package requires a fair bit of
-work from the applications side to process stanzas and so on but
-using it has the advantage that we do not need to link in any further
-libraries. We could for instance have used the libgnome gnome-config
-calls, (see:
-http://developer.gnome.org/doc/API/2.0/libgnome/libgnome-gnome-config.html)
-but this would have required linking in the whole of the gnome
-application stuff). 
-</BLOCKQUOTE>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Memory
-usage</H3>
-<BLOCKQUOTE>An experiment with creating rectangles in a gnome canvas
-showed that memory overhead is quite high. The upshot is that each
-canvas_item rectangle costs about 2600 bytes, this is probably
-because each one is represented by a GObject. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>You can see a plot of this data by running gnuplot and
-displaying the file gnome_canvas_mem_usage from this docs directory. 
-</BLOCKQUOTE>
-<PRE STYLE="margin-left: 1cm; margin-right: 1cm">&gt; gnuplot
-gnuplot&gt; plot &quot;gnome_canvas_mem_usage&quot;</PRE><H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">
-Meeting Notes - Friday, 7th Feb, 2004</H3>
-<BLOCKQUOTE>Rob has made some progress determining what the Zmap and
-Fmap graph calls do and how to replace them with gtk calls, etc. The
-only relevant calls seem to be box, text and line, though there was
-one fmap circle call. This should be fine. He has created a zmap
-which uses gnomecanvas for the navigator and scrollable windows.
-There are issues with the scale bars which need to be addressed and
-there are numerous graph calls still included which need to be
-removed. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>He also has a noddy application with a nice-looking scale
-bar with coordinates and a feature consisting of two boxes joined by
-a bent line which also uses the canvas. This is a useful application
-for prototyping aspects of the project. Ed has done lots of work on
-threading and now has an application which has a single thread
-running a rather thin manager with multiple Zmaps, each of which will
-issue a DB thread to handle data manipulation. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>He returned from sunnier climes with a DAS2 server
-application which we hope to get set up so we can do some work using
-that as well as AceDB as our data source. He also has ExPat and
-libcurl libraries which do SAX simple Access and gzip and zlib which
-handle compression. 
-</BLOCKQUOTE>
-<BLOCKQUOTE>Apparently this means our http can have &lt;stag&gt;
-content &lt;etag&gt; and our start callback routine will get called
-when it encounters the stag, the content routine gets called for the
-content and the end routine gets called for the etag. 
-</BLOCKQUOTE>
-<H3 STYLE="margin-left: 1cm; margin-right: 1cm; margin-top: 0cm">Decisions</H3>
-<OL>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">We decided that when the
-	user hits the Split button it will just be the currently active
-	window that is split, as in emacs, although the windows themselves
-	will be held as a linked list at root level, so there won't be a
-	hierarchy of windows in the application; they'll all have the same
-	status. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">There must be an
-	arbitrary minimum size window which we'll allow to split, and beyond
-	that the Split button will be greyed out. This will be controlled by
-	some publicised macro I think. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">We will only allow one
-	sequence per Zmap. If they want another sequence, they'll have to
-	run another Zmap. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE>We will retain the concept of three levels of
-	scrolling. The main sequence will show as some sort of slider bar
-	covering the entire height of the navigation panel. This can be
-	thought of as range 'a'. The user can scroll within this area but
-	the display won't change until buttonup, at which point the lights
-	will dim. While moving the scroll bar, a little window should show
-	the current coordinate, so they know where they are in the scroll. 
-	</BLOCKQUOTE>
-	<BLOCKQUOTE>Within that is the sequence which has been calculated,
-	roughly 3 times the amount that can be displayed in the window. This
-	is currently shown as a light grey area within the navigation panel
-	and can be thought of as range 'b'. 
-	</BLOCKQUOTE>
-	<BLOCKQUOTE>We're thinking of adding a small scroll bar to this
-	greyed are to allow the user to scroll within the calculated part of
-	the sequence. We'd need to add extra scroll bars as the user split
-	the screen, one per window. The handle would indicate roughly where
-	in area 'b' the window display 'c' would be. Ed thinks recalculating
-	this area as we scroll would be time-consuming, so we'd have to just
-	redo it on buttonup, but I'm not convinced yet. If he's right, we'll
-	need a little window showing the current coordinate for each 'c'
-	window. 
-	</BLOCKQUOTE>
-	<BLOCKQUOTE STYLE="margin-bottom: 0cm">Finally, there is the range
-	actually on display, range 'c'. This is scrolled with the current
-	scrolled window scrollbars and the display scrolls as you do it. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE STYLE="margin-bottom: 0cm">We'll need drag bars on
-	the top and bottom of the calculated area b, so the user can stretch
-	it, and the code must supplement the SEGS array rather than
-	recalculate it from scratch. 
-	</BLOCKQUOTE>
-	<LI><BLOCKQUOTE>When we calculate, we always calculate whole
-	objects, so if a feature overlaps into the void, we include it in
-	our calculated area, though we don't actually display it. When the
-	user stretches the calculated area, we again calculate whole objects
-	in both directions, then throw away duplicates, so we never have
-	partial or duplicated objects. 
-	</BLOCKQUOTE>
-</OL>
-<HR>
-<H3>Column Controls</H3>
-<P>Press the button, a list of <!--#include virtual="/perl/footer" -->
-columns comes up, each with a check button.  Default is all on.  User
-toggles the check buttons to control whether or not a column is
-displayed.  On Dismiss, call flagColumnsByCheck() to set flags in the
-ZmapWindow columns array of structures, then call showHideColumns()
-to show or hide them.  Then call reOrderColumns() to shuffle the
-visible ones up.</P>
-<P>ShowHideColumns() will now be controlled by the ZmapWindow columns
-array, rather than the mag factor in the types array, so we'll need a
-flagColumnsByMag() function to set things up initially from the types
-array.</P>
-<P>ReOrderColumns() should use the ZmapFeatureType column_order
-variable to determine the order of the columns.  A single int should
-be fine for both forward and reverse strands.</P>
-<P>I started to do this 08/12/04 but we decided there were higher
-priority tasks, so I'm abandoning it for now.</P>
-</BODY>
-</HTML>
diff --git a/doc/obsolete/issues.html b/doc/obsolete/issues.html
deleted file mode 100755
index 24c1ff160..000000000
--- a/doc/obsolete/issues.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<HTML>
-
-<HEAD>
-<TITLE>ZMap Issues</TITLE>
-</HEAD>
-
-<BODY>
-<H2>ZMap Issues</H2>
-
-<p>This is a record of stuff that we want not to forget in case we want
-to look at again and make sure it's been properly resolved.
-<hr>
-<ol>
-<li>In zmapbccol.c at line 286 was a call to bumpItem(), but sometimes
-   the bc->bump it passes as first parameter is null.  bumpItem is a
-   macro that executes (w1/bump.c) bumpAdd and it is here that the code
-   segfaults when bc->bump is null.
-<font color = "red">   <pre>
-#define bumpItem(_b,_w,_h,_px,_py) bumpAdd(_b,_w,_h,_px,_py,TRUE)
-</pre>
-<font color = "green"><pre>
-BOOL bumpAdd (BUMP bump, int wid, float height, 
-	      int *px, float *py, BOOL doIt)
-     /* works by resetting x, y */
-{
-  int i, j ;
-  int x = *px ;
-  float ynew, y = *py ;
-
-  if (bump->magic != &BUMP_MAGIC)
-    messcrash ("bumpAdd received corrupt bump->magic");
-   </pre>
-   <font color = "black">
-   <p>
-   For now, I've put in if(bc->bump) but that might not be right.
-   <font color = "green"><pre>
-	    if (bc->bump)
-	      bumpItem(bc->bump, 1, seg->x2 - seg->x1, &xoff, &y);
-   </pre><font color = "black">
-</li>   
-<li>There is no No 2.
-</li>
-</ol>
-<hr>
-</body>
-</html>
diff --git a/doc/obsolete/lace.changes b/doc/obsolete/lace.changes
deleted file mode 100755
index 1d60ddc39..000000000
--- a/doc/obsolete/lace.changes
+++ /dev/null
@@ -1,141 +0,0 @@
-Roy,
-
-
-List of changes to put zmap into lace....
-
-
-1) otter/ensembl-otter/modules/Bio/Otter/Lace/Client.pm
-
-- add zmap port configuration
-  (Done rds)
-- add zmap window_id directory configuration
-  (Done rds)
-- Methods addded to Client
-  (Done edgrif)
-
-- add browser to otterlace options and correctly create the correct objects
-
-
-otter/tk/MenuCanvasWindow/XaceSeqChooser.pm
-
-- launch_zmap() and get_zmap_xwindow_id() added to launch zmap instead of xace.
-
-
-
-otter/PerlModules/Hum/Ace/XaceRemote.pm
-
-- copy to XzmapRemote && s/(x)?ace/zmap/
-
-
-
-
-
-
-Some notes....
-
-XaceSeqChooser.pm and ZMapSeqChooser.pm have a lot of common code which I
-guess will go away if zmap replaces xace.  For now I have just copied
-XaceSeqChooser.pm and hacked it to produce ZMapSeqChooser.pm.
-
-
-
-Loci
-----
-
-There is a lot of code to support manipulation of Locus objects and their
-asssociated display in fmap. I assume that this is mostly about showing the
-annotator what they have changed rather than using acedb as a repository of
-edits which then have to be extracted from the acedb database later.
-
-
-Methods
--------
-
-The code adds a method for showing genes if it does not exist in the database,
-it has color=blue and cds_color=midblue. The name comes from Defaults.pm and
-maybe from other places.
-
-I'm not sure from the code I've looked at how the methods are used. Need to find
-this out as we will be dealing with "types" or styles....
-
-
-
-
-
-Xremote Commands used:
-
-Are issued from the xace_remote object which includes the following methods:
-
-Method							Purpose
-
-$xr->load_ace(<data to be parsed into acedb>)   	issues parse command add/modify/delete data
-
-$xr->save						tells acedb to save to disk
-
-$xr->send_command(<string>)				sends specified string which must be a
-							recognised acedb command to acedb
-
-
-
-Functions:
-
-
-Function		XaceSeqChooser.pm			ZMapSeqChooser.pm
-
-
-update_ace_display	'gif ; seqrecalc'			'recalculate'
-
-We should check how this is used, if its purpose is to simply show a small update to
-perhaps exon boundaries or whatever then we should include in the recalculate command
-the item + coords to be updated and then do that directly in the zmap, not go through
-and recalculate the whole lot again.
-
-The function receives some ace file format data which it sends to acedb to be parsed in,
-it then saves and recalculates the fmap.
-
-
-save_data
-
-tries to do a save of the database and then may restart xace displaying the
-saved data.
-
-
-
-
-attach_xace		'writeaccess -gain'			'writeaccess'
-
-Is this needed for lace ? In the lace system perhaps all updates could be via the otter-lace
-interface.
-
-
-
-
-
-get_zmap_xwindow_id	'writeaccess -gain'			'writeaccess'
-
-Remarks as above.
-
-
-
-
-delete_subsequences	'gif ; seqrecalc'			'recalculate'
-
-Remarks as before, with the addition that this routine makes up a command to be
-parsed into acedb to remove objects and then saves and does a recalculation. To
-duplicate this we would need to do a recalculate but pass over the names of
-things to be removed.
-
-
-
-edit_new_subsequence	integers_from_clipboard
-
-An indirect interaction with fmap, xace can be configured so that it puts the coords
-of a feature in the clip board when the feature is selected. We need to replicate
-this function.
-
-
-
-
-
-
-
diff --git a/doc/obsolete/porting_install.shtml b/doc/obsolete/porting_install.shtml
deleted file mode 100755
index b55a10d09..000000000
--- a/doc/obsolete/porting_install.shtml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--#set var="banner" value="ZMap Developer Docs"-->
-<!--#include virtual="/perl/header"-->
-<!--#set var="author" value="edgrif@sanger.ac.uk" -->
-
-<h1>Porting and Installation Notes</h1>
-
-
-<h2>Mac OSX</h2>
-
-
-<h3>compiles</h3>
-
-<P>The compile environment on the Mac is basically gcc et. al. so all should be
-very straight forward, but.....
-
-<ul>
-  <li><b>Linking and expat</b>
-      <ul>
-	<li><b>Problem</b>we had problems linking with expat for a while because there
-	    seemed to be a rogue
-	    copy of expat in the Mac X11 libraries ! As this was back level it messed up our
-	    code.
-	<li><b>Solution</b>This problem seems to have gone away now (OSX 10.3.9)
-      </ul>
-</ul>
-
-<h3>DDD</h3>
-
-<P>We had problems with ddd and getting it to find the source code correctly.
-
-<P>In the end we had to comment out the following line in ~/ddd/.init:
-
-<P><pre>set pathname-substitutions
-</pre>
-
-<P>this seems to work now.
-
-
-<p>
-<!--#include virtual="/perl/footer"-->
-
diff --git a/doc/obsolete/user_guide.shtml b/doc/obsolete/user_guide.shtml
deleted file mode 100755
index 92301474d..000000000
--- a/doc/obsolete/user_guide.shtml
+++ /dev/null
@@ -1,53 +0,0 @@
-<pre>
-
-Roy,
-
-Some instructions for running zmap just to get you started....
-
-
-1) Setting up a .ZMap profile
-========================================================================
-
-cd
-
-mkdir .ZMap
-
-cd .ZMap
-
-cp ~edgrif/.ZMap/ZMap.roy ZMap
-
-cp ~edgrif/.ZMap/ZMapTypes.roy ZMapTypes.roy
-
-(note the name of the types file must match that given in the .ZMap/ZMap file)
-
-
-2) Setting up an acedb + database
-========================================================================
-
-cp ~/edgrif/acedb/CODE/acedb/bin.LINUX_4/sgifaceserver  /wherever/you/want/to/put/it/
-
-cp -r ~edgrif/acedb/databases/b0250  /wherever/you/want/to/put/it/b0250
-
-
-3) starting the acedb server
-========================================================================
-
-sgifaceserver /wherever/you/want/to/put/it/b0250 20000 0:0
-
-(note that the port number must match that given in the file ~/.ZMap/ZMap
-and you must be running the server on the machine given there.)
-
-
-4) running zmap
-========================================================================
-
-zmap [  [ --start=NNN  --end=NNN ]  sequence_name ]
-
-
-try this to start:
-
-zmap b0250
-
-
-Ed
-</pre>
diff --git a/doc/project/2005_03_09.meeting b/doc/project/2005_03_09.meeting
deleted file mode 100755
index fac1f9be1..000000000
--- a/doc/project/2005_03_09.meeting
+++ /dev/null
@@ -1,106 +0,0 @@
-ZMap Meeting
-
-Date: 09.03.2005
-
-Present: Richard, Tim, Roy, Ed
-
-
-Aim:
-
-We want to get annotators trying out zmap in the lace system as early as
-possible. zmap will stand or fall by whether it is better to use than
-xace/fmap, its important to design a user interface that implements features
-that annotators will find useful.
-
-
-Overview:
-
-The lace system in essence merges various data sources into an acedb database,
-runs xace on the database allowing the annotators to use fmap to display the
-sequence. The lace system then provides its own GUI for the annotators to edit
-data, this GUI drives xace via the xremote mechanism to update its display and
-the local database as annotations are made.
-
-
-Plan:
-
-From this several requirements emerge for the intial integration of zmap:
-
-- replace xace with the sgifaceserver
-
-- run zmap off the sgifaceserver
-
-- add xremote commands to zmap: zmap already supports some commands but
-  requires several more to replicate the existing interface
-
-- add support to call blixem/dotter, this will be using the same mechanism as
-  xace does when calling them externally.
-
-
-This in essence would allow the annotators to use zmap for annotation. In
-practice it is certain that there will be missing functions but it will give
-us a system that we can develop in tandem with them.
-
-
-Future:
-
-The merging of data into an acedb database is a weak link in the lace system
-and the longer term aim is to remove any need for it by having zmap extract
-data directly from the mysql, ensembl etc. databases. Once the intial system
-is working these individual data sources can be picked off one by one.
-
-
-Decisions:
-
-It was agreed that being able to display multiple alignments would make zmap
-significantly better than the current fmap and that this should be a priority.
-The display of alignments should not be limited in the number of alignments
-that can be displayed.  It was also agreed that display should be of "blocks
-of features" of one or more alignments against a master sequence rather than
-the more familiar but confusing "crossing line displays".
-
-Compara/ensembl can provide data for Dog-Human already and this should be the
-data source for our first experiments with multiple alignment display.
-
-The most straight forward approach to getting multiple alignment data is to
-code a perl DAS server to use the ensembl interface to retrieve the sets of
-features already mapped. The ZMap will interface to this server to make
-requests for the alignment data. In this way we will not have to add mapping
-code or understand the Compara alignment scheme in detail. This would mean
-however that zmap could not swop the reference/alignment sequences around
-without fetching all the data again.
-
-It was agreed that if we do add mapping code to ZMap, then this should be a
-subset of the smap code to do more restricted mapping translations. In
-addition a new function would be needed to map multiple alignments as the
-current code while dealing mapping over gaps expects the mapping as a whole to
-be colinear.
-
-Blixem and dotter will be supported although it would be good to remove the
-need to use blixem simply to verfiy splice site boundaries in relation to
-homologies.
-
-We should look at changing the lace xremote interface so that when edits are
-made, zmap can simply update the single feature updated rather than completely
-refetching the data.
-
-Also that zmap should initially not do any editing, unlike current xace, where
-at least remarks/comments are set using the xace display. This seems like a
-trivial addition to the otterlace interface, that I imagine would be
-relatively easy for anacode to set up. We need to look at how the editting
-cycle works in the current lace/xace setup.
-
-
-Zmap does not currently display a number of datatypes that will be needed, e.g.
-Stops, the frame translations, the actual sequence.
-
-
-We will provide web pages that document:
-
-- the xremote interface between lace and xace
-
-
-- data types (e.g. feature, transcript) and styles/methods
-
-
-- GUI interactions in the context of data types/methods
diff --git a/doc/project/2005_03_23.meeting b/doc/project/2005_03_23.meeting
deleted file mode 100755
index 0557e2955..000000000
--- a/doc/project/2005_03_23.meeting
+++ /dev/null
@@ -1,60 +0,0 @@
-ZMap Meeting
-
-
-Date: 23.03.2005
-
-
-Present: Richard, Ed, Roy
-
-
-Decisions:
-
-It was agreed that we need to work more on the integration of zmap into
-the otterlace system. To this end the launching of both xace and zmap from
-otterlace should be possible.  Whilst we have a prototype working,
-which has replaced xace with zmap and a sgifaceserver, it is by no means
-production quality and needs work.
-
-Currently using Compara and a DAS server to dynamically serve align
-features appears to be off the cards at the moment.  It was decided a
-static solution, most probably for the NOD/normal mouse comparisons that
-Charlie Steward is working on would be a good start to a)  provide the
-data to prototype the display and b) create a visualisation tool for
-Charlie's annotation efforts.
-
-There was some discusion about two way communication between zmap and the 
-Perl/Tk layer of otterlace to facilitate a richer user experience.  James 
-has already requested a feature of the new interface should be to request 
-information from zmap and the concept of zmap being able to send otterlace 
-information when something changes in zmap sounds like a reasonable 
-possibly in terms of implementation.
-
-The demonstration of zmap highlighted a number of issues with respect to 
-the GUI interaction.  
- - A selected feature should be highlighted in all views
- - A selected feature should have it's "friends" highlighted
- - Zooming and scrolling should be "locked" by default and user 
-   "unlockable".  
- - A v-split should by default lock the vertical scrolling between a pair 
-   of views
- - A h-split should by default lock the horizontal scrolling between a 
-   pair of views
- - scrolling should by default be locked between a pair of views
- - the display should be centred on click
- - Rich visualisation should be possible from context menus. e.g. the 
-   spliting of an intron to display the whole gene, 5' end of the intron 
-   and 3' end. (see attachment split_intron.png)
- - the currently focused view should be more obviously the currently 
-   focused view
-
-It was agreed we should provide a release/demonstration version of zmap 
-for each meeting.
-
-It was agreed the website needs further organisation/work and that a 
-zmap@sanger.ac.uk mail alias/list is a good idea.
-
-Our next meeting will be in three weeks at 1.00pm on the 19th April.
-
-
-
-
diff --git a/doc/project/2005_04_19.meeting b/doc/project/2005_04_19.meeting
deleted file mode 100755
index 41d47ea59..000000000
--- a/doc/project/2005_04_19.meeting
+++ /dev/null
@@ -1,93 +0,0 @@
-ZMap Meeting
-
-
-Date: 23.04.2005
-
-
-Present: Richard, Ed, Roy, Rob
-
-
-ZMap/otterlace:
-
-Roy has a prototype system with lace starting simultaneous xace/zmap processes
-which is good for comparison. He has been working on the atom/property
-communication system as the existing xremote code cannot give us all that we
-want.
-
-Roy has added code to Perl/Tk to do atoms/properties...amazingly this is
-missing from the Tk interface. We have a working system so that James can
-write perl to directly control the atoms/properties to communicate with
-zmap. A substantial improvement over the old system.
-
-
-Compara:
-
-We have not worked on this more.
-
-
-
-zmap GUI:
-
-Ed has been working on locking of windows and this is working, highlighting is
-on the way.
-
-The currently focussed view is more obvious but its hard work with gtk.
-
-The code is now in-place to more quickly do things like the intelligent viewing
-of transcripts.
-
-
-
-ZMap demo code/website/mail:
-
-There is now a ~acedb/ZMap, the demo code for alphas is:
-~acedb/ZMap/ZMap/src/zmap
-
-We now have a "zmap" mail alias set to Ed, Roy and Rob.
-
-Rob will be doing some work to set up web pages for the web site.
-
-
-
-Decisions:
-
-We need to produce a demonstration of zmap working alongside of xace in the
-lace system that is good enough that an annotator can start to try it out. In
-particular this needs to show how zmap will display multiple alignments as
-this is seen as a key factor in annotators wanting to use zmap at all.
-
-Ed will:
-
-	- this week send out an email to James, Jen, Tim (cc'ing us) saying
-	that we will produce the demonstration zmap, giving an idea of what
-	it will do and suggesting/soliciting opinions about who would be
-	a good person to test it.
-
-	- send Richard an email on 9th May detailing more precisely what the
-	demo. zmap will do, how it can be used etc.
-
-We will produce the demo. zmap for the 23rd May to show to Richard in our next
-zmap team meeting on that day. The demo. will need to include facilities that
-the annotators commonly use e.g. blixem.
-
-An obvious annotator would be Charlie as he is working the NOD and Black6
-mouse variants and this would provide a good test of the multiple alignment
-display.
-
-
-We also discussed:
-
-- we need to decide on the semantics of single/double clicking on features
-
-- the feature list needs some enhancements/fixes (e.g. it should centre on the
-feature the user clicked on).
-
-- we could allow the user to supply a list of their own features (like the
-"keyset" concept of acedb), this would not necessarily be features of the same
-type. This would be useful but is not seen as a priority.
-
-
-
-Our next meeting will be in three weeks at 1.00pm on the 23rd May.
-
-
diff --git a/doc/project/2006_01_06.meeting b/doc/project/2006_01_06.meeting
deleted file mode 100755
index 63a5b841e..000000000
--- a/doc/project/2006_01_06.meeting
+++ /dev/null
@@ -1,165 +0,0 @@
-ZMap Meeting
-
-
-Date: 06.01.2006
-
-
-Present: Ed, Roy
-
-
-
-lace system:
-
-status - needs testing for robustness and speed...  **EG to install on his account and try it.
-
-problems -
-
-Currently 
-
-Actions - **Roy to arrange a meeting with James et al. to dicuss following issues:
-
-1) Does the lace system read any data from the acedb database at the end of the
-session or is the database effectively READONLY ? 
-
-2) Unique ids...can James supply these in the data from the database so we can read
-them directly. We already have a slot in our feature data struct for them. This unique
-id may be good to use in a separte hash of unique_ids -> canvas features which could
-unambiguously go from one to the other.
-
-3) Genefinder - can this be run from the perl code and then the results sent across
-to us as a Style + the data ? It makes for this to be done in the lace layer because
-gene finder is principally about interactive annotation.
-
-4) we have a performance problem with the g_dataset, to circumvent this can we reduce
-the number of homols being displayed ?
-
-5) Can we migrate quickly from the dual xace/zmap system to a zmap only system. **RS to check.
-
-6) discuss adding whole columns with James, e.g. genefinder data.
-
-
-
-XML-xremote mechanism:
-
-Currently we do not have the basic functions to add/modify/remove features to support
-this. We need this, and we may also need a function to get the server to parse in
-data. Can be tested via the feature editor. **EG to make sure this works.
-
-We need to review the operations in the XML-xremote interface, **RS to do this.
-
-We will need the xremote mechanism to dynanically add whole columns. This will involve
-operations to do at least:
-
-- adding the column name into our column list so it appears in the correct position
-in the columns.
-
-- adding the style for the column to our set of styles _before_ we are given the column
-itself.
-
-- adding a whole column with data.
-
-
-
-
-ZMap Display:
-
-- transcripts now display the CDS but not start/end not found. This data should be
-dumped in GFF and available.  **RS to check this out.
-
-- separate scale window...not done but not a priority.
-
-- 3-frame translation, not done  **RS to code this.
-
-- reverse complement, not done   **EG to investigate, will users be prepared to put up
-with the hit of refetching the data or should we fudge it locally. Check how acedb does
-this now, I think Simon changed it not to cache data so much.
-
-- DNA highlighting - EG thinks he may have broken it in moving the code for
-the DNA into ordinary feature group.  **RS to check.
-
-- mulitple feature types in a single column needs checking to see if it is still
-working. **EG to do this.
-
-- blixem needs to be checked to see it still works. **EG to do this.
-
-
-- methods and columns and things: we had a useful dicussion about these and came
-up with:
-
-	- we need to publish a list of "reservered" style/method names for
-	columns that are either derived dynamically or special in some way,
-	e.g. dna, genefinder output, 3-frame translation. The user can create
-	styles with these names and their style will be applied to these specific
-	datasets (if available, e.g. the dna may not be available). The user
-	cannot use these names for their own columns/data, they are reserved.
-
-
-In addition the rules concerning display will be tightened to be:
-
-- if any column is not in the columns list it will not be displayed.
-
-- if a column is in the columns list but there is no style for it, it will not be
-displayed.
-
-i.e. columns without styles will be removed from the columns list and will
-not be displayed.
-
-
-
-g_dataset problem:
-
-To recap: 
-
-the glib g_dataset code grinds almost to a halt while we are processing the GFF
-from the server. We've not been able to profile this well within our threaded
-environment sadly. What we do know is that it seems to spend a lot of time in
-a free routine so it maybe a problem with glibs chunk routines for allocating
-blocks of memory. It may also be, as Roy suggests, that its having to search
-longer and longer lists of blocks...
-
-solution is to write a small program that uses the GFF parser to read in a file,
-this should be simple, in a single threaded program and see where the problem is.
-
-A temporary solution is to try and reduce the enormous number of homols being
-displayed.
-
-
-
-Styles, Features and canvas item drawing....:
-
-this is an old chestnut...what decides how a feature is drawn ? Is it only
-the style ? Is it the feature type (e.g. allele etc.) ? In acedb the feature
-type was the thing that decide it. We wanted to generalise this but there
-is a problem in that if the style is the only thing its hard to make pop-up
-menus and other things that are specific to certain feature types unless
-you add a feature type field to the method/style which means that now the
-style is the feature...and in any case the feature just contain exons etc
-so it is the feature as well...it just doesn't really work...
-
-So this is our sytem which is a blend...
-
-
-Feature				drawn shape			Style
-
-
-BASIC		=>		read shape from style		read shape as basic box,
-								splice markers (for genefinder)
-								constant shapes (for alleles)
-
-
-TRANSCRIPT	=>		usual transcript shape		read for colours
-
-
-ALIGNMENT	=>		usual align shape		read for colours
-
-
-This works because there three basic feature types should be enough to allow popup menus etc
-to work well but then we can avoid having endless types fields for alleles etc by having a
-drawing type in the style which will sort all this out.
-
-So in otherwords, the feature type decides what type of main shape the feature will be
-drawn as, but the style allows tailoring of the basic feature types.
-
-
-
-
diff --git a/doc/project/2007_02_07.meeting b/doc/project/2007_02_07.meeting
deleted file mode 100755
index f461d3d85..000000000
--- a/doc/project/2007_02_07.meeting
+++ /dev/null
@@ -1,196 +0,0 @@
-ZMap Meeting
-
-Date: 07.02.2007
-
-Present: James, Leo, Roy, Ed
-
-Overview:
-
-There are  currently a few  missing links in the  interactions between
-zmap  and otterlace,  specifically, only  editing is  possible  at the
-moment.   We  should   be  doing  more  to  support   things  such  as
-highlighting objects  in both programs  after selection in one  or the
-other.   This  includes multiple  selection.   In  addition there  are
-further  operations we  need  to be  able  to do  like  opening a  new
-sequence in zmap.
-
-
-Discussion:
-
-Currently the xremote interactions are only at edit time and generally
-all follow the same style of xml, namely:
-
-<zmap action="__action__">
-  ... data to complete the action ...
-</zmap>
-
-This is fine for editing at the moment, but I can see it all getting a
-little confusing.  What action does what? and what information do they
-all require?  We need a document or two in cvs that describes what and
-who can each action applies to.  The xsd document I initially provided
-is all well and good, but it's a)  out of date b) in the zmap cvs (can
-you guys  see it) c) incomplete when  it comes to finding  out what an
-action does. and d) xml :(
-
-So what should  go in this file?  I've prepared a list of  what I know
-each application can provide/do.
-
-
-Action          Program   Details
----------------------------------------------------------------------
-open            zmap (m)  opens a zmap feature display window. Requires
-                          <segment sequence="str" start="int" end="int"/>
-
-close           zmap (m)  closes zmap. The complete application
-shutdown        zmap (m)  alias for close.
-
-zoom_in         zmap      zoom the currently focused window by 2x
-
-zoom_out        zmap      zoom the currently focused window by 0.5x
-
-create_client   zmap      register's a client internally with zmap. Req.
-                          <client id="id" request="str" response="str"/>
-
-create_feature  zmap      create feature(s) on the zmap display from the 
-                          featureset supplied.
-
-delete_feature  zmap      deletes feature(s) that already exist on the 
-                          zmap display.
-
-new_view        zmap      opens a new sequence using the supplied 
-                          information to fetch the data. Requires
-                          <segment sequence="str" start="int" end="int">
-                          source{ 
-                          url = "url"
-                          featuresets = "feature sets"
-                          }
-                          </segment>
-
-edit            otterlace Edit an object in otterlace. 
-                          Requires a featureset. 
-                          ZMap expects a response <response handled="boolean">
-
-register_client otterlace register's a client internally with zmap. Req.
-                          <client id="id" request="str" response="str"/>
-                          Why is this not create_client???
-
-
-Additions/Changes are up for discussion.  
-
-For the multiple species display is new_view enough?
-
-Here's some RT tickets...
-
-
-RT ticket #20283
-----------------
-Liz,
-
-> When I click on a bit of cDNA evidence and bring up the Zmap Feature
-> Editor Window, it would be really useful if I could highlight the name
-> of the cDNA and so that we can copy and paste into somewhere else (e.g
-> into search box of NCBI EntrezGene website).
->
-> I suppose I could do this from blixem, but, just a thought...
-
-This presents a bit of a quandry......our "feature list" and "feature
-edit" windows are both set up to scroll to and highlight the name that
-you click on, this also results in a brief description of the feature
-being put into the common "edit" buffer in this form:
-
-"Em:BT020903.1" 40645 40742 (98)
-
-This is a hangover from acedb and perahps we should just put the feature
-name in the edit buffer. I'll have a think about it. In the meantime I
-guess you could use the above and delete the bits you dno't want...not
-ideal though, I can see that....
-
-Ed
-----------------
-
-I can't  remember why this string is  like this.  Does it  get used by
-xace?  Or it  just  for otterlace  to get  hold  of the  data via  the
-clipboard.  Could we  subvert this with xml so that  we only stick the
-name in the clipboard?
-
-
-
-
-
-RT ticket #20304
-----------------
-
-I would like single click events that highlight objects in Zmap to be
-passed to otterlace. This will enable us to do things like highlight the
-exon coordinates in a transcript editing window when an exon is clicked
-on, or highlight the name of the transcript in the XaceSeqChooser.
-
-Similarly, I would like to be able to send requests to Zmap to highlight
-(and scroll to reveal, if necessary) objects from otterlace.
-
-James
-
-
-RT ticket #20255
-----------------
-
-One thing that came out of yesterdays zmap demo was the requirement to
-build objects from supporting evidence. This is not a new request, but
-now zmap can do multiple select [ticket #10152] we should work out a way
-to enable this. Firstly I need to do some work to remember what
-currently happens [ticket #20173]. Is there a preferred solution?
-
-
-RT ticket #8588
----------------
-Hi,
-
-At the moment it's possible to create a new object based on the exon of
-the evidence highlighted on the fmap. Would it be possible to do the
-same with zmap.
-
-Also, it was mentioned yesterday that exons of ESTs or cDNAs may be
-linked by lines similar to the intron lines in objects. If this is the
-case, would it be possible to build a new object based on all these
-linked exons instead of just the highlighted one?
-
-thanks
-
-Sarah
-
-
-
-Actions:
---------
-
-1) Investigate checking out from ~zmap/CVS for anacode users. EG
-
-2) Create a synopsis  document to accompany the xsd  document and keep
-   them up to date. RDS
-
-3) Add zoom_to to  the xremote protocol.  This should  accpet either a
-   simple range or a feature to which zmap should add a border. RDS
-
-4) otterlace needs to be notified when a zmap view is closed. RDS
-
-5) Although zmap  understands the action new_view, this  is not enough
-   for all the alternatives that exist.  It should also be possible to
-   close each individual  view. Also the open command  is very similar
-   if not identical so we need to merge these. RDS
-
-6) Views need  to be addressable by  otterlace.  The reply  to an open
-   command should contain the addressable id. RDS
-
-7) register_client  and  create_client should  be  merged  to only  be
-   register_client. RDS, JGRG
-
-8) Single and multiple selects are to be transferred a click at a time
-   and will be  distinguishable by an attribute.  The  cut buffer will
-   be  additively  extended  for   multiple  selects.   This  will  be
-   bi-directional,  so that  selections will  be mirrored  in  the two
-   progams. RDS, JGRG
-
-9) Check copy / paste from zmap info boxes. EG
-
-10) build a new zmap RDS, EG
-
diff --git a/doc/project/zmap_lace_tasks.txt b/doc/project/zmap_lace_tasks.txt
deleted file mode 100755
index e30cf8299..000000000
--- a/doc/project/zmap_lace_tasks.txt
+++ /dev/null
@@ -1,204 +0,0 @@
-ZMap - items for lace integration
----------------------------------
-
-
-The plan is to put zmap into test_otterlace straight away even though we know
-not everything that is required is implemented yet. Liz/Charlie will be the
-guinea pigs for the test initially. We will meet again in a month to review
-how it's gone and what we need to do next.
-
-
-
-Priorities:
------------
-
-*** Do right now
-**  Do this month
-*   Think about
-
-
-
-Configuration
--------------
-
-*
-- need to be able to do "per team" configurations of different parts of zmap
-(e.g. of what goes in the cut buffer and in what format).
-
-
-
-Transcript operations
----------------------
-
-
-** EG doing this. <DONE>
-- contextual menu on gene object:
-     + show CDS translation in zmap
-     + show CDS translation (including *stopcodon) in separate (copy-pastable)
-     window
-     + export CDS translation (fasta seq saved to file)
-     + show CDS sequence (nucleotide seq of CDS incl stop codon) in separate
-     (copy-pastable) window
-     + export CDS sequence (fasta of nucleotide seq of CDS incl stop codon
-     saved to a file)
-
-     + export entire mRNA sequence (fasta seq saved to file)
-     + show entire mRNA sequence in separate (copy-pastable) window
-
-     + export genomic sequence of transcript (fasta seq saved to file)
-       (we could colour the genomic span when displayed in a separate
-       window to make it obvious which are exons and which introns.
-
-EG acedb has translation code which handles different translation tables, I
-will pinch the code....
-
-I have a comment about showing the size of a protein translation, I think this
-might be in the status line if you click on the translation ?
-<DONE>
-
-
-
-**
-- objects should carry http links so that web pages (e.g. ensemble/pfam) that
-carry more information about them can be displayed.
-
-EG Sequence class has a web_location tag which points to a url object, this is
-quite complex and poorly documented so I will need to look in the code....so
-it maybe very simple for us to add this.
-
-
-*
-- pattern or word search (peptide and nucleotide) of genomic seq as currently
-under "restriction enzyme digest" and highlight results in fmap (currently
-when DNA is shown, highlighted with colored background (different colors for
-forward and reverse match) and also the matches are indicated by printing out
-the search term in a column close to the central yellow divider)
-
-EG This is probably best implemented by lace doing a patten search and then
-sending us the results as a new column + matches that we need to draw as
-"features" in the column.
-
-
-
-Display stuff
--------------
-
-***
-- copy-paste from pfetch text window
-EG I think this is done already via gtk text widget..
-<DONE>
-
-
-**
-- display ORF's
-EG I will hack ace server to allow ORFs to be dumped.
-
-
-
-**
-- need 3 frame translation in the window.
-- show ORFs in all three frames (i.e. show stopcodons)
-- show 3-frame translation of genomic seq (sequence selectable and copyable
-like dna seq above)
-
-
-**
-- clicking on a transcript or exon should highlight that exons dna if the dna
-is displayed (agreed that dna could be highlighted by colouring the
-background).
-- if dna seq is shown, highlight the extent of any box/feature user clicks on.
-
-
-*** EG THIS IS DONE APART FROM THE RESTORE DEFAULT BUTTON, THEY DIDN'T HAVE THIS
-IN ACEDB SO ITS NOT THAT GREAT A PRIORITY...
-- column configuration should be a main button in the zmap window, should be
-able to reset to defaults with single click....perhaps reset should reset the
-whole interface.
-- "configure all columns" button in button bar at top (currently a submenu in
-column contextual menu)
-- "restore global default" button in button bar at top (i.e. restore default
-columns etc.)
-
-
-<DONE>
-- double clicking on an object should display the "properties" window.
-- double click (proper double click !!!) on a feature and get a "property
-inspector" window (like tree display in fmap). Possibly super-user (but not
-user!) configurable
-<DONE>
-
-
-*** RDS_DOING_THIS
-- put the scale by the yellow strand separator
-
-
-
-*** RDS_DOING_THIS
-- cut displayed DNA direct into the cut buffer for access from other 
-applications.
-- when dna seq is shown in zmap, select a stretch of sequence -> contextual
-menu item "copy" or it could happen automatically
-
-
-**
-- allow printing of the current zmap to a file
-- postscript printing the zmap
-
-EG acedb does this by steam and we could pinch the code.
-
-
-*** RDS_DOING_THIS
-- clicking on a column will turn the background of that column to light grey
-to emphasise that it has been selected.
-- trial of subtly highlighting entire column background when left-clicking on
-the column background
-<DONE>
-
-***
-- each sub window of a zmap should contain more information in the title which
-should include at least the species.
-
-
-*
-- the current left hand scroll bar should be replaced with a locator which
-shows clone position/direction/overlaps/names in a similar "stepped" display
-as fmap does currently. We could also put a scale in this window.
-- canvas with clone tiling path (with names) on the left and proprtional
-scroll thumb for navigational purposes.
-
-
-**
-- users should be able to lock windows together in positions they choose.
-
-
-
-Blixem
-------
-
-*
-- there should be more communication between blixem and zmap so that things
-clicked on in zmap get highlighted in zmap and vice versa. Probably we need to
-fork blixem so that we can leave behind the old acedb version.
-
-
-
-Genefinder
-----------
-
-*
-we can get the genefinder information from gifaceserver but it requires a
-change to the server to the ORFs output and we need to decide whether to get
-it all at the start or to get some later...
-- genefinder features (start codons (with Kozak score), coding potential,
-splice sites, etc.)
-
-
-
--- 
-  ------------------------------------------------------------------------
-| Ed Griffiths, Acedb development, Informatics Group,                    |
-|  The Morgan Building, Sanger Institute, Wellcome Trust Genome Campus   |
-|  Hinxton, Cambridge CB10 1HH                                           |
-|                                                                        |
-| email: edgrif@sanger.ac.uk  Tel: +44-1223-496844  Fax: +44-1223-494919 |
-  ------------------------------------------------------------------------
diff --git a/doc/wemap/README b/doc/wemap/README
deleted file mode 100755
index 86b76026b..000000000
--- a/doc/wemap/README
+++ /dev/null
@@ -1,6 +0,0 @@
-
-The fex files are the original thinking for the split off fmap.
-
-They are here as a placeholder only, we should take what we want from
-them and ditch the rest.
-
diff --git a/doc/wemap/fex.h b/doc/wemap/fex.h
deleted file mode 100755
index 0271a9feb..000000000
--- a/doc/wemap/fex.h
+++ /dev/null
@@ -1,343 +0,0 @@
-/*  File: fex.h
- *  Author: Ed Griffiths (edgrif@sanger.ac.uk)
- *          and Richard Durbin (rd@sanger.ac.uk)
- *  Copyright (c) J Thierry-Mieg and R Durbin, 2002
- *-------------------------------------------------------------------
- * Acedb is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- * or see the on-line version at http://www.gnu.org/copyleft/gpl.txt
- *-------------------------------------------------------------------
- * This file is part of the ACEDB genome database package, written by
- * 	Richard Durbin (Sanger Centre, UK) rd@sanger.ac.uk, and
- *	Jean Thierry-Mieg (CRBM du CNRS, France) mieg@kaa.crbm.cnrs-mop.fr
- *
- * Description: The interface for querying a database to get genome
- *              information for displaying a physical map and then
- *              annotating the genetic information in that map.
- *              
- *              The name "fex" is an acronym for "Feature EXchange".
- *              
- *              This is the interface as seen by the C code in the
- *              client program, in some places the CORBA layer will
- *              be need to be a little different.
- *              
- * HISTORY:
- * Last edited: Jan 29 14:06 2002 (edgrif)
- * Created: Wed Jan 16 15:23:44 2002 (edgrif)
- * CVS info:   $Id: fex.h,v 1.1 2003-12-12 14:30:38 edgrif Exp $
- *-------------------------------------------------------------------
- */
-#ifndef FEX_DEF
-#define FEX_DEF
-
-
-
-/*********** basic types ************/
-
-/* ALL_FEATURES is for fexAvailableFeatureSets() */
-/* What about "sequence", atg, and allele as basic feature types ?           */
-typedef enum { BASIC_FEATURE, HOMOL_FEATURE, EXON_FEATURE, 
-	       TRANSCRIPT_FEATURE, VARIATION_FEATURE, 
-	       INTRON_FEATURE, BOUNDARY_FEATURE, ALL_FEATURES
-             } FexFeatureType ;
-
-typedef enum { NO_STRAND = 0, DOWN_STRAND, UP_STRAND } FexStrand ;
-
-typedef enum { NO_PHASE = 0, PHASE_0, PHASE_1, PHASE_2 } FexPhase ;
-
-/* as in BLAST*, i.e. target is DNA, Protein, DNA translated */
-typedef enum { N_HOMOL, X_HOMOL, TX_HOMOL } FexHomolType ;
-
-typedef enum { CLONE_END, 5_SPLICE, 3_SPLICE } FexBoundaryType ;
-
-typedef enum { OK_STATUS = 0, NO_WRITE_ACCESS, ILLEGAL_FEATURE, 
-	       ILLEGAL_ATTRIBUTE 
-             } FexStatus ;
-
-/*********** opaque types for server handles ************/
-
-typedef struct DatabaseContext *FexDB ;
-typedef struct SequenceContext *FexSeq ; /* should cache DB handle */
-typedef unsigned int FexID ;
-
-/*********** local types corresponding to CORBA structs ***********/
-
-
-/* Describes the type of features to be found in a particular feature set,   */
-/* the set is indentified by its name. The structure can be quizzed to check */
-/* details such as "are these features strand sensitive ?".                  */
-/*                                                                           */
-
-typedef struct {
-  char *name ;						    /* e.g. "Genewise predictions" */
-  FexFeatureType type ;					    /* e.g. INTRON_FEATURE */
-  char *category ;		/* GFF_feature, BioPerl primary_tag */
-  char *source ;		/* GFF_source = ?? */
-  BOOL isStrandSensitive ;
-  BOOL isFrameSensitive ;	/* phase becomes important */
-  BOOL isScore ;
-  FexHomolType homolType ;	/* for Homols only */
-  char *targetDataSource ;	/* for Homols only */
-  FexBoundaryType boundType ;	/* for Boundaries only */
-  BOOL isWritable ;
-  Array legalAttributeTags ;	/* of char*, allowable attributes for this feature set. */
-} FexFeatureSetDataInfo ;
-
-
-/* the following is used to store alignment gap information */
-typedef struct
-{
-  int s1, s2 ;			/* coords in input space */
-  int r1, r2 ;			/* coords in output space */
-} FexAlignBlock ;	/* this is identical to SMapMap in smap.h */
-
-
-
-/* A feature, it will be of type FeatureType and be indentified uniquely by  */
-/* some kind of database id, but also by a text name.                        */
-
-/* Big decision:
-   The primary Feature object is a union, not set of subclasses 
-   inheriting from a core class.
-   This simplifies and helps make transfer protocols efficient for C
-   in particular.
-   Problems are:
-   Efficiency: core feature is 26 bytes assuming 1 byte per enum.
-   The biggest union components add 18 extra bytes, and a high 
-   fraction of the features (e.g. all homols) will need the max 
-   anyway.  It doesn't seem worth separating the data structures and 
-   duplicating lots of calls, requiring switches etc.
-
-   It may turn out to be useful to use the style of struct used for XEvents.
-
-   Elegance: in the eye of the beholder, but we'll try to keep it
-   clean.
-*/
-
-typedef struct {
-  FEXFeatureType type ;					    /* e.g. INTRON_FEATURE */
-  FEXID id ;						    /* unique DB identifier. */
-  char *name ;						    /* e.g. bA404F10.4.mRNA */
-  int x1, x2 ;						    /* start, end */
-  FexStrand strand ;
-  FexPhase phase ;
-  float score ;
-  char *text ;						    /* What is this for ? */
-  union
-  {
-    struct
-    {
-      int y1, y2 ;					    /* targetStart, targetEnd */
-      FexStrand targetStrand ;
-      FexPhase targetPhase ;				    /* for TX_HOMOL */
-      Array align ;					    /* of AlignBlock */
-							    /* if align is null, then ungapped */
-    } homol ;
-    struct
-    {
-      int cdsStart, cdsEnd ;
-      BOOL startNotFound ;				    /* is this really a bool ? */
-      FexPhase cdsPhase ;				    /* = NO_PHASE unless startNotFound */
-      BOOL endNotFound ;				    /* is this really a bool ? */
-      Array exons ;					    /* of Feature */
-    } transcript ;
-    struct
-    {
-      FexID transcriptID ;
-    } exon ;
-  } feature ;
-
-} Feature ;
-
-
-
-
-
-/**********************************************/
-
-/* There will need to be a set of "database management" type functions       */
-/* I've trivially added a couple here just as a placeholder to remind us     */
-/* that these will be required.                                              */
-FexDB fexOpenDatabase(char *locator, char *user, char *password) ;
-void fexCloseDatabase(FexDB db) ;
-BOOL fexCheckWriteAccess(FexDB db) ;
-BOOL fexSetWriteAccess(FexDB db, BOOL access) ;
-
-
-
-/* Ask for all possible feature sets for sequences.                          */
-Array fexQueryFeatureSets(FexDB db) ;
-
-/* Assume we don't need to ask for all possible basic features.              */
-
-
-/* end = 0 for end_of_sequence, so (start, end) = (1,0) for whole sequence */
-FexSeq fexSequence(FexDB db, char* seqName, int start, int end) ;
-
-char* fexDNA(FexSeq context) ;				    /* returns IUPAC plus '-' for blank */
-
-Array fexQuerySeqFeatSets(FexSeq context) ;	    /* Array of char* of feature set names */
-
-FexFeatureSetDataInfo *fexFeatSetDataInfo(FexDB db, char *fsetName) ;
-							    /* Get the info. for just one feature */
-							    /* set. */
-
-Array fexTypeFeatureSetDataInfo(FEXContext context, FEXFeatureType type) ;
-							    /* Get info. for all features of a */
-							    /* certain type. */
-
-/* Get the info. for all feature sets available for a piece of sequence.     */
-Array fexAllFeatureSetDataInfo(FexDB db) ;
-
-
-/* Get features by feature set name.                                         */
-Array fexGetFeatures(FexContext context, Array feature_names) ; /* Array of Feature structs */
-
-/* Get features by basic type.                                               */
-Array fexGetFeaturesType(FexContext context, FEXFeatureType type) ;
-
-/* Clear up all of the sequence on the server and locally.                   */
-void fexDestroySequence(FexSeq context) ;
-
-
-
-
-/*****************************************************************************/
-/**********************     search     ***************************************/
-
-/* We separated this out from FeatureSet, so can get information on where
-   to find the sequence from other sources than the database.  I guess the
-   fetch thing should also be accessed via URLget, and we should set up
-   interfaces for that.
-*/
-
-typedef struct {
-  char *urlFormat ;	/* printf style format with %s for target name */
-  char *fetchFormat ;	/* similar format, but to fetch sequence */
-  char *removePrefix ;	/* prefix to remove from names before substituting in formats */
-  /* Apollo has something good here that is a bit more powerful for good reasons */
-} FexTargetDataSource ;
-
-FexTargetDataSource *fexTargetDataSource(FexDB db, char* dataSource) ;
-
-
-
-/*****************************************************************************/
-/**********************     drawing    ***************************************/
-
-/* We separated this out from FeatureSet, so can get information on how
-   to display the features from sources other than the database, perhaps
-   a user preference file.
-*/
-
-typedef enum { BY_WIDTH, BY_OFFSET, BY_HISTOGRAM } FexDrawStyle ;
-typedef enum { OVERLAP, BUMP, CLUSTER } FexOverlapStyle ;
-
-
-typedef struct
-{
-  Colour outline ;					    /* Surround/line colour. */
-  Colour foreground ;					    /* Overlaid on background. */
-  Colour background ;					    /* Fill colour. */
-  float right_priority ;
-  FexDrawStyle drawStyle ;
-  FexOverlapStyle overlapStyle ;
-  float width ;						    /* column width */
-  float min_mag, max_mag ;
-  float min_score, max_score ;
-  BOOL  showText ;
-  BOOL  showUpStrand ;
-} FexFeatureSetDrawInfo ;
-
-
-FexFeatureSetDrawInfo *fexFeatureSetDrawInfo(FexDB db, char *feature_set_name) ;
-							    /* Get a single sets drawing info. */
-Array fexFeatureSetsDrawInfo(FexDB db, Array feature_set_names) ;
-							    /* Get multiple sets of draw info. */
-
-
-/*****************************************************************************/
-/*********************    write back    **************************************/
-
-/* In the following, attributes is additional textual information in 
-   attribute/value per line format (as for .ace files).  If you want to
-   communicate gene_name hints/info back and forth with the server you
-   can use this.  Also attributes to be assigned to the gene.  The client
-   will just neutrally put these up and allow them to be edited, deleted
-   and added to, and passed back to the server.  The attributeTagList field 
-   of FexFeatureSetDataInfo lists the fields allowed for each feature set.
-*/
-
-typedef struct
-{
-  char *tag ;
-  char *value ;
-} Attribute ;
-
-FexStatus fexNewFeature(FexDB db, char *fsetName, FexID *dbidPtr,
-			Feature *feature,  Array attributes) ;
-
-FexStatus fexReplaceFeature(FexDB db, char *fsetName, FexID dbid,
-			    Feature *feature, Array attributes) ;
-		    /* if feature is null, just replace attributes and vice versa */
-
-FexStatus fexKillFeature(FexDB db, FexID dbid, Array attributes) ;
-	/* may want to change attributes because "kill" will only archive,
-	   depending on server behaviour */
-
-/* need also */
-
-Array fexGetAttributes(FexDB db, FexID dbid) ;  /* of FexAttribute */
-
-/* Note there is no way to write a gene as such, nor a naked exon.
-
-   010811 RD: Current proposal is as follows
-   Within an fset:
-
-   In the interface, a "curate" action on a transcript does the followring:
-     - if identical to a curated transcript then killTranscript or editAttributes
-     - else options are storeTranscript, or replaceTranscript for each that 
-       it overlaps.
-
-   If you store a transcript not overlapping any genes it creates a new gene.  
-   On the server side, an idea to explore would be that if this new gene 
-   overlaps one or more history genes then it is marked as having split 
-   from the most recent that it overlaps.
-
-   If you store a transcript overlapping only transcripts from one gene, then
-   you can either replace one of those transcripts or create a new one.
-
-   If you store a transcript that overlaps multiple current genes then it
-   must replace one of the existing transcripts.  This is because the new
-   transcript will merge all the genes covered, and the requirement to
-   replace an existing transcript allows us to determine which gene the
-   resulting merge becomes.
-
-   Similarly if you were allowed to kill a transcript that acts as a 
-   bridge, hence creating new genes by splitting, it would not be clear
-   which child should keep the parent's name.  So I plan to ban such kills,
-   requiring a replace action to remove the bridging transcript, so it is
-   clear which child inherits the name (the one containing the replaced 
-   transcript).
-
-   Of course all these restrictions would go if the gene identifier model
-   was that the products of merges and splits all had new identifiers.
-   So I guess the restrictions listed above should be a client option,
-   maybe settable via a server.  Or perhaps should be rules the server
-   uses to reject a curate event.
-*/
-
-/******************* end of file ***********************/
-#endif  /* FEX_DEF */
-
diff --git a/doc/wemap/fex.idl b/doc/wemap/fex.idl
deleted file mode 100755
index bd55d9b12..000000000
--- a/doc/wemap/fex.idl
+++ /dev/null
@@ -1,203 +0,0 @@
-//
-// FEX client/server definition.
-//
-// Defines code to open a CORBA connection to a database and then
-// use that connection to ask for feature information.
-//
-
-
-module FEX
-{
-
-  //
-  // Basic structs and datatypes.
-  //
-  typedef sequence<string> StrSeq ;
-
-
-
-  enum FeatureType { BASIC_FEATURE, HOMOL_FEATURE, EXON_FEATURE, TRANSCRIPT_FEATURE,
-		     VARIATION_FEATURE, INTRON_FEATURE, BOUNDARY_FEATURE } ;
-
-  enum Strand { NO_STRAND = 0, DOWN_STRAND, UP_STRAND } ;
-
-  enum Phase { NO_PHASE = 0, PHASE_0, PHASE_1, PHASE_2 } ;
-
-  enum HomolSubType { N_HOMOL, X_HOMOL, TX_HOMOL } ;
-
-  enum BoundarySubType { CLONE_END, 5_SPLICE, 3_SPLICE } ;
-  /* as in BLAST*, i.e. target is DNA, Protein, DNA translated */
-
-  // Do we need this ?? not sure...
-  enum Status { OK_STATUS, NO_WRITE_ACCESS } ;
-
-
-
-
-
-
-
-  // Every feature, and hence set of features, will be of a particular class
-  // and will have a name that identifies it to the user.
-  // 
-  struct FeatureSetInfo
-  {
-    String name ;					    // Name of feature set, e.g. "Genewise
-							    // Predicted Genes".
-    FeatureType type ;					    // Type of feature, e.g. IntronExon
-
-    // How do these relate to "name" above...talk to rd.
-    string category ;					    /* GFF_feature = BioPerl primary_tag */
-    string source ;					    /* GFF_source = ?? */
-
-    boolean isStrandSensitive ;
-    boolean isFrameSensitive ;				    /* phase becomes important */
-    boolean isScore ;
-
-    HomolSubType homolType ;				    /* for Homols only */
-
-    string targetDataSource ;				    /* for Homols only */
-
-    BoundarySubType boundType ;				    /* for Boundaries only */
-
-    StrSeq attributeList ;				    /* of char*, allowable attributes for
-							       this fset */
-
-  } ;
-
-  typedef sequence<FeatureSetInfo> FeatureSetInfoSeq ;
-
-
-
-  // Basic struct defining a single feature such as a gene, or a splice site.
-  //
-  struct Feature
-  {
-    DB_ID key ;						    // key of object in DB
-    string name ;						    // string name of object
-    union
-    {
-      Sequence IntronExon intron_exon ;
-      Sequence Homol homol ;
-      // etc. etc.
-    }
-  } ;
-
-
-  // Struct holding a set of Features, all of one FeatureType.
-  //
-  struct FeatureSet
-  {
-    unsigned long num_features ;				    // Number of features in this set.
-    sequence<Feature> features ;				    // Basically an array of features.
-  } ;
-
-
-
-
-  //
-  // Interfaces to FEX
-  //
-  // Note that this interface allows us to get sequence and drawing information
-  // independently from different databases. I expect that this bit will need
-  // modification to cope with passing DB ids around. The constructors take
-  // as one of the parameters the Connection, this is cached in the object
-  // so we don't have to keep supplying it for every call.
-  //
-
-  // In CORBA speak the constructors for the objects will be via a factory
-  // object which will do the actual business of construction.
-  //
-  interface connectDBFactory
-  {
-    Connection connectDB(in URL where_db_is, in string userid, in string passwd) ;
-
-    // N.B. requires a Connection object so it knows which DB to go to, and a
-    // Sequence_id/start/end to say which bit of sequence is to be retrieved.
-    Sequence getSequence(in Connection db, in Sequence_id id, in int start, in int end) ;
-
-
-    DrawMethod getDrawMethod(in Connection db) ;
-  } ;
-
-
-
-  // The database interface.
-  // We use this to open a connection to the database, this can
-  // then be used to get hold of features etc.
-  interface Connection
-  {
-    // placeholder, this will need to be some kind of query type operation.
-    // We need to somehow find out what at what level we can ask for sequences
-    // from the database.
-    Sequence_id findSequence(string clone_name) ;
-
-
-    boolean checkWriteAccess() ;
-    boolean setWriteAccess(boolean access) ;
-
-
-    // destructor will close connection and clean up.
-  } ;
-
-
-
-
-  // The feature interface.
-  // Constructor takes a reference to the database, some kind of identifier to
-  // say which piece of sequence is required and coordinates.
-  interface Sequence
-  {
-    // Should return names and info. about them, as these correspond to columns
-    // in fmap we might as well get them all in one go.
-    FeatureSetInfoSeq listAllFeatureSets() ;
-
-    // Get info. for all features of a particular type.
-    FeatureSetInfoSeq listTypeFeatureSets(in FeatureType type) ;
-
-    // Get info. for a single feature type.
-    FeatureSetInfo getFeatureSet(in string name) ;
-    
-
-    
-
-
-  } ;
-
-
-  //
-  // The drawing method interface.
-  // Each feature will be drawn with in a particular style according to
-  // its FeatureType, in addition the style may have been tailored for
-  // feature (e.g. in foreground colour etc.).
-  //
-  interface DrawMethod
-  {
-
-
-
-  } ;
-
-
-
-} ;
-
-
-
-
-
-
-
-
-
-
-// Probably we will want to follow X Windows and replace all strings
-// with atoms/keys call them what you want, but lets not worry about this
-// just yet.
-
-
-// NOTES:
-//  we need to map a Feature to its FeatureType, how shall we do this ?
-// Perhaps we should introduce a "key" now for this ??
-
-
diff --git a/doc/wemap/fex.synopsis.html b/doc/wemap/fex.synopsis.html
deleted file mode 100755
index 6127bb923..000000000
--- a/doc/wemap/fex.synopsis.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<HTML>
-
-<HEAD>
-<TITLE>FEX Version 0.1 Synopsis</TITLE>
-
-<LINK rel=stylesheet type="text/css"
-href="./wdoc.css"
-title="Style sheet for wdoc developer documents">
-
-</HEAD>
-
-
-<BODY>
-
-<BLOCKQUOTE>
-<DIV ALIGN=CENTER>
- <IMG SRC="./acedb-logo.gif" ALT="[FEX 0.1]" align=middle>
- <H3>
-  FEX Version 0.1
- </H3>
-</DIV>
-
-
-<DIV ALIGN=CENTER>
-
-<H1 align=center>
-FEX - A Feature EXchange Interface
-</H1>
-
-<ADDRESS>Originally written by<BR>
-Ed Griffiths &lt;edgrif@sanger.ac.uk&gt;, January 2002</ADDRESS>
-
-</DIV>
-
-<H2>Background</H2>
-
-<P>There is a need for a version of the AceDB fmap that can be used over
-the network. The viewer/annotator could be used against any database that
-could provide the sequence information required by the viewer.
-
-
-
-
-<H2>Overview</H2>
-
-<P>The fex interface is a new interface for accessing sequence data and features,
-it is designed to be independent of any one database.
-
-
-
-<H2>Basic Concepts</H2>
-
-<P>Some basic terms:
-
-<dl>
-  <dt><b>"Feature type"</b>
-  <dd>the basic types of feature that can appear on a physical map
-      such as BASIC_FEATURE, INTRON_FEATURE. Every feature displayed must
-      be of one of these types.
-  <dt><b>"Feature"</b>
-  <dd>a single piece of physical data such as a transcript which
-      will be of one of the "Feature type" types. This will have
-      have some unique identifier such as a specific gene name.
-  <dt><b>"Feature set"</b>
-  <dd>a set of "Features" that are grouped together because they
-      are not only all of the same "Feature type" type, but are
-      related in some other way, e.g. they are all Genewise predictions.
-      They are given some name by the curator of the database, these
-      correspond to the "methods" in acedb.
-</dl>
-
-
-Possible feature types in giface gff dumping based on a feature name...
-
-seg->type         featName
-=========         ========
-
-SEQUENCE          |
-EXON              | (GFF version == 2) && seg->key then put className(seg->key)
-INTRON            |
-SEQUENCE          "sequence"
-EXON              "exon"
-INTRON            "intron"
-CODING            "coding_exon" (GFF version == 1)
-CODING            "CDS" (GFF version == 2)
-HOMOL             "similarity"
-FEATURE           "feature" (GFF version == 1)
-FEATURE           "misc_feature" (GFF version == 2)
-ATG               "atg"
-SPLICE3           "splice3"
-SPLICE5           "splice5"
-ASSEMBLY_TAG      strnew (seg->data.s, handle)
-ALLELE            "deletion"
-ALLELE            "variation"
-ALLELE            "insertion_site" (GFF version == 1)
-ALLELE            "insertion" (GFF version == 2)
-EMBL_FEATURE      name(seg->key)
-CLONE_END         name(seg->data.k)
-
-
-and for sourceName:
-                  fMapSegTypeName[type] which could be any of:
-  "MASTER", "ASSEMBLY_TAG",
-
-  "SEQUENCE", "SEQUENCE_UP",
-  "CDS", "CDS_UP",
-  "INTRON", "INTRON_UP",
-  "EXON", "EXON_UP",
-  "EMBL_FEATURE", "EMBL_FEATURE_UP", 
-  "FEATURE", "FEATURE_UP", 
-  "ATG", "ATG_UP",
-  "SPLICE3", "SPLICE3_UP",
-  "SPLICE5", "SPLICE5_UP",
-  "CODING", "CODING_UP",
-  "TRANSCRIPT", "TRANSCRIPT_UP",
-  "SPLICED_cDNA", "SPLICED_cDNA_UP",
-  "VIRTUAL_SUB_SEQUENCE_TAG",  "VIRTUAL_SUB_SEQUENCE_TAG_UP",
-  "VIRTUAL_MULTIPLET_TAG", "VIRTUAL_MULTIPLET_TAG_UP",
-  "VIRTUAL_ALIGNED_TAG",  "VIRTUAL_ALIGNED_TAG_UP",
-  "VIRTUAL_PREVIOUS_CONTIG_TAG",  "VIRTUAL_PREVIOUS_CONTIG_TAG_UP",
-  "HOMOL", "HOMOL_UP",
-  "PRIMER", "PRIMER_UP",
-  "OLIGO", "OLIGO_UP",
-  "OLIGO_PAIR", "OLIGO_PAIR_UP",
-  "TRANS_SEQ", "TRANS_SEQ_UP",
-  "ALLELE", "ALLELE_UP",
-  "VISIBLE",
-  "DNA_SEQ", "PEP_SEQ", "ORF", 
-  "VIRTUAL_PARENT_SEQUENCE_TAG",
-  "VIRTUAL_CONTIG_TAG",
-  "CLONE_END"
-ASSEMBLY_TAG      "assembly_tag"
-ALLELE            "variation" (GFF version == 1)
-                  "unknown"
-                  str2tag("GFF_source"), _Text, &sourceName) ;
-
-actually sourceName seems to get set to stuff like: embl_eg
-
-i.e. its from the database and looks like the "method" name ??
-
-Yes, this seems to be it, we should work off the method stuff.
-
-Basically the source stuff is the method and the feature is the basic feature type.
-
-
-
-
-<H2>Using the interface</H2>
-
-<P>A normal scenario for accessing sequence data would be:
-
-<pre><code>{
-  FexDB db = NULL ;
-  FexSeq seq_context = NULL ;
-  unsigned char *dna = NULL ;
-  Array feat_set = NULL ;
-  Array all_features = NULL ;
-
-  db = fexOpenDatabase("some_location", "edgrif", "my_passwd") ;
-
-  seq_context = fexSequence(db, "some_sequence", 1, 0) ;
-
-  dna = fexDNA(seq_context) ;
-
-  feat_set = fexQuerySeqFeatSets(seq_context) ;
-
-  /* If the features bit is non-NULL, then just get those features. */
-  all_features = fexGetFeatures(seq_context, NULL) ;
-
-  fexReleaseContext(seq_context) ;
-}</code>
-</pre>
-
-
-
-
-<H2>In more detail</H2>
-
-<P>I am currently thinking that we can do things in two steps:
-
-<ol>
-  <li>construct the sequence which would be essentially sMapCreate()
-  <li>construct the fex stuff which would be essentially fexConvert() using sMapMap()
-</ol>
-
-<P>One questions is: can we tell which features are in the section of sequence
-ahead of time, I'm not sure we can. Ah, perhaps we can using the sMapKeys()
-and the idea of having a special tag to indicate which method an object
-references.
-
-
-
-<H2>Drawing Features</H2>
-
-<P>Each type of feature gets drawn with a particular style, the precise details
-of each style are decided from the following sources:
-
-<pre>            defaults in the code for each FeatureType
-                                V
-            defaults from the database for each FeatureType
-                                V
-            defaults from the database for a FeatureSet
-                                V
-            actual values for an individual Feature
-</pre>
-
-
-<HR>
-<H3 ALIGN="CENTER">FEX 0.1</H3>
-
-
-<HR>
-<ADDRESS><A href="mailto:edgrif@sanger.ac.uk">Ed Griffiths &lt;edgrif@sanger.ac.uk&gt;</A></ADDRESS>
-<!-- hhmts start -->
-Last modified: Mon Jan 21 18:20:22 GMT 2002
-<!-- hhmts end -->
-
-</BLOCKQUOTE>
-</BODY>
-</HTML>
-- 
GitLab