ron shaker, peter mork, matt barclay and peter tarczy-hornoch, m.d. university of washington,...
Post on 20-Dec-2015
216 views
TRANSCRIPT
Ron Shaker, Peter Mork, Matt Barclay andPeter Tarczy-Hornoch, M.D.
University of Washington, Seattle WA
A Rule Driven Bi-Directional Translation System for Remapping Queries and Result
Sets Between a Mediated Schema and Heterogeneous Data Sources
Introduction
• Growing number of online biomedical data sources
• Need for an easy, homogeneous way to query these data sources
• Goal of GeneSeek
BackgroundOntology Definition
Name Sequence Organism Source/DB Source/ID
Name Locus Organism Source/DB Source/ID
Name Organism Source/DB Source/ID
Name Organism Source/DB Source/ID
NUCLEOTIDESEQUENCE
PHENOTYPEGENE
PROTEIN
BackgroundMediated Schema Definition
DATASOURCE
DATASOURCE
DATASOURCE
DATASOURCE
KNOWLEDGEBASE
GENE
PROTEIN
PHENOTYPE
NUCLEOTIDESEQUENCE
BackgroundQuery Generation
QueryReformulator
QueryEngine
KnowledgeBase
PQLQuery
Metawrapper
Wrapper
Wrapper
Wrapper DataSource
DataSource
DataSource
Data Access Engine (Back End)
Query Generation (Front End)
BackgroundData Retrieval
QueryReformulator
QueryEngine
KnowledgeBase
PQLQuery
Metawrapper
Wrapper
Wrapper
Wrapper DataSource
DataSource
DataSource
Data Access Engine (Back End)
Query Generation (Front End)
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
http://biomediator.org/metawrapper?database=OMIM&entity=Phenotype&attribute=Name[value=narcolepsy]
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
http://biomediator.org/omim_wrapper?term=narcolepsy[GENE]+or+narcolepsy[TITL]+or+narcolepsy[WORD]
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
4. Retrieve data in native format from remote data source
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
4. Retrieve data in native format from remote data source
Syntactic Translation Step
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
4. Retrieve data in native format from remote data source
5. Return XML-formatted query results to the metawrapper
Syntactic Translation Step
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
4. Retrieve data in native format from remote data source
5. Return XML-formatted query results to the metawrapper
Symantic Translation Step Syntactic Translation Step
ArchitectureData Retrieval Process
Metawrapper Wrapper DataSource
1. Construct query URL to contact metawrapper
2. Construct query URL to contact wrapper
3. Request data using native API of remote data source
4. Retrieve data in native format from remote data source
5. Return XML-formatted query results to the metawrapper
6. Return XML-formatted query results to Tukwila
Symantic Translation Step Syntactic Translation Step
Forward Mapping RulesQuery URL
database.add("OMIM");entity.add("Phenotype");attributes.add("Name[value=narcolepsy]");query.put(ForwardRules.PARAM_ATTRIBUTE, attributes);query.put(ForwardRules.PARAM_ENTITY, entity);query.put(ForwardRules.PARAM_DATABASE, database);String metawrapperURL = constructMetawrapperURL(query);
http://biomediator.org/metawrapper?database= OMIM &entity= Phenotype &attribute= Name[value=narcolepsy]
Rules API
Databases
OMIM Ph
Entity
Mediated Schema (SKB)
Name Organism Source/
DB Source/ID
Attributes
+
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
Forward Mapping Rules
http://biomediator.org/omim_wrapper?
<database xid="id-omim-db"> <database_name>OMIM</database_name> <url_format><![CDATA[ http://biomediator.org/omim_wrapper ]]></url_format> <entity xref="id-omim-entity-phenotype" /> <entity xref="id-omim-entity-gene" /></database>
<entity xid="id-omim-entity-phenotype"> <entity_name>Phenotype</entity_name> <attribute xref="id-omim-attrib-phenotype-organism" /> <attribute xref="id-omim-attrib-phenotype-name" /></entity>
<attribute xid="id-omim-attrib-phenotype-name"> <attribute_name>Name</attribute_name> <term xref="id-omim-term-text" /></attribute>
<term xid="id-omim-term-text"> <term_name>term</term_name> <url_format><![CDATA[ db=protein&term=${term_value} [GENE]+or+${term_value}[TITLE]+or+${term_value}[WORD] ]]> </url_format></term>
E E Entity
AA A Attribute
TermTT T T
D Database
db = protein & term= narcolepsy[GENE]+or+narcolepsy[TITL]+or+narcolepsy[WORD]
Forward Mapping Rules
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Reverse Mapping RulesReverse Mapping Rules(applied by metawrapper)
Metawrapper Output(XML document)
Wrapper Output(XML document)
<metawrapper_source>
<Phenotype xid=”1">
<Name>HYPOCRETIN; HCRT</Name>
<Name>OREXIN; OX</Name> <Name>PREPROOREXIN</Name>
<Source> <DB>OMIM</DB> <ID>602358</ID> </Source>
</Phenotype> . . .</metawrapper_source>
<omim_source>
<disease>
<mimType>star</mimType>
<title>HYPOCRETIN; HCRT</title>
<alias>OREXIN; OX</alias> <alias>PREPROOREXIN</alias>
<mimNum>602358</mimNum>
</disease> . . .</omim_source>
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" /> <define type="string" key="$mim_num" /> </pre> <match path="/omim_source/disease/title"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/alias"> <append path="/Name" input="*content" setnode="false" key="$pheno" /> </match> <match path="/omim_source/disease/mimNum"> <set key="$mim_num" input="*content" /> <append path="/Source" setnode="true" key="$pheno" /> <append path="ID" input="$mim_num" setnode="false" key="$pheno" /> <append path="DB" input="OMIM" setnode="false" key="$pheno" /> </match> </match> </match></rule>
Future PlansTools for Biologists
Forward Rules
File:
JDBC:
Rules.xml
Validate w/XML Schema
Schema.dtd
Load Save
Session Log
Plug-in version 1.03
Loaded DTD: Schema.dtdLoading file: Rules.xmlValidating file: Rules.xml
Saving file: Rules.xml
XVC
Forward Rule Set
Gene
Phenotype
Name
OMIM
LocusLink
Organism
termEdit Entity
NameOrganism
Attribute Group
Min:
Max:
1
2
OK
Reverse Rules
<omim_schema> <error /> <disease> <mimNumber /> <mimType /> <title /> <alias /> <gene> <symbol /> <locus /> </gene>
<mediated_schema> <Phenotype> <Name /> <Organism /> <Source> <DB /> <ID /> </Source> </Phenotype> <Gene> <Name /> <Locus />
Append
Link
<rule xid="id_omim-rule"> <match path="/omim_source"> <match path="/omim_source/disease"> <pre> <define type="entity" key="$pheno" name="Phenotype" />
<disease> <Phenotype />
Match