Template:Pathway/Metabolic

From Metabolomics.JP
< Template:Pathway(Difference between revisions)
Jump to: navigation, search
 
(18 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}}}|}}}}
+
 
+
{|
+
{{#repeat:Pathway/MetabolicTable|4|<!----
+
4行の出力内訳
+
1 ... mapping pagetitle
+
2 ... mapping direction
+
3 ... mapped position
+
4 ... target molecular ID
+
--->{{#lua:
+
  local list = {};
+
  local count = 0;
+
  for line in stdin:gmatch("([^\n]+)") do
+
    count = count+1;
+
    if (count % 3 ~= 2) then
+
      --- do nothing for AtomMaps and metabolite IDs ---
+
      print(line);
+
    else
+
      if (count==2) then
+
      --- First mapping line ---
+
        local str = "";
+
        for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
          list[k] = v; str = str .. "<br/>" .. k .. "->" .. v;
+
        end
+
        print(str);
+
      else
+
      --- Second and later lines ---
+
        local map = {};
+
        if (string.sub(line,1,1) == 'R') then
+
          line = string.sub(line,2);
+
          --- Create reverse mapping
+
          for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
            map[v] = k;
+
          end
+
        else
+
          --- Create standard mapping
+
          for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
            map[k] = v;
+
          end
+
        end
+
        --- Leave only positions that can be mapped
+
        local list2 = {};
+
        local str = "";
+
        for k, v in pairs(list) do
+
          if (map[k] ~= nil)
+
            then list2[map[k]] = map[k];
+
              str = str .. "<br/>" .. k .. "->" .. map[k];
+
          end
+
        end
+
        print(str);  -- output 3rd line
+
        list = list2;
+
      end
+
      local str = "";
+
      for k, v in pairs(list) do
+
        str = str .. k .. "<br/>";
+
      end
+
      print(str); -- output 4th line
+
    end
+
  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