<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Preliminary Report on Answering Complex Queries related to Drug Discovery using Answer Set Programming</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Olivier Bodenreider</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zeynep H. C¸ oban</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahir C. Dog˘anay</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esra Erdem</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hilal Kos¸ucu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Biostatistics, Harvard School of Public Health</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dept. of Mathematics and Computing Science, University of Groningen</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Faculty of Engineering and Natural Sciences, Sabancı University</institution>
          ,
          <country country="TR">Turkey</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>National Library of Medicine, National Institutes of Health</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We introduce a new method for integrating relevant parts of knowledge extracted from biomedical ontologies and answering complex queries related to drug safety and discovery, using Semantic Web technologies and answer set programming. The applicability of this method is illustrated in detail on some parts of existing biomedical ontologies. Its effectiveness is demonstrated by computing an answer to a real-world biomedical query that requires the integration of NCBI Entrez Gene and the Gene Ontology.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <sec id="sec-1-1">
        <title>Improvements in Web technologies have brought about various forms of data, and thus</title>
      </sec>
      <sec id="sec-1-2">
        <title>WWW has been a huge and easy-to-reach source of knowledge. Particularly recent</title>
        <p>advances in health and life sciences (e.g., human genome project) have led to generation
of a large amount of data. In order to facilitate access to its desired parts, such a big mass
of data has been stored in structured forms (like databases or ontologies). For instance,
some data/information about drugs is being stored in ontologies, like DRUGBANK and</p>
      </sec>
      <sec id="sec-1-3">
        <title>PHARMGKB, available on WWW; and the genes targeted by the drug Epinephrine can</title>
        <p>be found by searching such a drug ontology using the keyword “Epinephrine.”</p>
        <p>On the other hand, storing heterogeneous data independent from each other and
at different locations has made it difficult to automate high-level reasoning about the
stored data. For instance, it is possible to find an answer to the query “What are the
genes targeted both by Epinephrine and by Isoproterenol?” only after several steps:
considering that a drug (and also a gene) might have been stored in different ontologies
under different names, first for each drug a list of genes targeted by that drug could be
found, and next these two lists of genes are compared to identify the common ones, by
comparing these two lists of genes. Such complex queries, which require appropriate
integration of knowledge stored in different places and in various forms, can be answered
by current Web technologies most of the time only by some direction/reasoning of
humans. This slows down vital research, like drug discovery, that requires comparative
data analysis and high-level reasoning and decision making.</p>
        <p>
          Motivated by these challenges, this paper studies the problem of integrating
various data sources to be able to perform high-level reasoning tasks, including answering
complex queries using both Semantic Web technologies and Answer Set Programming
(ASP) [
          <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1–4</xref>
          ]. The idea is to build a rule layer using ASP over ontologies described with
some Semantic Web technologies. The rule layer not only provides rules to link parts
of the ontologies but also provides some background knowledge to be able to perform
various reasoning tasks, such as query answering.
        </p>
        <p>
          That most of the information about biomedical ontologies are actually defaults and
that most biomedical ontologies contain incomplete knowledge motivated us to use a
nonmonotonic formalism to build a rule layer over ontologies. That experts might want
to express preferences as well as constraints while querying the knowledge stored in
ontologies to be able to discover new knowledge, and that ASP provides an expressive
language to express them and efficient solvers, like DLVHEX6 [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] built over DLV,7 to
reason about them motivated us to use ASP as such a nonmonotonic formalism.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2 Three Ontologies</title>
      <sec id="sec-2-1">
        <title>To experiment with our ASP approach to integrating biomedical ontologies and reason</title>
        <p>ing about them, and to illustrate its applicability, we have developed three ontologies,
namely a gene ontology, a disease ontology, and a drug ontology. We have built these
ontologies from existing knowledge from various data sources available on the Web.
These ontologies are written in RDF(S). To develop our disease ontology, first we
selected a set of diseases. The names (and their synonyms) of each disease are taken
from PHARMGKB database.8 Information about the symptoms of these diseases is
obtained from the Medical Symptoms and Signs of Disease web page.9 Information
about the genes related to each disease are also extracted from PHARMGKB. Each
disease is classified in some category relative to the information available at the Genes
and Diseases web page.10 Some components of the disease ontology is shown in
Table 1. We have prepared the other two ontologies in a similar way, using PHARMGKB,
UNIPROT,11 GENE ONTOLOGY (GO),12 GENENETWORK database,13 DRUGBANK,14
and the Medical Symptoms and Signs of Disease web page.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Integrating Knowledge Extracted from Different Ontologies</title>
      <sec id="sec-3-1">
        <title>DLVHEX provides constructs to import external theories that may be in different formats. For instance, consider as an external theory our drug ontology described in RDF. All triples from this theory can be exported using the external predicate &amp;rdf:</title>
        <p>6 http://con.fusion.at/dlvhex/
7 http://www.dbai.tuwien.ac.at/proj/dlv/
8 http://www.pharmgkb.org/ .
9 http://www.medicinenet.com/symptoms_and_signs/article.htm .
10 http://www.ncbi.nlm.nih.gov/disease/ .
11 http://www.ebi.uniprot.org/index.shtml .
12 http://www.geneontology.org .
13 http://humgen.med.uu.nl/˜lude/genenetwork/ .
14 http://redpoll.pharmacy.ualberta.ca/drugbank/ .</p>
      </sec>
      <sec id="sec-3-2">
        <title>Not all triples may be relevant to the query asked by the user. For instance, if one asks for the names of drugs listed in the ontology, then only the triples that describe the names of drugs are sufficient to answer this query. The names of drugs, out of all properties about drugs described in drug.rdf, can be extracted by the following rule:</title>
        <p>drug_name(A) :- triple_drug(_,"drugproperties:name",A).</p>
      </sec>
      <sec id="sec-3-3">
        <title>If the query were about gene-gene interactions, then we could extract the relevant part of the gene ontology by the rules</title>
        <p>gene_gene(G1,G2) :- triple_gene(X,"geneproperties:name",G1),
triple_gene(X,"geneproperties:related_genes",B),
triple_gene(B,Z,Y), Z!="rdf:type",
triple_gene(Y,"geneproperties:name",G2).</p>
      </sec>
      <sec id="sec-3-4">
        <title>Once necessary parts of ontologies are extracted from ontologies, one can define further concepts to integrate these knowledge. For instance, once we extract the genegene interactions, we can obtain all chains of gene-gene interactions for a gene targeted by a drug, by defining the transitive closure of gene gene:</title>
        <p>tc_gene_gene(X,Y) :- gene_gene(X,Y).
tc_gene_gene(X,Y) :- gene_gene(X,Z), tc_gene_gene(Z,Y).</p>
      </sec>
      <sec id="sec-3-5">
        <title>Now let us relate this information to a gene G targeted by a drug D by finding every</title>
        <p>gene G1 that is related to G by means of a chain of interactions:
drugTargetedGene_interacts_gene(D,G,G1)
:drug_targets(D,G), tc_gene_gene(G,G1).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Answering Complex Queries using DLVHEX</title>
      <sec id="sec-4-1">
        <title>With the help of Devrim Go¨zu¨ac¸ık (a medical doctor and a molecular biologist), we have identified a set of meaningful queries about drugs, genes, diseases, towards drug safety and discovery. We present here only three of them:</title>
      </sec>
      <sec id="sec-4-2">
        <title>Q12 Is there a drug that has no toxicity information?</title>
      </sec>
      <sec id="sec-4-3">
        <title>Q14 Does a drug R alleviate at least 1 symptom of a disease D and have at most 2 symptoms of D as side effects?</title>
      </sec>
      <sec id="sec-4-4">
        <title>We integrate relevant parts of ontologies, and formulate these queries as follows.</title>
      </sec>
      <sec id="sec-4-5">
        <title>Q6 What are the sideeffects that are shared by all the drugs that treat a disease D?</title>
      </sec>
      <sec id="sec-4-6">
        <title>For the disease Asthma, this query can be formulated as follows:</title>
        <p>answer :- sideeffect(S), common_sideeffect("Asthma",S).
:- not answer.</p>
      </sec>
      <sec id="sec-4-7">
        <title>Here common sideeffect is defined as follows:</title>
        <p>-common_sideeffect(D,S) :- not drug_sideeffect(R,S),
drug_disease(R,D), sideeffect(S).
common_sideeffect(D,S) :- not -common_sideeffect(D,S),
sideeffect(S), disease_name(D).</p>
      </sec>
      <sec id="sec-4-8">
        <title>Here is a part of the answer DLVHEX finds to the query above:</title>
        <p>flushing dizziness headache</p>
      </sec>
      <sec id="sec-4-9">
        <title>Q12 Is there a drug that has no toxicity information?</title>
        <p>To answer this query, we define a new concept of “unknown” toxicity:
unknown_toxicity_drug(X) :- drug_synonym(R,X),</p>
        <p>not drug_istoxic(R), not -drug_istoxic(R).
where drug istoxic(R) describes that the drug R is toxic, and -drug istoxic(R)
describes that the drug R is not toxic:
drug_istoxic(R) :- triple_drug(X,"drugproperties:name",R),
triple_drug(X,"drugproperties:is_toxic","yes").
drug_istoxic(R) :- drug_synonym(R,R1), drug_istoxic(R1).
-drug_istoxic(R) :- triple_drug(X,"drugproperties:name",R),
triple_drug(X,"drugproperties:is_toxic","no").
-drug_istoxic(R) :- drug_synonym(R,R1), -drug_istoxic(R1).</p>
      </sec>
      <sec id="sec-4-10">
        <title>For the query</title>
        <p>:- not unknown_toxicity_drug("Isoproterenol").</p>
      </sec>
      <sec id="sec-4-11">
        <title>DLVHEX returns an answer set; therefore the answer to the query above is positive.</title>
      </sec>
      <sec id="sec-4-12">
        <title>Q14 Does a drug R alleviate at least 1 symptom of a disease D and have at most 2 symptoms of D as side effects?</title>
      </sec>
      <sec id="sec-4-13">
        <title>To answer this query we define a new concept:</title>
        <p>a_drug_disease_relation(R,D)
:disease_name(D), drug_name(R),
1 &lt;= #count{S:drug_symptom(R,S),disease_symptom(D,S)},
#count{S:drug_sideeffect(R,S),disease_symptom(D,S)}&lt;=2.</p>
      </sec>
      <sec id="sec-4-14">
        <title>For the query</title>
        <p>:- not a_drug_disease_relation("Isoproterenol",
"Substance Related Disorders").</p>
      </sec>
      <sec id="sec-4-15">
        <title>DLVHEX returns no answer set; therefore the answer to the query above is negative.</title>
      </sec>
      <sec id="sec-4-16">
        <title>To investigate the effectiveness of our approach to answering real-world queries, we have considered a slight modification of the complex query studied in [6]:</title>
      </sec>
      <sec id="sec-4-17">
        <title>Find all the genes annotated with the molecular function glycosyltransferase</title>
        <p>
          or any of its descendants and associated with any form of congenital muscular
dystrophy.
and tried to reproduce the same results. In the query of [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] the GO ID for
glycosyltransferase is given. The query above requires integration of NCBI Entrez Gene (EG) and
the Gene Ontology (GO).
        </p>
      </sec>
      <sec id="sec-4-18">
        <title>To find an answer to this query, we have used the RDF version of GO that is released</title>
        <p>on February 6, 2008; it contains 416700 RDF triples. We have used an RDF version of</p>
      </sec>
      <sec id="sec-4-19">
        <title>EG that contains 673180 RDF triples. The computation of an answer consists of two parts: extracting relevant knowledge from each ontology and integrating them. We have extracted from GO the molecular function glycosyltransferase and its descendants by the rules</title>
        <p>mf_isa(Y) :- triple_go(Y,"go:name",YN),</p>
        <p>&amp;strstr[YN,"glycosyltransferase"].
mf_isa(Y) :- triple_go(Y,"go:synonym",YN),</p>
        <p>&amp;strstr[YN,"glycosyltransferase"].
mf_isa(X) :- triple_go(X,"go:is_a",Y), mf_isa(Y).
mf_isa(X) :- triple_go(X,"go:synonym",XN),</p>
        <p>triple_go(Z,"go:name",XN), triple_go(Z,"go:is_a",Y), mf_isa(Y).</p>
      </sec>
      <sec id="sec-4-20">
        <title>The first two rules extract the molecular functions whose names or synonyms contain the string “glycosyltransferase”. The last two rules extract the descendants of these molecular functions, considering their synonyms.</title>
      </sec>
      <sec id="sec-4-21">
        <title>Similarly, we have extracted from EG the diseases with any form of congenital</title>
        <p>muscular dystrophy, by the rules
gene_disease(Y,D) :- triple_eg(Y,"eg:has_OMIM_record",Z),
triple_eg(Z,"eg:has_textual_description",D),
&amp;strstr[D,"congenital"], &amp;strstr[D,"muscular"],
&amp;strstr[D,"dystrophy"].</p>
        <p>
          After that we have integrated the extracted knowledge by the rules
gene_mf_disease(Y,XI,D) :- gene_disease(Y,D),
triple_eg(Y,"eg:has_GeneOntology_annotation",X),
mf_isa(XI), triple_eg(X,"eg:has_GO_ID",XI).
and computed the following answer (the same as in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]) to the query:
gene_mf_disease("http://www.ncbi.nlm.nih.gov/dtd/NCBI_Entrezgene.
dtd/9215", "http://www.geneontology.org/go#GO:0008375",
"Muscular dystrophy, congenital, type 1D")
        </p>
      </sec>
      <sec id="sec-4-22">
        <title>DLVHEX extracts relevant knowledge from the ontologies, integrates them, and</title>
        <p>computes the answer above in 9 minutes, on a machine with Intel Centrino 1.8GHz</p>
      </sec>
      <sec id="sec-4-23">
        <title>CPU and 1 GB of RAM running on Windows XP.</title>
        <p>6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We have studied integrating relevant parts of knowledge extracted from biomedical
ontologies, and answering complex queries related to drug safety and discovery, using
Semantic Web technologies and Answer Set Programming (ASP). We have illustrated the
applicability of this method on some ontologies extracted from existing biomedical
ontologies, and its effectiveness by computing an answer to a real-world biomedical query
that requires the integration of NCBI Entrez Gene and the Gene Ontology. We have also
compared our approach with the existing Semantic Web technologies that support
representing and answering queries. We have observed about these technologies that, due
to lack of support for rules or for some concepts (e.g., transitive closure, negation as
failure, cardinality constraints), some queries can not be represented concisely and some
queries can not be represented at all. In this sense, the ASPa-pproach provides a more
expressive formalism to represent rules, concepts, constraints, and queries.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <sec id="sec-6-1">
        <title>Devrim Go¨ zu¨ ac¸ık helped us identify some of the complex queries. Thomas Krennwall</title>
        <p>ner and Roman Schindlauer helped us with installing/using DLVHEX. RACER Systems
provided us a free, educational version of RACERPRO,15 to be used in connection with</p>
      </sec>
      <sec id="sec-6-2">
        <title>DLVHEX. Anonymous reviewers provided useful comments on an earlier draft. This</title>
        <p>research was supported in part by the Intramural Research Program of the National</p>
      </sec>
      <sec id="sec-6-3">
        <title>Institutes of Health (NIH), National Library of Medicine (NLM).</title>
        <p>15 http://www.racer-systems.com/ .</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lifschitz</surname>
          </string-name>
          , V.:
          <article-title>Action languages, answer sets and planning</article-title>
          .
          <source>In: The Logic Programming Paradigm: a 25-Year Perspective</source>
          . Springer (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Marek</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , Truszczyn´ski, M.:
          <article-title>Stable models and an alternative logic programming paradigm</article-title>
          .
          <source>In: The Logic Programming Paradigm: a 25-Year Perspective</source>
          . Springer (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Niemela¨,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Logic programs with stable model semantics as a constraint programming paradigm</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>25</volume>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baral</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Knowledge Representation, Reasoning and Declarative Problem Solving</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Eiter</surname>
            , T., G.Ianni,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Schindlauer</surname>
          </string-name>
          , H.Tompits:
          <article-title>Effective integration of declarative rules with external evaluations for Semantic-Web reasoning</article-title>
          .
          <source>In: Proc. of ESWC</source>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sahoo</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bodenreider</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>From “glycosyltransferase” to “congenital muscular dystrophy”: Integrating knowledge from NCBI Entrez Gene and the Gene Ontology</article-title>
          .
          <source>In: Proc. of Medinfo</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>