Old

assignpKasToSpecies(mets, neutralMolfileDir, msDistrDir, pKaDir)[source]

Use each metabolite’s InChI and ChemAxon’s cxcalc (calculator plugin) to get pKas(I = 0), charges and numbers of protons for all microspecies present at pH 5-9.

USAGE:

[speciespKas, includedMets] = assignpKasToSpecies (mets, neutralMolfileDir, msDistrDir, pKaDir)

INPUTS:
  • mets – Cell array of metabolite ID. Current implementation assumes ID are formatted as BiGG_ID[Compartment]; e.g., ‘atp[c]’ for ATP in cytosol.

  • neutralMolfileDir – Path to directory containing molfiles for neutral metabolites. Molfiles must be named with the metabolite ID in mets; e.g., atp.mol.

  • msDistrDir – Path to directory containing metabolite species distributions at pH 5, 6, 7, 8 and 9. Species distributions are created with the ChemAxon calculator plugin. Names of SD files containing species distributions should be formatted as metID_msdistr_pHA.sdf; e.g., atp_msdistr_pH5.sdf.

  • pKaDir – Path to directory containing pKa estimates for metabolites. pKas are estimated with the ChemAxon calculator plugin. Names of text files containing pKa estimates should be formatted as metID_pkas.txt; e.g., atp_pkas.txt.

OUTPUTS:
  • speciespKas – Structure containing the following fields for each metabolite:

    • .inchis - n x 1 cell array with a species-specific InChI string for each species. inchis(1) = InChI for species 1 etc. Note that species 1 is the species with the fewest hydrogen atoms etc.

    • .formulas - n x 1 cell array with species-specific chemical formulas.

    • .zs - n x 1 vector containing the charge on each species.

    • .nHs - n x 1 vector containing the number of hydrogen atoms in each species.

    • .majorMSpH7 - n x 1 boolean vector with a logical 1 in the row for the major microspecies at pH 7 according to ChemAxon.

    • .abundanceAtpH7 - n x 1 vector with species percentage abundance at pH 7.

    • .pKas - n x n matrix where element i, j is the pKa for the acid-base equilibrium between species i and j.

  • includedMets – Cell array of metabolite ID for those metabolites that were included in speciespKas. Should include all metabolites that had molfiles in neutralMolfileDir.

estimate_pKa(mets, inchi, npKas, takeMajorTaut)[source]

Estimates pKa values with ChemAxon’s Calculator plugins and determines all physiologically relevant pseudoisomers.

USAGE:

pseudoisomers = estimate_pKa (mets, inchi, npKas, takeMajorTaut)

INPUTS:
  • metsm x 1 array of metabolite identifiers.

  • inchim x 1 array of InChI strings for metabolites in mets. Each InChI is written to a temporary inchi.inchi file passed to cxcalc.

OPTIONAL INPUTS:
  • npKas – Maximum number of acidic and basic pKa values to estimate for each metabolite. Default is 20.

  • takeMajorTaut – {1, (0)}. If 1, pKa values are estimated for the major tautomer at pH 7. If 0 (default), they are estimated for the given tautomer.

OUTPUT:

pseudoisomersm x 1 structure array where each element has the fields listed below. All fields are empty for metabolites where no InChI is given. Fields:

  • .success - Logical one (true) for metabolites where an InChI was given.

  • .met - Metabolite identifier from mets without compartment abbreviation.

  • .pKas - p x p matrix where element (i, j) is the pKa value for the acid-base equilibrium between pseudoisomers i and j.

  • .zs - p x 1 array of pseudoisomer charges.

  • .nHs - p x 1 array of number of hydrogen atoms in each pseudoisomer’s chemical formula.

  • .majorMSpH7 - p x 1 logical array. True for the most abundant pseudoisomer at pH 7.