parseMetNames

PURPOSE ^

parseMetNames Figure out the base metabolite names and compartments for each metabolite

SYNOPSIS ^

function [baseMetNames,compSymbols,uniqueMetNames,uniqueCompSymbols] = parseMetNames(metNames)

DESCRIPTION ^

parseMetNames Figure out the base metabolite names and compartments for each metabolite

 [baseMetNames,compSymbols,uniqueMetNames,uniqueCompSymbols] = parseMetNames(metNames)

INPUT
 metNames              List of metabolite names

OUTPUTS
 baseMetNames          List of met names without compartment symbol
 compSymbols           Compartment symbols for each metabolite
 uniqueMetNames        Unique metabolite names (w/o comp symbol)
 uniqueCompSymbols     Unique compartment symbols

 Metabolite names should describe the compartment assignment in either the
 form "metName[compName]" or "metName(compName)"

 Markus Herrgard 10/4/06

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [baseMetNames,compSymbols,uniqueMetNames,uniqueCompSymbols] = parseMetNames(metNames)
0002 %parseMetNames Figure out the base metabolite names and compartments for each metabolite
0003 %
0004 % [baseMetNames,compSymbols,uniqueMetNames,uniqueCompSymbols] = parseMetNames(metNames)
0005 %
0006 %INPUT
0007 % metNames              List of metabolite names
0008 %
0009 %OUTPUTS
0010 % baseMetNames          List of met names without compartment symbol
0011 % compSymbols           Compartment symbols for each metabolite
0012 % uniqueMetNames        Unique metabolite names (w/o comp symbol)
0013 % uniqueCompSymbols     Unique compartment symbols
0014 %
0015 % Metabolite names should describe the compartment assignment in either the
0016 % form "metName[compName]" or "metName(compName)"
0017 %
0018 % Markus Herrgard 10/4/06
0019 
0020 uniqueCompSymbols = {};
0021 uniqueMetNames = {};
0022 for metNo = 1:length(metNames)
0023     metName = metNames{metNo};
0024     if (~isempty(regexp(metName,'\[')))
0025         [tokens,tmp] = regexp(metName,'(.+)\[(.+)\]','tokens','match');
0026     else
0027         [tokens,tmp] = regexp(metName,'(.+)\((.+)\)','tokens','match');
0028     end
0029     if ~isempty(tokens)
0030         compSymbol = tokens{1}{2};
0031         baseMetName = tokens{1}{1};
0032     else
0033         compSymbol = '';
0034         baseMetName = metName;
0035     end
0036     compSymbols{metNo} = compSymbol;
0037     baseMetNames{metNo} = baseMetName;
0038 end
0039 
0040 % Get the list of unique compartment symbols and unique metabolite base
0041 % names
0042 uniqueCompSymbols = columnVector(unique(compSymbols));
0043 uniqueMetNames = columnVector(unique(baseMetNames));
0044 
0045 compSymbols = columnVector(compSymbols);
0046 baseMetNames = columnVector(baseMetNames);

Generated on Thu 21-Jun-2012 15:39:23 by m2html © 2003