Map models proposal from Jean

John L. McCarthy jlmccarthy at lbl.gov
Fri Nov 5 14:47:26 EST 1993

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
        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


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

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)

On firstpick (gMapSelect):
a) The selected box, and all boxes refreeing to the same key turn
b) All neighbours (i.e. keys referred to in the selected obj) turn
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.


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      |

More information about the Acedb mailing list

Send comments to us at biosci-help [At] net.bio.net