Template:Pathway/Metabolic

From Metabolomics.JP
< Template:Pathway(Difference between revisions)
Jump to: navigation, search
 
(38 intermediate revisions by one user not shown)
Line 1: Line 1:
{{#def:pathwaySource|{{{source|}}}}}
+
{{Volatile:Pathway/Metabolic|{{{source|}}}|{{#replace:{{#trimex:{{{list|}}}}}|&&|__}}|0|{{PAGENAME}}}}
{{#def:pathwayPosition|{{#if:{{{position|}}}|{{{position}}}|}}}}
+
 
+
{{#lua:
+
  local list = {};
+
  local count = 0;
+
  for line in stdin:gmatch("([^\n]+)") do
+
    count = count+1;
+
    if (count % 2 == 1) then
+
      --- do nothing for metabolite IDs ---
+
      print(line);
+
    else if (count==2) then
+
      --- First mapping line ---
+
      for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
        list[k] = v;
+
      end
+
    else
+
      --- Second and later lines ---
+
    if (string.sub(line,1,1) == 'R') then
+
      line = string.sub(line,2);
+
      --- Create reverse mapping
+
      local map = {};
+
      for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
        map[v] = k;
+
        print(v .. "-" .. k .. " ");
+
      end
+
      --- Leave only positions that can be mapped
+
      local list2 = {};
+
      for k, v in pairs(list) do
+
        if (map[k] ~= nil) then list2[map[k]] = map[k]; end
+
      end
+
      list = list2;
+
    else
+
      --- Create standard mapping
+
      local map = {};
+
      for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
        map[k] = v;
+
        print(k .. "-" .. v .. " ");
+
      end
+
      --- Leave only positions that can be mapped
+
      local list2 = {};
+
      for k, v in pairs(list) do
+
        if (map[k] ~= nil) then list2[map[k]] = map[k]; end
+
      end
+
      list = list2;
+
    end
+
    end
+
    end
+
    print("Now ");
+
    for k, v in pairs(list) do
+
      print(k .. "-" .. v .. " ");
+
    end
+
    print("\n");
+
  end
+
  table.sort(list);
+
  for i,v in ipairs(list)
+
    do print(v) end
+
|{{#repeat:Pathway/Mapping|1|{{#cdr:{{{list}}}|&&}}|&&}}
+
}}
+

Latest revision as of 10:57, 25 March 2009


Total 0 steps.

#ifeq:
Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox