Template:MassBank/Matrix

From Metabolomics.JP
(Difference between revisions)
Jump to: navigation, search
m
m
Line 3: Line 3:
 
   FORMULA_PAT = "(C?[1-9]?[0-9]?)(H?[1-9]?[0-9]?)(C?l?[2-9]?)(N?[1-9]?[0-9]?)(O?[1-9]?[0-9]?)(P?[2-9]?)(S?[2-9]?)";
 
   FORMULA_PAT = "(C?[1-9]?[0-9]?)(H?[1-9]?[0-9]?)(C?l?[2-9]?)(N?[1-9]?[0-9]?)(O?[1-9]?[0-9]?)(P?[2-9]?)(S?[2-9]?)";
 
   FORMULA_CHAR = "CHNOPSl0-9";
 
   FORMULA_CHAR = "CHNOPSl0-9";
 +
  ATOMS = {C=12, H=1, Cl=35, N=14, O=16, P=31, S=32};
 +
 +
  function map(f, list)
 +
    local ret = {};
 +
    for _, v in pairs(list) do
 +
        table.insert(ret, f(v));
 +
    end
 +
    return ret;
 +
  end
 +
 
   function atomicNum(atom, str)
 
   function atomicNum(atom, str)
     if (str == "") then return 0; end
+
     if (str == "") then return 0 end
     if (str == atom) then return 1; end
+
    if (ATOMS[str] ~= nil) then return 1 end
     if (string.len(str) > 2 and string.sub(str,1,2) == "Cl")
+
     if (str == atom) then return 1 end
 +
     if (string.len(str) > 2 and ATOMS[string.sub(str,1,2)] ~= nil)
 
       then return tonumber(string.sub(str,3));
 
       then return tonumber(string.sub(str,3));
 
     else return tonumber(string.sub(str,2));
 
     else return tonumber(string.sub(str,2));

Revision as of 18:11, 13 May 2009

No ion information in the form &&(formula)&&(formula)&&...&&

MassBank/Matrix 64
CHClONSP
64
CHClONSP



Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox