# Path: PyFBA/parse/model_seed.py
# def location() -> Dict[str, str]:
#     """Parse or return the codes for the locations. The ModelSEEDDatabase
#     uses codes, and has a compartments file but they do not match up.
# 
#     This is currently hardcoded, but is put here so we can rewrite it as
#     if the compartments file is updated
# 
#     :return: A dict of location numeric IDs and string IDs
#     :rtype: dict
#     """
# 
#     # 0: cytoplasmic, 1: extracellular, 2: chloroplast
# 
#     all_locations = {'0': 'c', '1': 'e', '2': 'h'}
#     return all_locations


import copy
import os
import re
import sys
import io
import PyFBA
from .model_seed import location
        sys.exit("There was an error parsing " +
                 compounds_file + "\n" + "I/O error({0}): {1}".format(e.errno, e.strerror))

    return cpds


def reactions(organism_type="", rctf='Biochemistry/reactions.master.tsv', verbose=False):
    """
    Parse the reaction information in Biochemistry/reactions.master.tsv

    One reaction ID is associated with one equation and thus many
    compounds and parts.

    If the boolean verbose is set we will print out error/debugging
    messages.

    You can supply an alternative reactions file (rctf) if you
    don't like the default.

    :param organism_type: The type of organism, eg. microbial, gram_negative, gram_positive
    :type organism_type: str
    :param rctf: The optional reaction file to provide
    :type rctf: str
    :param verbose: Print more output
    :type verbose: bool
    :return: Two components, a dict of the reactions and a dict of all the compounds used in the reactions.
    :rtype: dict, dict

    """


# Path: PyFBA/parse/model_seed.py
# def location() -> Dict[str, str]:
#     """Parse or return the codes for the locations. The ModelSEEDDatabase
#     uses codes, and has a compartments file but they do not match up.
# 
#     This is currently hardcoded, but is put here so we can rewrite it as
#     if the compartments file is updated
# 
#     :return: A dict of location numeric IDs and string IDs
#     :rtype: dict
#     """
# 
#     # 0: cytoplasmic, 1: extracellular, 2: chloroplast
# 
#     all_locations = {'0': 'c', '1': 'e', '2': 'h'}
#     return all_locations


# Path: PyFBA/parse/model_seed_solr.py
import copy
import os
import re
import sys
import io
import PyFBA
from .model_seed import location

        sys.exit("There was an error parsing " +
                 compounds_file + "\n" + "I/O error({0}): {1}".format(e.errno, e.strerror))

    return cpds


def reactions(organism_type="", rctf='Biochemistry/reactions.master.tsv', verbose=False):
    """
    Parse the reaction information in Biochemistry/reactions.master.tsv

    One reaction ID is associated with one equation and thus many
    compounds and parts.

    If the boolean verbose is set we will print out error/debugging
    messages.

    You can supply an alternative reactions file (rctf) if you
    don't like the default.

    :param organism_type: The type of organism, eg. microbial, gram_negative, gram_positive
    :type organism_type: str
    :param rctf: The optional reaction file to provide
    :type rctf: str
    :param verbose: Print more output
    :type verbose: bool
    :return: Two components, a dict of the reactions and a dict of all the compounds used in the reactions.
    :rtype: dict, dict

    """


    locations = location()