Home : Workgroups : MAGE : Introduction
For an introduction to MAGE, please check out the following the Word document and Adobe PDF. The information in this document is converted into a webpage also as shown below. For a full MAGE specification, please check out the Gene Expression RFP document located under MAGE-OM. For a clickable version (requires SVG plugin) of the diagrams described below, please check here (Thanks to Robert Horton for providing these).
MAGE-ML: MicroArray Gene Expression Markup Language
-Full MAGE specification: http://cgi.omg.org/cgi-bin/doc?lifesci/01-10-01
-MAGE-ML Document Type Definition (DTD): http://cgi.omg.org/cgi-bin/doc?lifesci/01-11-02
Microarray Gene Expression Markup Language (MAGE-ML) is a language designed to describe and communicate information about microarray based experiments. MAGE-ML is based on XML and can describe microarray designs, microarray manufacturing information, microarray experiment setup and execution information, gene expression data and data analysis results. This paper describes the basic MAGE-ML structure and its main concepts. The structure of MAGE-ML is not simple, therefore we envisage that typically MAGE-ML documents will not be created "by hand" (i.e., just using text editors), but by user-friendly tools providing web form interface and the ability to link external tab-delimited data, that are currently being developed. Therefore the purpose of this paper is twofold:
- For microarray laboratory scientists it may be describing all they need to know about MAGE-ML;
- For bioinformaticians that intend to develop tools for microarray data management or to run such tools for microarray laboratories, this paper can serve as the first introduction to MAGE-ML.
MAGE-ML has been automatically derived from Microarray Gene Expression Object Model (MAGE-OM), which is developed and described using the Unified Modelling Language (UML) - a standard language for describing object models. Descriptions using UML have an advantage over direct XML document type definitions (DTDs), in many respects. First they use graphical representation depicting the relationships between different entities in a way which is much easier to follow than DTDs. Second, the UML diagrams are primarily meant for humans, while DTDs are meant for computers. Therefore MAGE-OM should be considered as the primary model, and we will explain MAGE-ML by providing simplified fragments of MAGE-OM, rather than XML DTD or XML Schema. For full details of MAGE-OM, mapping rules used to derive MAGE-ML from MAGE-OM, as well as comprehensive glossary of terms see http://cgi.omg.org/cgi-bin/doc?lifesci/01-10-01
MAGE-OM is expressed in UML, however, for the purposes of this preliminary explanation knowledge of UML is not necessary. The main principle is that boxes represent classes of some objects and lines represent various relationships between the classes. Classes can represent various sets of entities: real-world physical objects (e.g., microarrays), real-world abstractions (e.g., microarray experiments), real-world actions (e.g., hybridization events) or information objects (e.g., microarray data matrices). Here we will not analyse what kinds of relationships there are in UML and how they are represented on diagrams, for details, see, e.g., http://www.ajug.org/info/tech/uml/uml.html
MAGE-OM is a bit too large to be represented on a single diagram in a readable way. In order to structure the model the UML notion of packages is used. Related classes are grouped together into packages, and quite often represented on the same diagrams. MAGE-OM will be explained package-by-package; a tool able to export MAGE-ML will probably have separate modules and/or user interface sections for separate packages, e.g., you can enter information about array designs in one UI section and information about steps of your microarray experiment using another UI section. On diagrams classes belonging to the package under discussion are coloured yellow, while classes belonging to other packages, therefore detailed elsewhere, but drawn on the current diagram for the purposes of showing inter-package relationships, are coloured grey.
Further details of this document are broken into the following sections: