| Literature DB >> 18205924 |
Don Maier1, Farrell Wymore, Gavin Sherlock, Catherine A Ball.
Abstract
BACKGROUND: MAGE-ML has been promoted as a standard format for describing microarray experiments and the data they produce. Two characteristics of the MAGE-ML format compromise its use as a universal standard: First, MAGE-ML files are exceptionally large - too large to be easily read by most people, and often too large to be read by most software programs. Second, the MAGE-ML standard permits many ways of representing the same information. As a result, different producers of MAGE-ML create different documents describing the same experiment and its data. Recognizing all the variants is an unwieldy software engineering task, resulting in software packages that can read and process MAGE-ML from some, but not all producers. This Tower of MAGE-ML Babel bars the unencumbered exchange of microarray experiment descriptions couched in MAGE-ML.Entities:
Mesh:
Year: 2008 PMID: 18205924 PMCID: PMC2233607 DOI: 10.1186/1471-2105-9-28
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.169
Figure 1trans_example.xml. A one-step translation that specifies 1) FeatureExtraction elements are to be changed (specified by the changeLocationQuery), 2) the new content for the change to each selected FeatureExtraction (specified by the locationValueQuery) is the concatenation of the existing names for a Hybridization and a Compound related to that FeatureExtraction – connected by the string literal " feature extraction ", 3) the change is to add an attribute to each of the FeatureExtraction elements (specified as the op addAttribute), and 4) the attribute name is "name" (specified as the newNodeName).
Figure 2XBabelPhish performing a MAGE-ML document translation. The inputs to XBabelPhish are an XML document (here, one semantic variant of MAGE-ML) to translate, and a translation definition – a typically brief XML description of a sequence of translation steps. XBabelPhish loads both the source document and the translation definition into a Berkeley DB XML database where it performs the XQuery-based updates that implement each of the steps in the translation definition. When the translation is complete, XBabelPhish extracts the translated document from the database to produce the output (here, another semantic variant of MAGE-ML).
XBabelPhish primitive operations
| add an element as the first child of a targeted parent element | <x> | <a/> | element to add | <x><a/></x> | |
| add an element as the last child of a targeted parent | <x> | <d/> | element to add | <x> <a/> <d/> </x> | |
| insert an element after a targeted sibling element | <a> | <b/> | element to add | <x> <a/> <b/> <d/> </x> | |
| insert an element before a targeted sibling element | <d> | <c/> | element to add | <x> | |
| add an attribute to a targeted element | <x> | name | name of attribute to add | <x> | |
| "xFamily" | attribute value | ||||
| add text to the start of an element | <x> | "start" | text to add | <x> | |
| add text to the end of an element | <x> | "end" | text to add | <x> | |
| delete a target node of any type | <d> | node to delete | <x> | ||
| rename a target element or attribute node | <a>/@name | title | new name | <x> | |
| update the value of a target element or attribute node | <a>/@title | "abcGroup" | new (attribute) value | <x> |
The Operation in the first row is applied to the simple, abstract XML snippet:
The Operation in each succeeding row applies to the Result of the row immediately preceding it.
Figure 3mage-ml_example.xml. Snippet of a MAGE-ML document before XBabelPhish executes the translation trans_example.xml in Figure 1. This valid MAGE-ML contains two FeatureExtraction elements (under the MeasuredBioAssay elements) that have an identifier attribute but no name attribute. The translation adds a name attribute to each of them.
Figure 4new_example.xml. The result of executing the translation defined by trans_example.xml (Figure 1) on mage-ml_example.xml (Figure 3). The value of a new name attribute for each of the two FeatureExtraction elements has been computed from their related Hybridization and Compound elements according to the translation definition.
Figure 5XBabelPhish run output. The running commentary that XBabelPhish gives of its progress executing the translation of Figure 1 on the file snipped into Figure 3. The -verbose option has been used to provide more detail.