def test_path_property_to_json(): stmt = Phosphorylation(enz=Agent('EGFR', db_refs={'HGNC': '3236'}), sub=Agent('ERK', db_refs={'FPLX': 'ERK'})) entity_constraints = {'exclude': [Agent('PI3K', db_refs={'FPLX': 'PI3K'})]} relationship_contraints = {'exclude': ['IncreaseAmount', 'DecreaseAmount']} query = PathProperty(stmt, entity_constraints, relationship_contraints) assert query json = query.to_json() assert json.get('type') == 'path_property' path = json.get('path') assert path.get('type') == 'Phosphorylation' deserialize_query = Query._from_json(json) json2 = deserialize_query.to_json() assert json == json2, {'json': json, 'json2': json2}
def test_stringify_path_property(): stmt = Phosphorylation(enz=Agent('EGFR', db_refs={'HGNC': '3236'}), sub=Agent('ERK', db_refs={'FPLX': 'ERK'})) entity_constraints = {'exclude': [Agent('PI3K', db_refs={'FPLX': 'PI3K'})]} relationship_contraints = {'exclude': ['IncreaseAmount', 'DecreaseAmount']} query = PathProperty(stmt, entity_constraints, relationship_contraints) query_str = str(query) assert query_str == 'PathPropertyQuery(stmt=Phosphorylation(EGFR(), ERK()). Exclude entities: PI3K(). Exclude relations: IncreaseAmount, DecreaseAmount.'
def _make_query(query_dict, use_grouding_service=True): stmt_type = query_dict['typeSelection'] stmt_class = get_statement_by_name(stmt_type) subj = get_agent_from_text(query_dict['subjectSelection'], use_grouding_service) obj = get_agent_from_text(query_dict['objectSelection'], use_grouding_service) stmt = stmt_class(subj, obj) query = PathProperty(path_stmt=stmt) return query
def _make_query(query_dict): if 'typeSelection' in query_dict.keys(): stmt_type = query_dict['typeSelection'] stmt_class = get_statement_by_name(stmt_type) subj = get_agent_from_text(query_dict['subjectSelection']) obj = get_agent_from_text(query_dict['objectSelection']) stmt = stmt_class(subj, obj) query = PathProperty(path_stmt=stmt) tab = 'static' elif 'agentSelection' in query_dict.keys(): agent = get_agent_from_trips(query_dict['agentSelection']) value = query_dict['valueSelection'] if not value: value = None pattern = query_dict['patternSelection'] query = DynamicProperty(agent, pattern, value) tab = 'dynamic' return query, tab
def test_path_property_to_english(): stmt = Phosphorylation(enz=Agent('EGFR', db_refs={'HGNC': '3236'}), sub=Agent('ERK', db_refs={'FPLX': 'ERK'})) query = PathProperty(stmt) engl = query.to_english() assert engl == 'EGFR phosphorylates ERK.'