Magic Tags

A magic tag is a structural feature of a model which is required by ACEDB in order to perform a certain task, most often related to the behavior a specialized display. There are many magic tags, but unfortunately the documentation for them is sparse.

Only a few magic tags affect the text display, so in most respects there are no limitations on the underlying models. However the genetic map and other displays are dependent on magic tags for proper function.

Magic tags fall into at least four categories.

Action tags

These tags "violate" the rule that clicking on a tag accomplishes nothing other than to collapse or expand the branch of a tree. The only example is "pick_me_to_call", which invokes an external program with a single argument. For example,

?Image Pick_me_to_call Text Text
The left Text field should contain the name of an external program that can be invoked by xace, such as xv, a shareware product for viewing images. The second Text field contains an argument for that program, i.e. the name of an image file like "rusty.gif". The effect is to present the user with the named image file in xv when the tag is double-clicked.

Tag 0

"Tag 0" refers to tags which are used as Booleans, i.e. their presence or absence is noted by ACEDB, but any following fields are irrelevant. For example, the tag "Flipped" in ?Map makes the coordinate system increase from bottom to top.

Tag 1

"Tag 1" refers to tags which directly identify the fields following them. For example, in ?Map

?Map Centre UNIQUE Float UNIQUE Float
"Centre" is used to provide ACEDB with the default center and width of a map. In text displays, certain tags of this type are used in bibliographic references to support the "biblio" function.

Tag 2

"Tag 2" refers to cases in which a tag identifies a branch (one or more tags and fields). Again from ?Map

?Map Contains Locus ?Locus XREF Map
              Clone ?Clone XREF Map
              ...etc...
"Contains" makes it possible to include any object on the map. The tags following "Contains" are not magic and the curator is free to modify them as appropriate.

Magic classes

Sometimes everything in a class is magic. ?Map_position is one example. It is a constructed type used to position objects on a map

?Map_position UNIQUE    Position UNIQUE Float #Map_error
                        Ends Left UNIQUE Float #Map_error
                             Right UNIQUE Float #Map_error
                        Multi_Position  Float #Map_error
                        Multi_Ends Float UNIQUE Float

Additional information

Some map-related magic tags have been documented in detail. In addition, the ACEDB developers periodically document magic tags in a brief format by commenting models.wrm.