Title: MAGE and MAD or MAD about MAGE
1MAGE and MAD(or MAD about MAGE)
Joseph White(jwhite_at_tigr.org)The Institute for
Genomic Research www.tigr.orgMGED 6September
3-8, 2003
2MAD and MAGE
- Database Design Issues for MAD
- Integrating MAGE into MAD
- MAGE Adapters MAGE-Perl
- TIGR_Madam MAGE-Java
3MicroArray Database Schema
4Conceptual Schema MAD
5TIGR Microarray Databases
12/11/02
6Design Considerations
- Normalized database tables
- Clones are related to Wells which are related to
Spots on a Slide (Array) - Experiment 1 Slide 2 Probes
- Expression table is huge must re-index
frequently - MIAME compatability extend existing tables, and
add tables where necessary
7Signals, Spots and Clones
Normalized tables
Slide map
Analysis
8Clones, Genes and Oligos
9MIAME Relational Schema
10MAD vs. MIAME
- MIAME was designed as the model of public
databases for microarray data. - MIAME does not capture certain critical
information e.g. - Clone set information
- Plate-well to slide row-column data
- Clone and gene annotation information
- MAD lacks certain information as well e.g.
- MAD lacks contact and publication information.
- MAD treats an experiment as a single
hybridization. - MAD does not adequately treat quality control
data. - We do not store images in the MAD database
itself, but store file names and locations.
11 Experiment and Hybridization Parameters
12Probe Data
13Studies, Experiments, and Replicates
14Studies, Experiments and Replicates
15MAGE OM for Array Data
- Purpose Provide and object model to capture data
for a MIAME data repository. - Accept data in XML format from any database, i.e.
schema independent. - Load data into MIAME database.
- Export data from MIAME database in XML format.
MIAME
16MAGE Adapters
TIGR_MAGE.pm
17TIGR_MAGE.pm
- COMPOUND_CY3 / COMPOUND_CY5
- CHANNEL_CY3 / CHANNEL_CY5
- QUANTITATION_TYPE_DIMENSION
- CONTACT hash
- make_identifier()
- make_person()
- pake_protocol()
- get_channel_from_filter()
- convert_date()
- get_measurement()
18make_identifier
- sub make_identifier
- my(type,args) _at__
- my auth argsauth 'tigr.org'
- croak "make_identifier must specify authority"
if ! auth - croak "make_identifier must specify namespace"
if ! argsns - if(exists TYPEStype )
- croak "make_identifier must specify type
name" if ! argsname - return "LSIDMAGEauthargsnstypeargsna
me" -
- elsif (type eq 'Zone' )
- croak "make_identifier must specify type
name" if ! argsname - croak "make_identifier must specify type row"
if ! argsrow - croak "make_identifier must specify type col"
if ! argscol - return "LSIDMAGEauthargsnsargsnamet
ypeargsrowargscol" -
- elsif (type eq 'LabeledExtract')
- croak "make_identifier must specify
LabeledExtract name" if ! argsname - croak "make_identifier must specify
LabeledExtract label" if ! argslabel - return "LSIDMAGEauthargsnstypeargsna
meargslabel"
19make_identifier
- sub make_identifier
- my(type,args) _at__
- my auth argsauth 'tigr.org'
- croak "make_identifier must specify authority"
if ! auth - croak "make_identifier must specify namespace"
if ! argsns - if(exists TYPEStype )
- croak "make_identifier must specify type
name" if ! argsname - return "LSIDMAGEauthargsnstypeargsna
me" -
- elsif (type eq 'Zone' )
- croak "make_identifier must specify type
name" if ! argsname - croak "make_identifier must specify type row"
if ! argsrow - croak "make_identifier must specify type col"
if ! argscol - return "LSIDMAGEauthargsnsargsnamet
ypeargsrowargscol"
20make_identifier needs
- my _at_tmp_types qw(Experiment BioAssay Array
BioMaterial ArrayDesign - ArrayManufacture PhysicalArrayDesign
Hybridization Protocol - BioEvent Image FeatureDimension BioAssayData
Security - SecurityGroup BioAssayDimension Feature MAGE
BioSequence - Reporter CompositeSequence ReporterCompositeMap
FeatureReporterMap - ReporterGroup CompositeGroup FeatureGroup
Hardware MeasuredBioAssayData - MeasuredBioAssay ExperimentDesign
ExperimentalFactor - )
- foreach my type (_at_tmp_types) TYPEStype
''
21make_identifier
-
- elsif (type eq 'LabeledExtract')
- croak "make_identifier must specify
LabeledExtract name" if ! argsname - croak "make_identifier must specify
LabeledExtract label" if ! argslabel - return "LSIDMAGEauthargsnstypeargsna
meargslabel" - elsif (type eq 'Treatment')
- croak "make_identifier must specify Treatment
source" if ! argssource - croak "make_identifier must specify Treatment
target" if ! argstarget - return "LSIDMAGEauthargsnstypeargsso
urceargstarget" - else
- croak "make_identifier unsupported type
type" -
-
22makeOE
- sub makeOE
- my (category,value,uri,db) _at__
- my oe BioMAGEDescriptionOntologyE
ntry-gtnew() - if(! category ! value) return oe
- oe-gtsetCategory(category)
- oe-gtsetValue(value)
- my accn substr(uri, index(uri,"")
1 ) - accn value if ! accn
- if(uri db)
- oe-gtsetOntologyReference(
- BioMAGEDescriptionDa
tabaseEntry-gtnew( accessiongtaccn, -
databasegtBioMAGEDescriptionDatabase-gtnew( -
identifiergtmake_identifier('Database',
authgturi, nsgtdb), -
namegt"Databasedb", -
URIgturi, ) - ) )
- return oe
23MADAM
- Java v.1.3.1 Application
- MySQL v.3.23.49
- InnoDB
- Schema provided
- Released Sept, 02
- www.tigr.org
- Application will run on a laptop with a P3 650
MHz processor and 256 Mb RAM. - Requires 0.5 2.0 Gb of disk space for InnoDB
tables. - Runs on most flavors of Windows (not tested in
Win 95). - Installer will do all necessary work including
creating DB.
24(No Transcript)
25ACKNOWLEDGEMENTS
John Quackenbush Principle Investigator Alex
Saeed Madam, MultiExperiment-Viewer Vasily
Sharov Madam, Spotfinder Jerry Li Madam,
Barcode reader Joseph White Madam, Array
Databases Tracey Currier Experiment Designer,
Web MEV Wei Liang Miner, MIDAS John
Braisted Web MEV Nirmal Bhagabhati MEV
Statistical Analysis Mathangi Thiagarajan User
Support Eleanor Howe User Support Special
Thanks Jason Stewart Perl Guru