Source code for emmaa.readers.db_client_reader

import datetime
from indra_db.client.principal.raw_statements import \
    get_raw_stmt_jsons_from_papers
from indra_db.util import get_db
from indra.statements import stmts_from_json
from emmaa.statements import to_emmaa_stmts


[docs]def read_db_ids_search_terms(id_search_terms, id_type): """Return extracted EmmaaStatements from INDRA database given an ID-search term dict. Parameters ---------- id_search_terms : dict A dict representing a set of IDs pointing to search terms that produced them. Returns ------- list[:py:class:`emmaa.model.EmmaaStatement`] A list of EmmaaStatements extracted from the given IDs. """ ids = list(id_search_terms.keys()) date = datetime.datetime.utcnow() db = get_db('primary') id_stmts = get_raw_stmt_jsons_from_papers(ids, id_type=id_type, db=db) estmts = [] for _id, stmt_jsons in id_stmts.items(): stmts = stmts_from_json(stmt_jsons) id_estmts = to_emmaa_stmts( stmts, date, id_search_terms[_id], {'internal': True}) estmts += id_estmts return estmts
[docs]def read_db_pmid_search_terms(pmid_search_terms): """Return extracted EmmaaStatements from INDRA database given a PMID-search term dict. Parameters ---------- pmid_search_terms : dict A dict representing a set of PMIDs pointing to search terms that produced them. Returns ------- list[:py:class:`emmaa.model.EmmaaStatement`] A list of EmmaaStatements extracted from the given PMIDs. """ return read_db_ids_search_terms(pmid_search_terms, 'pmid')
[docs]def read_db_doi_search_terms(doi_search_terms): """Return extracted EmmaaStatements from INDRA database given a DOI-search term dict. Parameters ---------- doi_search_terms : dict A dict representing a set of DOIs pointing to search terms that produced them. Returns ------- list[:py:class:`emmaa.model.EmmaaStatement`] A list of EmmaaStatements extracted from the given DOIs. """ return read_db_ids_search_terms(doi_search_terms, 'doi')