Stanford Microarray Database: Don Maier

5
MAGE-TAB in SMD-Land MAGE-TAB in SMD-Land Cate Beauheim, Cathy Ball, Don Maier Cate Beauheim, Cathy Ball, Don Maier One Validating Parser Graphical Interface to create and load into SMD

Transcript of Stanford Microarray Database: Don Maier

Page 1: Stanford Microarray Database: Don Maier

MAGE-TAB in SMD-LandMAGE-TAB in SMD-LandCate Beauheim, Cathy Ball, Don MaierCate Beauheim, Cathy Ball, Don Maier

One Validating Parser

Graphical Interface to create and load into SMD

Page 2: Stanford Microarray Database: Don Maier

A void the problem of multiple incompatible formats that has plagued MA GE-ML.

A single, reference MA GE-TA B parser/validator that can be used in both Java and Perl programming environments.

Easily revise the parser along when the MA GE-TA B specification is revised.

Requirements

Page 3: Stanford Microarray Database: Don Maier

Formal grammar specification to generate the parser.NO HA ND-WA V ING A LLOWED

Formal UML-specified object model used to generate classes that represent the MA GE information that the parser may discover.

Connect the generated parser to the generated MA GE-TA B objects by calls to a hand-coded “ apply” method that invokes the generated constructors and setters for MA GE-TA B objects.

While all this is in Java, Perl programs get access via Java::Inline.

Design

Page 4: Stanford Microarray Database: Don Maier

QuickTime and aᆰTIFF (LZW) decompressor

are needed to see this picture.

Page 5: Stanford Microarray Database: Don Maier

Logic specific to MA GE-TA B isolated in a formal grammar, a UML-specified object model, and an “ apply” method that links the grammar and objects.

Lexer/parser automatically generated from a formal grammar for MA GE-TA B using A NTLR.

MA GE-TA B information represented by objects automatically generated from UML by A ndroMDA .

Either Perl or Java can invoke a parse and access the information generated as MA GE-TA B object attributes.

V alidation stamping avoids unneeded re-parsing.

Java-based implementation runs on any platform that supports Java 1.5.0 or newer.

Features