def test_msa_paper_retrieval_failure(): content = KQMLList('GET-PAPER-MODEL') content.sets('pmid', 'PMID-00000123') msa = msa_module.MSA_Module(testing=True) resp = msa.respond_get_paper_model(content) assert resp.head() == 'SUCCESS', str(resp) assert resp.get('relations-found') == 0, resp
def create_message(self): content = KQMLList('GET-COMMON') ekb = ekb_from_text('MEK') content.sets('genes', ekb) content.sets('up-down', 'ONT::SUCCESSOR') msg = get_request(content) return msg, content
def test_head(self): kp = KQMLPerformative('tell') self.assertEqual(kp.head(), 'tell') kp = KQMLPerformative( KQMLList(['tell', ':content', KQMLList(['success'])])) self.assertEqual(kp.head(), 'tell')
def test_init(self): kl = KQMLList() self.assertEqual(kl.data, []) kl = KQMLList('head') self.assertEqual(kl.data, ['head']) self.assertTrue(isinstance(kl.data[0], KQMLToken)) kl = KQMLList(['a', 'b']) self.assertEqual(kl.data, ['a', 'b'])
def _get_message(heading, target=None, residue=None, position=None): msa = msa_module.MSA_Module(testing=True) content = KQMLList(heading) if target is not None: content.sets('target', ekb_from_text(target)) if residue and position: content.sets('site', '%s-%s' % (residue, position)) return msa.respond_phosphorylation_activating(content)
def test_init(): kl = KQMLList() assert(kl.data == []) kl = KQMLList('head') assert(kl.data == ['head']) assert(type(kl.data[0] == KQMLToken)) kl = KQMLList(['a', 'b']) assert(kl.data == ['a', 'b'])
def create_message(self): content = KQMLList('PHOSPHORYLATION-ACTIVATING') content.sets('target', ekb_from_text('MAPK1')) for name, value in [('residue', 'T'), ('position', '185')]: if value is not None: content.sets(name, value) msg = get_request(content) return msg, content
def test_msa_paper_retrieval_failure(): raise SkipTest("This feature is currently not available.") content = KQMLList('GET-PAPER-MODEL') content.sets('pmid', 'PMID-00000123') msa = msa_module.MSA_Module(testing=True) resp = msa.respond_get_paper_model(content) assert resp.head() == 'FAILURE', str(resp) assert resp.get('reason') == 'MISSING_MECHANISM'
def create_message(self): txt = 'Selumetinib decreases FOS in BT20 cells' explain = stmts_clj_from_text(txt) explain_stmt = self.bioagent.get_statement(explain)[0] assert explain_stmt.evidence[0].context, explain_stmt.evidence[0] content = KQMLList('USER-GOAL') content.set('explain', explain) msg = get_request(content) return msg, content
def test_description_not_list_handling(): mm = MRA_Module(testing=True) content = KQMLList.from_string( '(BUILD-MODEL :DESCRIPTION (' ':TYPE "Inhibition" ' ':SUBJ (:NAME "SB-525334" ' ' :DB--REFS (:+TYPE+ "ONT::GENE-PROTEIN" ' ' :+TEXT+ "SB525334"' ' :+PUBCHEM+ "9967941")) ' ':OBJ (:NAME "TGFBR1"' ' :DB--REFS (:+TYPE+ "ONT::GENE-PROTEIN" ' ' :+TEXT+ "TGFBR1" ' ' :+HGNC+ "11772" ' ' :+UP+ "P36897" ' ' :+NCIT+ "C51730")) ' ':OBJ--ACTIVITY "activity" ' ':BELIEF 1 ' ':EVIDENCE ((:SOURCE--API "trips" ' ' :SOURCE--HASH -1613118243458052451)) ' ':ID "ce486f46-3670-42e6-8f0e-d5f510525352" ' ':MATCHES--HASH "-32031145755534420"))''') try: reply = mm.respond_build_model(content) except InvalidModelDescriptionError: return assert False, "Model should have explicitly failed: " + reply.to_string()
def create_type_and_source(self): filter_agents = KQMLList([map2k1, mapk1]) return self._get_content('FIND-RELATIONS-FROM-LITERATURE', type='Phosphorylation', source=braf, target=NONE, filter_agents=filter_agents)
def _get_build_model_request(text, format=None): content = KQMLList('BUILD-MODEL') if format == 'ekb': descr = ekb_kstring_from_text(text) content.sets('description', descr) content.sets('format', 'ekb') else: descr = stmts_clj_from_text(text) content.set('description', descr) return get_request(content), content
def test_respond_model_undo_no_model_yet(): mm = MRA_Module(testing=True) content = KQMLList.from_string('(MODEL-UNDO)') reply = mm.respond_model_undo(content) assert reply.gets('model-id') == 'NIL' action = reply.get('action') assert action.head() == 'remove_stmts', reply stmts = action.get('statements') assert not stmts
def _get_message(heading, target=None, residue=None, position=None): msa = msa_module.MSA_Module(testing=True) content = KQMLList(heading) if target is not None: content.sets('target', target) if residue and position: content.sets('site', '%s-%s' % (residue, position)) return msa.respond_phosphorylation_activating(content)
def create_message(self): content = KQMLList('PHOSPHORYLATION-ACTIVATING') content.sets('target', ekb_from_text('MAPK1')) for name, value in [('residue', 'T'), ('position', '185')]: if value is not None: content.sets(name, value) msg = get_request(content) return (msg, content)
def test_respond_model_undo(): mm = MRA_Module(testing=True) _, content = _get_build_model_request('HRAS activates RAF') reply = mm.respond_build_model(content) _, content = _get_expand_model_request('NRAS activates RAF', '1') expand_reply = mm.respond_expand_model(content) expand_stmts = expand_reply.gets('model-new') content = KQMLList.from_string('(MODEL-UNDO)') reply = mm.respond_model_undo(content) assert reply.gets('model-id') == '3' action = reply.get('action') assert action.head() == 'remove_stmts' stmts = action.get('statements') assert json.loads(stmts.string_value()) == json.loads(expand_stmts)
def test_respond_build_model_from_json(): mm = MRA_Module(testing=True) st = sts.Phosphorylation(sts.Agent('MEK'), sts.Agent('ERK')) msg = KQMLList('BUILD-MODEL') msg.sets('description', json.dumps(sts.stmts_to_json([st]))) msg.sets('format', 'indra_json') reply = mm.respond_build_model(msg) assert(reply.get('model')) assert(reply.get('model-id') == '1')
def _get_message(heading, target=None, residue=None, position=None): msa = msa_module.MSA_Module(testing=True) content = KQMLList(heading) if target is not None: content.sets('target', ekb_from_text(target)) for name, value in [('residue', residue), ('position', position)]: if value is not None: content.sets(name, value) return msa.respond_phosphorylation_activating(content)
def test_respond_model_undo(): mm = MRA_Module(testing=True) _, content = _get_build_model_request('HRAS activates RAF') reply = mm.respond_build_model(content) _, content = _get_expand_model_request('NRAS activates RAF', '1') expand_reply = mm.respond_expand_model(content) expand_stmts = mm.get_statement(expand_reply.get('model-new')) assert len(expand_stmts) == 1 content = KQMLList.from_string('(MODEL-UNDO)') reply = mm.respond_model_undo(content) assert reply.gets('model-id') == '3' action = reply.get('action') assert action.head() == 'remove_stmts' stmts = mm.get_statement(action.get('statements')) assert len(stmts) == 1 assert stmts[0].equals(expand_stmts[0])
def test_respond_model_get_upstream(): mm = MRA_Module(testing=True) egfr = sts.Agent('EGFR', db_refs={'HGNC': '3236', 'TEXT': 'EGFR'}) kras = sts.Agent('KRAS', db_refs={'HGNC': '6407', 'TEXT': 'KRAS'}) stmts = [sts.Activation(egfr, kras)] model_id = mm.mra.new_model(stmts) kras_term = ekb_from_agent(kras) msg = KQMLList('MODEL-GET-UPSTREAM') msg.sets('target', kras_term) msg.set('model-id', str(model_id)) reply = mm.respond_model_get_upstream(msg) ups = reply.get('upstream') assert(len(ups) == 1)
def _get_content(self, task, **contents): content = KQMLList(task) for key, value in contents.items(): content.set(key, value) msg = get_request(content) return msg, content
def create_hasmech2(self): content = KQMLList('MODEL-HAS-MECHANISM') content.set('model-id', '1') content.sets('description', stmts_clj_from_text('NRAS activates BRAF')) msg = get_request(content) return msg, content
def create_remove(self): content = KQMLList('MODEL-REMOVE-MECHANISM') content.set('model-id', '1') content.set('description', stmts_clj_from_text('Unphosphorylated ERK')) msg = get_request(content) return msg, content
def create_undo(self): content = KQMLList('MODEL-UNDO') content.sets('model-id', '4') msg = get_request(content) return msg, content
def test_gets(): kl = KQMLList.from_string(b'(:hello "")') hello = kl.gets('hello') assert(hello == '')
def create_message(self): content = KQMLList('BUILD-MODEL') content.sets('description', '') content.sets('format', 'ekb') msg = get_request(content) return msg, content
def create_message(self): content = KQMLList('DESCRIBE-MODEL') content.set('model-id', str(self.bioagent.mra.id_counter)) msg = get_request(content) return msg, content
def create_message(self): content = KQMLList('DESCRIBE-MODEL') content.set('model-id', '1') msg = get_request(content) return msg, content
def create_message(self): content = KQMLList('MODEL-UNDO') msg = get_request(content) return msg, content
def _get_expand_model_request(text, model_id): content = KQMLList('EXPAND-MODEL') descr = stmts_clj_from_text(text) content.set('description', descr) content.set('model-id', model_id) return get_request(content), content
def test_respond_expand_model_from_json(): mm = MRA_Module(testing=True) st = stmts_json_from_text('MEK phosphorylates ERK') msg = KQMLList('BUILD-MODEL') msg.sets('description', json.dumps(st)) msg.sets('format', 'indra_json') reply = mm.respond_build_model(msg) assert(reply.get('model')) assert(reply.get('model-id') == '1') st = stmts_json_from_text('Active BRAF inhibits MEK.') msg = KQMLList('EXPAND-MODEL') msg.sets('description', json.dumps(st)) msg.sets('format', 'indra_json') msg.set('model-id', '1') reply = mm.respond_expand_model(msg) assert(reply.get('model')) assert(reply.get('model-id') == '2')
def create_message(self): content = KQMLList('GET-COMMON') content.set('genes', KQMLList([mek])) content.sets('up-down', 'ONT::SUCCESSOR') msg = get_request(content) return msg, content
def create_message(self): content = KQMLList('GET-PAPER-MODEL') content.set('pmid', 'PMID-27906130') return get_request(content), content
def create_get_json(self): content = KQMLList('MODEL-GET-JSON') content.sets('model-id', '1') msg = get_request(content) return msg, content
def test_from_string(): s = b'(FAILURE :reason INVALID_DESCRIPTION)' kl = KQMLList.from_string(s) for obj in kl.data: assert(isinstance(obj, KQMLObject))
def create_get_json(self): content = KQMLList('MODEL-GET-JSON') msg = get_request(content) return msg, content
def create_remove2(self): content = KQMLList('MODEL-REMOVE-MECHANISM') content.set('model-id', '3') content.set('description', stmts_clj_from_text('NRAS activates BRAF')) msg = get_request(content) return msg, content