Skip to content

ARAGORN and ROBOKOP

karafecho edited this page Dec 11, 2023 · 2 revisions

Back to Home

ARAGORN and ROBOKOP

Autonomous Relay Agent for Generation Of Ranked Networks (ARAGORN)

A Translator ARA to query Knowledge Providers (KPs) and synthesize highly ranked answers relevant to user-specified questions.

  • Operates in a federated knowledge environment.
  • Bridges the precision mismatch between data specificity in KPs and more abstract levels of user queries.
  • Generalizes answer ranking.
  • Normalizes data to use preferred and equivalent identifiers.

Team Contact:

Abrar Mesbah ( amesbah@covar.com )

ARAGORN Description

ARAGORN provides unified access to multiple operations (see glossary and the Operations repo), including fill/bind/complete (Strider), Merge Answers (Answer Coalescence), Edge Weighting, and Result Scoring (Aragorn Ranker). Currently, ARAGORN composes these operations into a fixed workflow, but the individual components are available as their own TRAPI endpoints.

The current ARAGORN workflow consists of:

  • Strider takes a TRAPI query graph and calls distributed KPs to construct a TRAPI KG and results.
  • AragornRanker adds literature co-occurrence edges to the graph and a weight to each edge binding, and it then scores each result based on these weights.

ARAGORN as Primary Knowledge Source

ARAGORN produces two types of edges: 1) Creative edges using a rule-based system and 2) literature co-occurence edges.

Creative edges (Rule-based reasoning)

Offline, the ROBOKOP KG is analyzed to find graph patterns that are predictive of the existence of a new edge. For instance, the system may learn that if A up-regulates B and B up-regulates C then A (indirectly) up-regulates C. Then, when a new queries arrives at ARAGORN such as "What up-regulates X?", ARAGORN can apply these rules to find new edges. When ARAGORN is the primary knowledge source on an edge, this kind of rule-based reasoning is the method employed.

Literature co-occurrence

Offline, natural language processing is used to find mentions of Translator concepts across a vast number of PUBMED abstracts. From that information, the ARAGORN Ranker then determines: (1) the number of times that very concept is mentioned in an abstract and (2) the number of times that pairs of concepts appear in the same abstract. From these numbers, the ranker assigns a score representing the strength of co-occurrence of two arbitrary terms. These literature co-occurrence edges are not used in the finding of new creative results, but it influences confidence in a result.

Additional links

ARAGORN is meant to handle arbitrary TRAPI queries, including queries with multiple identified nodes and arbitrary query topology.

As an example, here is a simple one-hop TRAPI query:

{
    "message": {
        "query_graph": {
            "nodes": {
                "n0": {
                    "id": "NCBIGene:6611",
                    "category": "biolink:Gene"
                },
                "n1": {
                    "category": "biolink:ChemicalSubstance"
                }
            },
            "edges": {
                "e01": {
                    "subject": "n0",
                    "object": "n1"
                }
            }
        }
    }
}

This query looks for chemicals that are directly connected to a single particular gene.

The query can be placed in a text file (query.json) and sent to ARAGORN using CURL, for example:

curl -X POST https://aragorn.renci.org/query -d @query.json

A usage guide examining the results of this query can be found here.

Reasoning Over Biomedical Objects linked in Knowledge Oriented Pathways (ROBOKOP)

ARAGORN is thorough - it hits every KP it can that might hold the proverbial needle in the haystack. However, this means that it can sometimes be slow. ROBOKOP uses all the same reasoning and ranking as ARAGORN, but it limits its queries to the still-broad ROBOKOP KG, so that it can return results much more rapidly, if less comprehensively.

Issue support

To declare an issue with this software:

Deployment

Instructions for building the relevant containers and deploying them to Kubernetes can be found in the the ARAGORN README.

Supporting APIs

ARAGORN makes use of several tools that can be independently accessed. As new operations are adopted by Translator, these will be accessible by passing arguments to ARAGORN.

Knowledge Providers

ARAGORN accesses KPs via its Strider component. The list of KPs is kept up-to-date on the Strider page.

Source Code

Clone this wiki locally