Skip to content

Commit 176fee4

Browse files
authored
Merge pull request #199 from WengLab-InformaticsResearch/reasoner_validator
Reasoner validator
2 parents 0b2daf2 + 75448ed commit 176fee4

4 files changed

Lines changed: 26 additions & 31 deletions

File tree

cohd/cohd_trapi_15.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class CohdTrapi150(CohdTrapi):
4141
edge_types_negative = ['biolink:negatively_correlated_with']
4242
default_negative_predicate = edge_types_negative[0]
4343

44-
tool_version = f'{CohdTrapi._SERVICE_NAME} 6.4.1'
44+
tool_version = f'{CohdTrapi._SERVICE_NAME} 6.4.3'
4545
schema_version = '1.5.0'
4646
biolink_version = bm_version
4747

cohd/trapi/reasoner_validator_ext.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,28 +149,27 @@ def validate_trapi_response(trapi_version, bl_version, response):
149149
"""
150150
# Ignore the following codes
151151
codes_ignore = {
152-
'warnings': [
153-
'warning.response.knowledge_graph.empty', # For TRAPI error responses, COHD uses null KG, which is allowed
154-
'warning.response.results.empty', # For TRAPI error responses, COHD uses null results, which is allowed
152+
'warning': [
153+
'warning.knowledge_graph.node.id.unmapped_prefix', # False negative on SNOMEDCT
155154
],
156-
'errors': [
157-
]
155+
'error': []
158156
}
159157

160158
# Validation
161159
validator = TRAPIResponseValidator(
162160
trapi_version=trapi_version,
163161
biolink_version=bl_version,
164-
strict_validation=None
162+
strict_validation=False
165163
)
166164
validator.check_compliance_of_trapi_response(response)
167-
vms = validator.get_all_messages()
165+
messages = validator.get_all_messages()
166+
standard_tests = messages['Validate TRAPI Response']['Standards Test']
168167

169168
# Ignore certain codes
170169
for level, codes in codes_ignore.items():
171-
v_messages = vms[level]
170+
v_messages = standard_tests[level]
172171
for code in codes:
173172
# remove code from dictionary, no error if code not in dict
174173
v_messages.pop(code, None)
175174

176-
return vms
175+
return standard_tests

notebooks/cohd_helpers/cohd_requests.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -844,10 +844,10 @@ def translator_query_100(node_1_curie, node_2_curie=None, node_2_type=None, max_
844844
return response, query
845845

846846

847-
def translator_query_120(node_1_curies, node_2_curies=None, node_2_categories=None, predicates=None, max_results=500,
848-
confidence_interval=None, dataset_id=3, local_oxo=True, method='obsExpRatio',
849-
min_cooccurrence=None, ontology_targets=None, biolink_only=True, threshold=None, timeout=300,
850-
query_id=True):
847+
def translator_query(node_1_curies, node_2_curies=None, node_2_categories=None, predicates=None, max_results=500,
848+
confidence_interval=None, dataset_id=3, local_oxo=True, method='obsExpRatio',
849+
min_cooccurrence=None, ontology_targets=None, biolink_only=True, threshold=None, timeout=300,
850+
query_id=True):
851851
"""NCATS Translator Reasoner API. See documentation: https://github.com/NCATS-Tangerine/NCATS-ReasonerStdAPI
852852
853853
Parameters
@@ -939,10 +939,6 @@ def translator_query_120(node_1_curies, node_2_curies=None, node_2_categories=No
939939
return response, query
940940

941941

942-
# TRAPI 1.3 query on COHD is currently the same as TRAPI 1.2 query
943-
translator_query_130 = translator_query_120
944-
945-
946942
def translator_version():
947943
url = f'{server}/translator/version'
948944
response = requests.get(url, timeout=5)

test_cohd_trapi.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020

2121
# Choose which server to test
2222
# cr.server = 'https://dev.cohd.io/api'
23-
# cr.server = 'https://cohd-api.ci.transltr.io/api'
24-
# cr.server = 'https://cohd-api.test.transltr.io/api' # Temporarily default to Test as Translator consrotia has only deployed TRAPI 1.4 to Test
25-
cr.server = 'https://cohd-api.transltr.io/api' # Default to ITRB-Production instance
23+
cr.server = 'https://cohd-api.ci.transltr.io/api'
24+
# cr.server = 'https://cohd-api.test.transltr.io/api'
25+
# cr.server = 'https://cohd-api.transltr.io/api'
2626

2727
# Specify what Biolink and TRAPI versions are expected by the server
28-
BIOLINK_VERSION = '3.5.0'
29-
TRAPI_VERSION = '1.4.2'
28+
BIOLINK_VERSION = '4.1.6'
29+
TRAPI_VERSION = '1.5.0'
3030

3131
# Static instance of the Biolink Model Toolkit
3232
bm_toolkit = Toolkit()
@@ -37,7 +37,7 @@
3737
_s = namedtuple('_s', ['key', 'type'])
3838

3939
# Proxy for main TRAPI version
40-
translator_query = cr.translator_query_130
40+
translator_query = cr.translator_query
4141

4242
_logging_level_from_str = {logging.getLevelName(level): level for level in
4343
[logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR]}
@@ -47,11 +47,11 @@ def _validate_trapi_response(response):
4747
vms = validate_trapi_response(TRAPI_VERSION, BIOLINK_VERSION, response)
4848

4949
# expect no validation errors
50-
assert len(vms['errors']) == 0 and len(vms['critical']) == 0, print(vms)
50+
assert len(vms['error']) == 0 and len(vms['critical']) == 0, print(vms)
5151

5252
# If there are validation warnings, display them, but don't fail
53-
if len(vms['warnings']) > 0:
54-
warnings.warn(str(vms['warnings']))
53+
if len(vms['warning']) > 0:
54+
warnings.warn(str(vms['warning']))
5555

5656

5757
def _print_trapi_log(trapi_response, print_level=logging.WARNING):
@@ -682,7 +682,7 @@ def test_translator_query_multiple_categories():
682682
"query_graph": {
683683
"nodes": {
684684
"subj": {
685-
"ids": ["UMLS:C0451709"]
685+
"ids": ["SNOMEDCT:197356006"]
686686
},
687687
"obj": {
688688
"categories": ["biolink:DiseaseOrPhenotypicFeature"]
@@ -723,7 +723,7 @@ def test_translator_query_multiple_categories():
723723
"query_graph": {
724724
"nodes": {
725725
"subj": {
726-
"ids": ["UMLS:C0451709"]
726+
"ids": ["SNOMEDCT:197356006"]
727727
},
728728
"obj": {
729729
"categories": ["biolink:Procedure"]
@@ -764,7 +764,7 @@ def test_translator_query_multiple_categories():
764764
"query_graph": {
765765
"nodes": {
766766
"subj": {
767-
"ids": ["UMLS:C0451709"]
767+
"ids": ["SNOMEDCT:197356006"]
768768
},
769769
"obj": {
770770
"categories": ["biolink:DiseaseOrPhenotypicFeature", "biolink:Procedure"]
@@ -954,7 +954,7 @@ def test_translator_workflows():
954954
}
955955
},
956956
"workflow": [
957-
{"id": "lookup"}
957+
{"id": "lookup_and_score"}
958958
],
959959
"query_options": {
960960
"max_results": 1

0 commit comments

Comments
 (0)