Exemplo n.º 1
0
def _get_react_name_by_kegg_react_id(react_id):
    if not react_id.startswith('rn:'):
        react_id = 'rn:' + react_id
    try:
        name, equ = KeggReaction.infos_by_id()[react_id]
        return name
    except KeyError:
        return react_id + ' (can not map kegg id)'
Exemplo n.º 2
0
def populate_kegg_reactions_table():
    """
    TODO use sqlite3 std lib to use bulk insert
    takes too long...
    """

    import bioservices
    logging.info('Getting all kegg reactions..')
    kegg = bioservices.KEGG()
    logging.info('Done.')
    r = kegg.list('reaction')
    reactions = r.strip().split('\n')
    logging.info('Begin insertion...')
    for react in reactions:
        react_id, plus = react.split('\t')
        p = plus.split(';')
        try:
            name, equation = p[0], p[1]
        except (ValueError, IndexError):
            name, equation = p[0], p[0]
        k = KeggReaction()
        k.id = react_id
        k.name = name
        k.organism = equation
        k.save()
    logging.info('Done.')