Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Stanford Microarray Database: Don Maier


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Stanford Microarray Database: Don Maier

  1. 1. MAGE-TAB in SMD-Land Cate Beauheim, Cathy Ball, Don Maier <ul><li>One Validating Parser </li></ul><ul><li>Graphical Interface to create and load into SMD </li></ul>
  2. 2. <ul><li>Avoid the problem of multiple incompatible formats that has plagued MAGE-ML. </li></ul><ul><li>A single, reference MAGE-TAB parser/validator that can be used in both Java and Perl programming environments. </li></ul><ul><li>Easily revise the parser along when the MAGE-TAB specification is revised. </li></ul>Requirements
  3. 3. <ul><li>Formal grammar specification to generate the parser. NO HAND-WAVING ALLOWED </li></ul><ul><li>Formal UML-specified object model used to generate classes that represent the MAGE information that the parser may discover. </li></ul><ul><li>Connect the generated parser to the generated MAGE-TAB objects by calls to a hand-coded “apply” method that invokes the generated constructors and setters for MAGE-TAB objects. </li></ul><ul><li>While all this is in Java, Perl programs get access via Java::Inline. </li></ul>Design
  4. 5. <ul><li>Logic specific to MAGE-TAB isolated in a formal grammar, a UML-specified object model, and an “apply” method that links the grammar and objects. </li></ul><ul><li>Lexer/parser automatically generated from a formal grammar for MAGE-TAB using ANTLR. </li></ul><ul><li>MAGE-TAB information represented by objects automatically generated from UML by AndroMDA. </li></ul><ul><li>Either Perl or Java can invoke a parse and access the information generated as MAGE-TAB object attributes. </li></ul><ul><li>Validation stamping avoids unneeded re-parsing. </li></ul><ul><li>Java-based implementation runs on any platform that supports Java 1.5.0 or newer. </li></ul>Features