I am delighted to see that Jean Thierry-Mieg is now receiving and
contributing to this newsgroup (see "stepping in" 11/4/93).
He just sent the following proposal for a more general map model and asked
me to forward it to the newsgroup for discussion:
-John McCarthy
Received: from lbl.gov by ux5.lbl.gov (4.1/1.39)
Date: Fri, 5 Nov 93 13:15:17 GMT
From: mieg at kaa.cnrs-mop.fr (Danielle et Jean Thierry-Mieg)
November 6, 1993
A project for an Acedb model revision
by J.T-M
In collaboration with Otto, I came up with the following running
prototype. Any feedback hartly welcome.
the root of the matter is contained in this mini model.
?Map Type UNIQUE Genetic // this flag can be used to define subclasses
Cytogenetic // Chromosome could be Map, filtered
Cytogenetic
Physical
Contains Locus ?Locus XREF Map // to look tidy
Also ANY XREF Map // Anything else
?map_location UNIQUE Position UNIQUE Float #map_error
Multi_Position Float #map_error
Ends Left UNIQUE Float #map_error
Right UNIQUE Float #map_error
?map_error Error UNIQUE Float
?Locus Map ?Map XREF Locus #map_location
Main_Marker ?Map XREF Main_Marker
Inside Inside_YAC ?YAC XREF Contains
Inside_Fragment ?Fragment XREF Locus
Chrom_Band ?Chrom_Band XREF Locus
?Clone Position Map ?Map XREF Refers_to #map_location // position on
vertical maps
Inside Links ?Fragment XREF Link
?YAC Location Map ?Map XREF Refers_to #map_location
Contains Locus ?Locus XREF Inside_YAC
************************************************************
RULE 1:
MappingTags, governing the Map package behaviour are always 2 up
from the actual objects.
So far, i have defined this way: Contains, Inside, Outside
i would consider Between, Does_Not_Contain
RULE2:
As far as the map display is concerned, anything in the Contains
paragraph will appear on the map. In particular a Map may well
contain another map.
Its display will be specialised if it belongs to a class with a
specialised display code (i.e.: Gene, Chrom_Band, Rearrangement,
later submaps).
Otherwise, any object containing the construction
Map xxx Position 3.2 Error .3
will be displayed as a point locus (gMapDisplayAnyLocus)
any with
Map xxx Ends Left 4.2 Error .1
Right 4.8 Error .2
will be displeaed as a segment (gMapDisplayAnyInterval)
RULE3:
On firstpick (gMapSelect):
a) The selected box, and all boxes refreeing to the same key turn
lighblue.
b) All neighbours (i.e. keys referred to in the selected obj) turn
LIGHTGREEN
c) All tags referred to via mappingTag (Inside, Outside etc) as
obtained via a bsFlatten(mappingTag,2) recolor according to their
relative position: GREEN if happy, RED if Problem, LIGHTRED if marginal.
************************************************************
Interesting properties:
a) Every box on the map will be recolored according to the Inside,
Outside etc mapping tags irrespective of their class, irrespective
of their class and peculiar displays.
b) I do not prerregister friends any more, i.e. sets of objetc
coloring lightgreen in advance. This enormously simplifis the code.
It also behaves much better because "friends" are not transitive.
The overhead of accessing the object rather tahn a preregistered
table is negligeable. It anticipates on the second pick(display) and
is in fact faster than preregistering all sets of friends.
c) Any new class will appear on the map if it XREF to a tag to the
right of the Contains tag. In particular, in the runnig prototype i
have a well behaved YAC/STS map, when the code was compiled before
including these classes in the model files. This completely solves
the problem of the Bentley database who had to call his YACs
deficiencies and the like.
d) The generic map making algorithms depend only on the mappingTags
and thus run on arbitrary maps.
e) As a side effect, you will note that the mappingTags are part of
the models but will not appear in the ace files. Furthermore, a YAC
say can be said to Contains other yacs, clones, STS, genes, i.e. any
etherogeneous set you want, since you can define one level of tags
under the mappingTag contains.
f) As required by John McCarthy and others, the numbers defining the
map position are now explicitelly qualified.
**************************************************************
Again , i would welcome any sort of comments.
-Jean
--
posted by...
+=====================================================================+
| John L. McCarthy. . | Internet:..JLMcCarthy at lbl.gov |
| Computer Science R&D MS 50B-3238 | Bitnet: ...JLMCCARTHY at LBL |
| Lawrence Berkeley Laboratory .| telephone: (510) 486-5307 |
| 1 Cyclotron Road . | |
| BERKELEY, CA 94720, U.S.A. . | FAX: (510) 486-4004 |
+=====================================================================+