As the REST API of OpenTargets has been retired, this repository is no longer maintained.
OTAR parser
This module is an extension of the Python client for the Open Targets REST API that parses the result object. The module has a simple command line interface to demonstrate its functionality by displaying summaries of the overall association scores extracted from the returned response object.
Requirements
- Python 3.6+
- Opentargets REST API wrapper v3.1.16 (see installation instruction here)
- Pandas
Installation using pip
Once the desired Python 3 virtual environment is activated, the parser and its dependencies can be directly installed from github using pip:
pip install git+https://github.com/DSuveges/OTAR_response_parser
Usage
This is a Python module that takes opentargets.conn.IterableResult
object as an input, but for demonstrative
purposes, it is shipped with a simple command line interface as well. If the module is installed via pip
, this
command line tool gets also installed and added to the path.
The command line interface
Display command line help message:
OTAR_result_parser -h
Expected output:
usage: OTAR_result_parser [-h] [-t TARGET] [-d DISEASE] [-v]
A small command line tool to demonstrate the capabilities of the Opentargets
parser module. At this stage it shows statistics of the association scores in
a result set of a target or disease specific query.
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Specify target ID. eg. ENSG00000197386.
-d DISEASE, --disease DISEASE
Specify disease ID. eg. Orphanet_399
-v, --verbose Prints out extra information
Parsing result object for a target query:
OTAR_result_parser -t ENSG00000197386
Expected output:
[Info] ENSG00000197386 as target ID returned the following associations:
Assoc #0 - Target ID: ENSG00000197386, disease ID: EFO_0000618, association score: 1.0
Assoc #1 - Target ID: ENSG00000197386, disease ID: Orphanet_71859, association score: 1.0
...
Assoc #791 - Target ID: ENSG00000197386, disease ID: EFO_0003758, association score: 0.004
Assoc #792 - Target ID: ENSG00000197386, disease ID: EFO_0003756, association score: 0.004
[Info] Association score stats for the target based query for ENSG00000197386:
The maximum of the association_score.overall values: 1.0
The minimum of the association_score.overall values: 0.004
The average of the association_score.overall values: 0.2269340041521952
The standard error of the association_score.overall values: 0.1754745344039146
Parsing result object for a disease query:
OTAR_result_parser -d Orphanet_399
Expected output:
[Info] Orphanet_399 as disease ID returned the following associations:
Assoc #0 - Target ID: ENSG00000165646, disease ID: Orphanet_399, association score: 1.0
Assoc #1 - Target ID: ENSG00000198785, disease ID: Orphanet_399, association score: 1.0
...
Assoc #798 - Target ID: ENSG00000101966, disease ID: Orphanet_399, association score: 0.004
Assoc #799 - Target ID: ENSG00000006128, disease ID: Orphanet_399, association score: 0.004
[Info] Association score stats for the disease based query for Orphanet_399:
The maximum of the association_score.overall values: 1.0
The minimum of the association_score.overall values: 0.004
The average of the association_score.overall values: 0.08275577839514175
The standard error of the association_score.overall values: 0.1508110393500087
If both target and disease query is requested at the same time, at first the disease/trait table is printed out for the target and disease based search; then the association score statistics for the target and disease based query.
Application interface
from opentargets import OpenTargetsClient
from OTAR_result_parser.OTAR_result_parser import OTAR_result_parser
# Get association for a gene for example:
geneID = 'ENSG00000197386'
# Fetch data from OpenTargets:
client = OpenTargetsClient()
otar_results = client.filter_associations()
x = otar_results.filter(target=geneID)
# Initialize parser object:
OT_parser = OTAR_result_parser(x, verbose=True)
Get the average of the overall association scores:
OT_parser.get_association_score_mean()
Get the lowest overall association score:
OT_parser.get_association_score_min()
Get the highest overall association score:
OT_parser.get_association_score_max()
Get the standard deviation of the overall association scores:
OT_parser.get_association_score_std()
Get the number of associations in the returned dataset:
len(OT_parser)