Template:MassBank/Matrix

From Metabolomics.JP
(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
 
{{#replace:
 
{{#replace:
 
{{#lua:
 
{{#lua:
 +
  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]?)";
 
   function atomicNum(atom, str)
 
   function atomicNum(atom, str)
 
     if (str == "") then return 0; end
 
     if (str == "") then return 0; end
Line 11: Line 12:
  
 
   function mass(str)
 
   function mass(str)
     local c,h,cl,n,o,p,s=string.match(str,"(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]?)");
+
     local c,h,cl,n,o,p,s=string.match(str,FORMULA_PAT);
 
     c = atomicNum("C", c) * 12;
 
     c = atomicNum("C", c) * 12;
 
     h = atomicNum("H", h);
 
     h = atomicNum("H", h);
Line 24: Line 25:
 
   function diff(str1, str2)
 
   function diff(str1, str2)
 
     ---computes str1 - str2. If negative, returns nil.---
 
     ---computes str1 - str2. If negative, returns nil.---
     local c1,h1,cl1,n1,o1,p1,s1=string.match(str1,"(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]?)");
+
     local c1,h1,cl1,n1,o1,p1,s1=string.match(str1,FORMULA_PAT);
     local c2,h2,cl2,n2,o2,p2,s2=string.match(str2,"(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]?)");
+
     local c2,h2,cl2,n2,o2,p2,s2=string.match(str2,FORMULA_PAT);
 
     c1 = atomicNum("C", c1);
 
     c1 = atomicNum("C", c1);
 
     h1 = atomicNum("H", h1);
 
     h1 = atomicNum("H", h1);
Line 70: Line 71:
 
   ---Read Data---
 
   ---Read Data---
 
   for line in stdin:gmatch("[%S ,]+") do
 
   for line in stdin:gmatch("[%S ,]+") do
     if (string.find(line, "^(&&[%a%d]+)+&&$") ~= nil)  
+
     if (string.find(line, "^&&[&%a%d]+&&$") ~= nil)  
 
       then ruler = string.gsub(line, "&&", " ");
 
       then ruler = string.gsub(line, "&&", " ");
 
     else  
 
     else  

Revision as of 16:58, 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