Article View: bionet.software.acedb
Article #2928Notes from ACEDB Workshop, part I
From: John L. McCarthy
Date: Wed, 08 Sep 1993 16:42
Date: Wed, 08 Sep 1993 16:42
688 lines
27118 bytes
27118 bytes
By popular request, here are some very rough outline notes I took at the
ACEDB Workshop in Boston last month. I cannot vouch for their accuracy, but
hope I have not misquoted anyone too badly. Please post corrections and
clarifications to this newsgroup.
The full set of notes are about 20 pages long. I have broken them into two
parts to accomodate my news reader and mail software.
If you have questions about particular points, you probably should send
them directly to the people who made those points at the workshop. A list
of workshop attendees with Email addresses was posted to this newsgroup a
few weeks ago.
A copy of this document is available via anonymous ftp
on weeds.mgh.harvard.edu under pub/acedb-dev/doc
-John McCarthy, Lawrence Berkeley Laboratory
==================================================================
ACEDB Workshop Wed 28-31 July 1993 Boston, MA
Highlight notes from John McCarthy (LBL) jlmccarthy@lbl.gov
more or less in chronological order, with TOPICS IN CAPS
see list of attendees for full names, addresses, etc.
Wed 28 July
=================================
COMMUNICATIONS, GOPHER
Mike Cherry is providing ACEDB archive on his gopher server at
Stanford -- genome.stanford.edu.
Mike asks if people could please send notes to bionet.software.acedb
another thing that would be nice to have is FAQ - Brad will do this
weeds.mgh.harvard.edu has anonymous gopher+ login/server
Also experimenting with remote anonymous AATDB login aatdb
user name c-aatdb used for MacX
Mike used Richard's acedump to create gopher files.
WAIS paragraph format / from acedump also textace
Brad notes that his gopher archive includes USDA sysad archive.
Brad Sherman did research for secure anonymous ftp
Mike: weeds is a separate machine, not cross mounted to anything, and
not used for anything else
stty script -- Otto points out that you can trap interupts with Bourne
shell
Brad points out that most vulnerable spot is within application.
anonymous FTP setup instructions,
thor.ece.uc.edu
/pub/sun-faq/anon-ftp.script
guidelines: . cert.org /pub/tech.tips/anonymous.ftp
=========================================================
PRINTING FOR REMOTE USERS
richard: set ACEDB_LPR to null -- code checks for this.
maybe could do a script that turns print script into Email.
Michelle: also may want to print to a file
(richard: currently always goes into /PS directory).
Stan: might be nice to have switch to disable all writing
could do changeroot to keep people restricted to specified area.
=================================
ACEDB NEW DEVELOPMENTS - Richard Durbin:
ORGANIZATIONAL STATUS, what Richard and Jean are doing:
RD -worm sequencing (2,5,10 Mb/yr)
-sanger Centre (RD joint head of informatics)
-CGC map -> Cambridge (worm cytogenetics center)
Mary O'Callaghan doing this (moc@mrc-lmb.cam.ac.uk)
-in house use: sequence (worm, yeast, human)
worm genetic map
so RD will have less time for kernal development
Jean: -Human mapping - Frensal (Genethon)
-IGD
-ports to various unix systems
- management of kernal (want to keep unified version)
incorporate changes from others & redistribute
also would like to make other's tools & modules available
RELEASES:
1-10 now (still backwards compatible with old databases)
2-0 September? (model changes for maps, sequences)
running this in Cambridge now
but want to make other changes before release
would like to get some feedback from this workshop first
developers can get 2-0 code but should not use for databases
that will be distributed, etc.
Will have AWK scripts for database restructuring from 1-10 to 2-0
Extra things in specifications directories, PS fonts, Xfonts.wrm,
NEW ARCHITECTURE FOR MAP DISPLAY-- RD
columnar architecture/format will help
would also be nice to have developers style guide
Stan: would be nice to have another level of indirection, so people
could map different names to std display code names -- intermediate
layer to make it easier to change models and yet maintain
compatibility with display modules.
RD: not convinced that another layer of indirection is good idea
may slow things down
RD: people should not expect that all the good ideas that get
suggested here will get implemented. Commitment to maintain kernal.
------------------- break-----------------------
NEW DEVELOPMENTS (mostly in 1-10)
SUBCLASSES
-can appear on main window
-can use in queries, .ace files
-no code change required
specification
-wspec/subclasses.wrm
-read after models.wrm
-ace file
class genome_Sequence
Subclass-of Sequence //can be a subclass (can have 2 parents?)
Visible //indicates whether displayed on main window
Filter "Genomic_canonical" query
How it works:
Have 8 bits free per key in memory
-uses 1 bit per filter
checks on object save
when filter changes -- rescans entire class with query
can't change entries in class class directly, reads from
subclasses.wrm
May be possible in future:
to have different default display type for different subclasses
Used in 2.0
?Map - Chromosome
?Locus - gene, RFLP, etc.
?Interval - rearrangement, Chrom_Band, Hybrid cell line, ...
?Df_dup_defic Inside
Outside
?Probe
2-0 has a models class
so won't have ?class as part of keyset
you will get this type of info in other ways
2 possible ways to do sub-maps
1 scale with some linear transformation
2 interpolate between shared loci (now done in 1-10 physical map)
Otto: IGD has used clone grid as general model for 2-D maps
RD: map display now automatically transforms contig info in this way
maybe could do some graphic to indicate where there are conflicts
between different versions of maps
GRAPH PACKAGE additions
filled arcs
filled polygons (from Suzanna)
IMAGES (grey level: 256-->128)
(a) in subwindow graphPixels()
(b) PIXEL_SCROLL graph type (coordinates are pixels)
graph Pixel Background()
Possible Development
-ASCII dump format for draw stack
-stand alone drawing editor
full color images will require more thought!
now easier to attach sub-menus to boxes
Otto: can pick up X colors and coordinates to use from XV
Suzanna: has done some things to display TIFF images
MAP PACKAGE
map.h w7/mapcontrol.c
A. drawing coordinates (zoom, centre, scroll, etc.)
B. columns of data (user toggleable)
C Cursor
MAP *map
Look -> map -> mapCreate(column, ... )
{float min, max
Coordinate Functions
Locator (small green bar)
Stan: is this the way you would draw multiple (synteny) maps?
RD: not yet..., in the meantime can use TableMaker multi-map
Planned Enhancements
1. add a help line per column for display control
2. allow >32 columns
3. give names to sets of columns
4 ? Multiple ?MAP's per window
Code:
separate columns further
==>library of columns
separate SEG's array per column (convert (store), destroy)
put PICK control in MAP package
-select / follow
- neighbor on/off (key) [e.g., to light up related
objects]
Sequence Fetch/Align
--------------------------
a. summon up SwissProt/PIR entry(s)
b. show multiple alignment based on BLAST segments =BLIXEM
uses unix command
fetch -Bdbname (SP,PIR,EMBL,GB)
-a accession number
-P Pearson (FASTA) format
-s just sequence ... no new line
our version uses the EMBL CDROM index structure
EXTERNAL COMMANDS
general idea of invoking external commands is now part of ACEDB
external Command( ) executes any unix command and puts output in text
window (can't do anything further with it at the moment)
[this would be even more useful if one could cut-n-paste window]
Otto: IGD stores entire EMBL entry as ?LongText
=================================
LBL ENHANCEMENTS (John McCarthy)
Query by Example, Query Builder, etc.
now working to integrate with Table-Maker
ENHANCEMENTS FOR FlyDB -- Suzanna Lewis
image display for polytene chromosome
data entry enhancements
STS contig assembly
RD: there was a capability in horizontal map display to work on sets
SL: lab dataflow
need tools to massage data from Excel to .ace files
translation
validation
composition (composes string that goes into a single tag)
yet another contig assembly program - uses P-Q trees
biologists may want to look at P-Q trees themselves
RD: saw Carrie Sutherland's package-might you use it?
SL: may be an attractive solution, except would need dif display
Stan: what about Pecherer tool? SL: that's a bit different, before
ordering
=================================
MacACE- Frank Eeckman
would like to make it available in a public domain way
RD: problem is whether we can provide high level of support,
documentation, etc. up to usual Mac standards private vendor might
help support that, but might constrain and even begin to be the tail
that wags the Unix version tail.
Program itself is only 500k for version 6-0.
Older SCSI I is fairly slow, but new SCSI is pretty fast for data.
RD: another issue is distribution. Unix is easily distributable via FTP.
Could do via binhex.
NCBI has offered to distribute MacACE on its CD.
RD: maybe could do distribution every 6 months of ACEDB, acedb, aatdb,
IGD, etc.
RD: Sun and SGI are binary data compatible
[NOTE: subsequent to the workshop, LBL's Human and Plant Genome
projects have provided some supplemental support to help Frank Eeckman
get a production version of MacACE ready for distribution along with
ACEDB version 2.0; he will be spending the last half of September in
Cambridge working with Richard on this project]
=================================
IGD ENHANCEMENTS -- Otto Ritter had to introduce dummy locus to force
3 maps to same scale to show male, female, avg cm map from GDB.
IGD invokes external program to display postscript images (e.g.,
vector diagrams)
IGD future plans:
integration via dif dimensions
static objects and processing info
public and private data
data objects and analysis methods
data and knowledge about data (PROLOG interface-Hans Lerach)
more portability
WAIS and gopher servers
use OPM to define data models
FTP and Email communication
more data (Martin Bishop -- cDNA, non-human, etc.)
pedigree data, displays, etc. (Steve Bryant, ICRF Clare Hall)
========================================================
METABOLIC PATHWAYS MODULE - Stan Letovsky
RD: Bump package may help solve layout problem
even more challenges as paths cross species, tissue-type,
developmental stage, etc.
includes some diagram routines that may be of general use
(though not all that well isolated as a package]
===========Thurs July 29=================================
ACEDB FUTURE -- Richard
CONTACTING EXTERNAL PROGRAMS
Pickme_to_call <a> <b> calls system("a $ACEDB/external/b")
Proposed:
?External
Command UNIQUE X_prograpm #Command
Text_display #Command
Ace_parse #Command
Remark ?Text
?Command U Basic U Text
External U Text U Text
From U Text
?External has default display method to execute the appropriate
command [display (key, from) from is the object its linked to]
Brad & Otto: would be nice to be able to apply selected external
command to any arbitrary keyset. Could make this a menu option on the
keyset menu, which would call up graphselect to choose an external
procedure instance.
====================================
CLIENT-SERVER
tace command line version of ACEDB can run in server/client mode,
linked by RPC
Server Client
<--------------query
acefile----------->
keyset
<-------------expand
acefile------------>
objects
Suzanna: now all you get back from server is formatted text strings
rather than .ace files and client does not build up its own database
Client and server must share classes, models, and tags
does not include any password protection, etc.
Client accumulates a local name table and database
X client later this year?
NB: can embed in scripts
should data persist on client?
only problem is that it might grow too large
Question: how could client combine local data with that from server?
Otto: wants 2 modes-asynchronous and synchronous modes
in synchronous mode, user could decide whether to save
also would be good to have command to remove/delete keyset
currently will die if you overflow the cache and don't have write access.
Otto: see Query buttons/menu - server search is synchronous
aceclient hostipaddress [-timeout secs] [-aceout] [-f scriptfile]
====================================
DATE STAMPING (COARSE GRAINED CONCURRENCY)
-sessions
-all objects are session stamped if non-empty
Proposal 1
-function to create a keyset of all objects changed since a previous
session plus all empty objects
-dump the keyset in new and old session and acediff
Proposal 2 (could be used for finer grain time-stamping)
-make all addions by a pseudo command pointing to the session
(ala comments, which can even be added between tag & value)
-toggle option in tree display could show session # optionally
-?Deletions
Otto suggests that should be optional part of model whether or not to
include session stamp; Richard thinks it won't be bad -- under 2%
Dave Matthews: what kinds of information can be added to sess?
RD: session is a system object that cannot be edited, but can create a
parallel class that would be related and could contain comments
Logfile contains messages, names of files read in, etc.
at present, can use acediff old.ace new.ace > difface (class at a time)
the way it works...
session object contains list of objects created or modified in sess
====================================
TEXT/?TEXT
Text is stored locally, like Int, Float
?Text is a class
a key is stored locally
the name of the corresponding object is the text. The object
contains a back pointer. This allows rapid searching of the names
Cost: 32 bytes/object, no garbage collection
Proposal: special mechanism just with forward and back pointers
====================================
CACHES:
cache2: B classes (trees)
#objects
cache1: copies of disk blocks exactly as on disk, and A classes
A classes include DNA, keyset, ?Longtext and hidden for drawing
#blocks
cache2 has to be as large as # of objects you are updating at a time
normally 1000 or so
cache1 has to be as big as the largest object you ever want to use
(array of names for each class --
lex (dictionary) subclass flags, ptrs
voc - continuous stream of all the names
Otto's ?Text voc is 10Mbytes acedb
Symptom: crashes and says "cache is full..."
experience is that database runs in about 10% of its storage size.
====================================
TAG COMPILATION DEPENDENCE
Brad: why not separate out tags needed for compilation?
others could be made as needed
or could do a utility that reads models.wrm and creates tags.wrm
(could be part of syntax checker and metadata creator)
====================================
SEARCHTEXT and ?LONGTEXT
Otto: IGD has OMIM in ?Longtext -- its great!
you can have a keyset and define certain classes as ?SearchText and
?Longtext will highlight them in context.
==========================================
SEQUENCES
?Sequence (B) and ?DNA (A)
needs to be same name in both classes
any sequence can have parent and/or daughter sequences
overlapping or non-contiguous
200
Y1 ---------+------>
Y2 --------> <-------------------
Y3 --------------------------------------
X
1 800
2000
if you want one to have priority, set Genomic_canonical
Other situation (see handwritten notes)
Mike Cherry: how aatdb loads info from GenBank
script to parse GenBank flat files in GCG format and map to aatdb
written in C -- probably would be better in PERL
They have to do arithmetic for subsequences (ala RD explanation)
Mike: next do BLAST-X, non-redundant search, another script that reads
back into .ace files
REFERENCES
When you read in references, make up id that has 5 char 1st auth,
year, ____; best way to find duplicates is pages (Sam)
Otto: within EMBL and SWISSPROT, had seq # for id, then table with
author, year, title, etc -- thinks aatdb solution is much better
SCIENTIFIC NOTATION
Gregg: ACEDB is not printing very small Float numbers
RD: stored ok, but needs to be one line change in tree display to
display in scientific notation if too small for decimal representation
==========lunch=============
PHYSICAL MAPPING
Sam:
if you want to move into 3rd region, set boolean Band
can stack up to 10 cosmids -- curator has control
things at top only are linked by hybridizing to cosmids (YACs)
cosmids are given position within contig
below green line are General_remarks (highlights associated cosmid)
Y remark (hidden remarks) - only shows if menu item is toggled
stripped out most other classes except clone to use as lab notebook
formerly used Excel- quite unhelpful
physical map display is better, lets user explore the data
use in conjunction with Table-Maker
e.g., to see which contigs hybridize with any given clone also using
clone grid for hybridization data, but not in conjunction with the
physical map also using contig editor (descendent of Contig9)
can bring in new clones, vary size, attach comments, etc.
would like editor to make more direct use of mouse, rather than
specifying length of cosmids, etc.
at present not a way to join contigs easily RD: 1-10 release
pretty much the same, but Neale now has additional functions that help
the editing process (now in test phase at Sanger)
it does correct calculations if you have fingerprint data
several people expressed interest in getting new version
Otto: would be nice to have a scale (tag in contig model)
RD: there is a scale in the editing form, so should be easy
Otto: if you could position loci and comments on scale, then you could
put a restriction map below
RD: have another approach to restriction maps
Otto: would be nice to make it a recursive so you could show maps within
maps
RD: would be nice to have menu item for "next contig left [right]" to
get to other contigs connected via genetic map
RD: how it works...
probably will keep this module with editing functions
(units in this map are integers because based on fingerprint data)
in the future, use uMap to show physical maps more generally, with
floating point est Kb, etc.
RESTRICTION MAPS
For restriction maps, you want to be able to put sites on consensus
maps as well as on individual clones. So idea for the model is...
?Clone
RestrictionSite ?Restriction Float //site from start point in coord
same tag setup for ?Map, with
Clone ?Clone Float
need to do this for David Bentley et al -- human X
also may want to have
?Probe with subclass STS, clone,
______ ?Clone
______ ?Clone
Data Positive_clone ?Clone
Negative_clone ?Clone
Positive_pool ?Clone
Negative_pool ?Clone
also can relate to ?Pool, and even to virtual pools (all pools that
have ever been hybridized to it) also pool is a type of probe that has
subprobes
Suzanna: also sometimes pool the clones you are testing against
RD: so also need a pool of targets... probably unwise to make the
clone class recursive, so maybe need targetp
__:will this generalize to more complicated pooling schemes?
RD: it should work...
Otto: why not call it "reagent" for probes, restriction sites, etc.
probe can be subclass of reagent
GDB has reagent as mechanism by which locus is placed on a map
Suzanna: describes flybase models
uses in situ info to localize to chromosome and find inconsistencies
likes idea of using clone grid to show what should and should not hit
Two-tiered pooling scheme allows prediction of what row/col should be
===============
MODELS
JMc: distinctions between lists, sets, and trees
Jean invites everyone to submit their models to common ftp site
for him and others to review, make suggestions, etc.
Lisa: would really like to have XREF's within #constructor
RD: problem is that back XREF would not know where to go if you have
more than one # in the same class Another problem is that you can't
XREF back because you'd have to know the location (the preceding
dependent data field)
Frank: would be nice to have a diagramatic way to represent
connections, and make it impossible to do unpermitted connects
problems that can occur...
RD: e.g., 3-point data
Gene1 ?Gene XREF 3pt
Gene2 ?Gene XREF 3pt
Gene3 ?Gene XREF 3pt
e.g. Gene1 unc-5
Gene2 tra-1
then they decided they needed to change the order.
edited by deleting unc-5 and changing it to tra-1, then del tra-1
that lost a cross reference
moral is that its unwise to have this structure
==============MODELS (continued)=======================
Sam: what to do when you think you have a problem
a. send question to acedb newsgroup
b. try to describe as fully and precisely as possible
1. try to reproduce it in a stripped down database to isolate
2. try to eliminate as many other variables as possible
3. then can send a small sample dataset
4. provide login name for Richard and Jean to run local
Elizabeth: would like to be able to specify ordering of set items
RD: ACEDB will preserve order in which set was created
so author order will be preserved if read as part of paper
problem was back XREF from ?Author XREF back to paper
RD: used to do alphabetic order on sets
might be good idea to permit different sort orders
Elizabeth: would also like to have private tags for local comments
RD: could have 2 versions of database -- one gets screened via filter
that drops certain tags
Otto: could you have 2 wspecs pointing at same blocks.wrm? NO
could specify display separate from model set vs list
(Frank and John also like this idea)
Richard does not like this -- good to have user visual cue as to
what underlying logical structure is
JMc: could have active outline put hidden stuff collapsed at bottom
Lisa: also would like to attach reference to most every tag, handle
like comment...
RD: would be possible to have extra comment classes...
RD: another solution...
?Paper
Corresponding_comment ?Comment
and add Corresponding_paper in the ?Comment class
?Used_in Strain1
Strain2
=====================================================
SPECIAL CHARACTERS
Dave M: users want Greek, super and subscripts, italics
could use SGML, TeX, or other escape sequences
Otto: might be good to include fonts or pointer to where to get them
we should look at what X would need to do Greek, etc.
RD: might be able to add a few things to ACEDB fontset for super and
subscripts.
=====================================================
ACEDB INTERACTION WITH OTHER DATABASES
Mike: going to use Genome Topographer for Yeast DB at Stanford
GT supposed to be multi-species db
costs money for underlying DBMS - GemStone
as a test, going to load aatdb into Genome Topographer
going to teach GT to read and write .ace files
this plus client-server might lead to .ace client for GT
Tom Marr (& Jackie, Elizabeth, Steve)
SmallTalk80 (ParcPlace), Servio Corp -- GemStone
data from GDB, yeast, Hood, Olson, Cytogen(Grey), Donis-Keller's
mapping group, Blanchard, etc.
Bob Robbins supposed to be trying to get site license for DoE
BUT, Mike does not like current GT interface as much as ACEDB, so will
be trying to link GT to ACEDB. ACEDB is easier to use.
Leland Ellis:
-Filamentous Fungi IBT, Tamu, Baylor
Aspergillus nidulous
......
Neurospora crassa
-Bovine: TAmu
Jim Womack (cf Human)
-Crops: TAmu Sorghum vs Maize, others
all of these need distributed, comparative support, rich GUI (b&w)
GT is quite different from ACEDB in its complexity
700 classes and 40k methods to manipulate them!
GemStone coded in OPAL
how to get around all this ...
-Mosaic NCSA: ftp.ncsa.uiuc.edu
-HTML html.mode.el --> Emacs
-httpd server http://Keck.tamu.edu/ibt.htl (universal resource locator
URL)
-runs under X, nice GUI, Access to WWW, Gopher, ftp,news,file
LE is converting GT 150page doc into html hypertext document
WWW: comp.infosystems.www, alt.___.www
Doug Bigwood: NAL PGD goals to bring together data, comparative
have been working in SyBase, APT -- painful development & use
(same as GDB)
ultimately want to have graphical user interface
DB went to Madison 2 years ago & looked at ACEDB, WCS, Jean
have talked to Otto about how to put ACEDB on top of SyBase.
--
+=====================================================================+
| John L. McCarthy. . | Internet:..JLMcCarthy@lbl.gov |
| Computer Science R&D MS 50B-3238 | Bitnet: ...JLMCCARTHY@LBL |
| Lawrence Berkeley Laboratory .| telephone: (510) 486-5307 |
| 1 Cyclotron Road . | |
| BERKELEY, CA 94720, U.S.A. . | FAX: (510) 486-4004 |
+=====================================================================+
Technical Details
Message-ID:
<jlmccarthy-080993095131@slavsing.lbl.gov>Path:
arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!agate!dog.ee.lbl.gov!slavsing.lbl.gov!userShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f6d40,e06e7e654e331d39,start X-Google-Attributes: gidf6d40,public X-Google-ArrivalTime: 1993-09-08 11:43:05 PST Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!agate!dog.ee.lbl.gov!slavsing.lbl.gov!user From: jlmccarthy@lbl.gov (John L. McCarthy) Newsgroups: bionet.software.acedb Subject: Notes from ACEDB Workshop, part I Followup-To: bionet.software.acedb Date: 8 Sep 1993 16:42:17 GMT Organization: Lawrence Berkeley Laboratory Lines: 688 Message-ID: <jlmccarthy-080993095131@slavsing.lbl.gov> NNTP-Posting-Host: 128.3.252.43