MetaCyc

This module provides a set of utilities for handling metacyc databases. This code does not provide access to the metacyc/biocyc databases and is simply a parser. For access to data consult metacyc for the acquisition of a valid licence.

Example usage

The intended uscase for this code is to allow the addition of pathways to models that use metacyc identifiers. The example bellow adds an enzyme to a model using EC identifiers.

from gsmodutils import GSMProject
from gsmodutils import metacyc
db = metacyc.parse_db('/path/to/metacyc/dat/files')
project = GSMProject()

model = project.load_model()

metacyc.add_pathway(model, ["EC-1.2.1.10"])

Code docs

class gsmodutils.utils.metacyc.FileEncodingCtx(filename, encoding='latin-1', **kwargs)[source]

Bases: object

gsmodutils.utils.metacyc.add_pathway(model, enzyme_ids=None, reaction_ids=None, compartment='c', db_path=None, copy=False)[source]

For a given model add enzymes from metacyc database :param model: cobra model object :param enzyme_ids: list of EC entires in format [“EC-x.x.x.x”, …] :param reaction_ids: set of reaction ids to add to model :param compartment: compartment pathway is in :param db_path: path to the metacyc dat files on disk :param copy: :return:

gsmodutils.utils.metacyc.add_reaction(model, reaction_id, db, compartment='c')[source]

Add a metacyc reaction id to a cobrapy model :param model: cobrapy model instance :param reaction_id: reaction identifier in metacyc :param db: dictionary db object :param compartment: compartment reactions takeplace in (default is “c”) :return: tuple(reaction, added_metabolites) cobrapy Reaction and Metabolite instances

gsmodutils.utils.metacyc.build_universal_model(path, use_cache=True, cache_location='.metacyc_universal.json')[source]

Constructs a universal model from all the reactions in the metacyc database

Parameters:
  • path – path to folder containing metacyc dat files
  • use_cache – optionally store the resulting model in cached form
Returns:

gsmodutils.utils.metacyc.get_enzyme_reactions(eid, db)[source]

For a given ec number return associated reaction ids :param eid: enzyme id format “EC-x.x.x.x” :param db: database dict :return:

gsmodutils.utils.metacyc.parse_db(db_path)[source]

Parse metacyc dat files to build dict containing entries

gsmodutils.utils.metacyc.parse_metacyc_file(fpath, unique_fields)[source]

Parses a dat file :str fpath: path to dat file :list unique_fields: list of fields that there should only be a single item of in each entry :return: