Template:MassBank/Matrix

From Metabolomics.JP
(Difference between revisions)
Jump to: navigation, search
m
m
Line 43: Line 43:
 
   end
 
   end
  
 +
  ---Main Program---
 
   local ruler = nil;
 
   local ruler = nil;
 
   local fragments = {};
 
   local fragments = {};
Line 49: Line 50:
 
   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  
 
       ---register fragments---
 
       ---register fragments---
 
       head, tail = string.match(line, "^(["..FORMULA_CHAR.."]+) *: *(["..FORMULA_CHAR.." ]+)$")
 
       head, tail = string.match(line, "^(["..FORMULA_CHAR.."]+) *: *(["..FORMULA_CHAR.." ]+)$")
 
       if (head ~= nil and tail ~= nil) then
 
       if (head ~= nil and tail ~= nil) then
         y = {};
+
         y = {}
 
         for x in string.gmatch(tail,"["..FORMULA_CHAR.."]+") do
 
         for x in string.gmatch(tail,"["..FORMULA_CHAR.."]+") do
           y[x] = x;
+
           y[x] = x
 
         end
 
         end
         fragments[head] = y;
+
         fragments[head] = y
 
       end
 
       end
 
     end
 
     end
Line 64: Line 65:
 
   ---Check Ruler---
 
   ---Check Ruler---
 
   if (ruler == nil) then
 
   if (ruler == nil) then
     print("No 'ION INFO' line in the form &&(formula)&&(formula)&&...&&");
+
     print("No 'ION INFO' line in the form &&(formula)&&(formula)&&...&&")
     ruler = "CHClONSP";
+
     ruler = "CHClONSP"
 
   end
 
   end
   x = nil;
+
   x = nil
   y = {};
+
   y = {}
 
   for formula in string.gmatch(ruler, "([%S]+)") do
 
   for formula in string.gmatch(ruler, "([%S]+)") do
 
     if (x ~= nil and mass(formula) > mass(x)) then
 
     if (x ~= nil and mass(formula) > mass(x)) then
Line 78: Line 79:
 
   ---Check Fragments---
 
   ---Check Fragments---
 
   for i,v in pairs(fragments) do
 
   for i,v in pairs(fragments) do
     if (y[i] == nil) then print("<big>Fragment "..i.." does not exist.</big>") end
+
     if (v == nil) then print("<big>Fragment "..i.." does not exist.</big>") end
 
     for j,w in pairs(v) do
 
     for j,w in pairs(v) do
       if (y[j] == nil) then print("<big>Fragment "..i.." does not exist.</big>") end
+
       if (w == nil) then print("<big>Fragment "..j.." does not exist.</big>") end
 
     end
 
     end
 
   end
 
   end

Revision as of 00:14, 14 May 2009

No 'ION INFO' line in the form &&(formula)&&(formula)&&...&&

MassBank/Matrix 64
CHClONSP
64
CHClONSP




Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox