Пример #1
0
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
Пример #2
0
 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
Пример #3
0
 def test_head(self):
     kp = KQMLPerformative('tell')
     self.assertEqual(kp.head(), 'tell')
     kp = KQMLPerformative(
         KQMLList(['tell', ':content',
                   KQMLList(['success'])]))
     self.assertEqual(kp.head(), 'tell')
Пример #4
0
 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'])
Пример #5
0
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)
Пример #6
0
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'])
Пример #7
0
 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
Пример #8
0
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'
Пример #9
0
 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
Пример #10
0
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()
Пример #11
0
 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)
Пример #12
0
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
Пример #13
0
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
Пример #14
0
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)
Пример #15
0
 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)
Пример #16
0
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)
Пример #17
0
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')
Пример #18
0
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)
Пример #19
0
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])
Пример #20
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)
Пример #21
0
 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
Пример #22
0
 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
Пример #23
0
 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
Пример #24
0
 def create_undo(self):
     content = KQMLList('MODEL-UNDO')
     content.sets('model-id', '4')
     msg = get_request(content)
     return msg, content
Пример #25
0
def test_gets():
    kl = KQMLList.from_string(b'(:hello "")')
    hello = kl.gets('hello')
    assert(hello == '')
Пример #26
0
 def create_message(self):
     content = KQMLList('BUILD-MODEL')
     content.sets('description', '')
     content.sets('format', 'ekb')
     msg = get_request(content)
     return msg, content
Пример #27
0
 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
Пример #28
0
 def create_message(self):
     content = KQMLList('DESCRIBE-MODEL')
     content.set('model-id', '1')
     msg = get_request(content)
     return msg, content
Пример #29
0
 def create_message(self):
     content = KQMLList('MODEL-UNDO')
     msg = get_request(content)
     return msg, content
Пример #30
0
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
Пример #31
0
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')
Пример #32
0
 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
Пример #33
0
 def create_message(self):
     content = KQMLList('GET-PAPER-MODEL')
     content.set('pmid', 'PMID-27906130')
     return get_request(content), content
Пример #34
0
 def create_get_json(self):
     content = KQMLList('MODEL-GET-JSON')
     content.sets('model-id', '1')
     msg = get_request(content)
     return msg, content
Пример #35
0
def test_from_string():
    s = b'(FAILURE :reason INVALID_DESCRIPTION)'
    kl = KQMLList.from_string(s)
    for obj in kl.data:
        assert(isinstance(obj, KQMLObject))
Пример #36
0
 def create_get_json(self):
     content = KQMLList('MODEL-GET-JSON')
     msg = get_request(content)
     return msg, content
Пример #37
0
 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
Пример #38
0
 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