Template:Pathway/Metabolic

From Metabolomics.JP
< Template:Pathway(Difference between revisions)
Jump to: navigation, search
 
(28 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 % 3 == 1) or (count % 3 == 0)) then
+
      --- do nothing for AtomMaps and 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 ---
+
        local map = {};
+
      print(" next " .. line .. "\n");
+
        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;
+
            --print(v .. "-" .. k .. " ");
+
          end
+
        else
+
          --- Create standard mapping
+
          for k, v in string.gmatch(line, "(%d%d?) (%d%d?) %d?%d? ?;") do
+
            map[k] = v;
+
            --print(k .. "-" .. v .. " ");
+
          end
+
        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
+
      local str = "";
+
      for k, v in pairs(list) do
+
        str = str .. k .. " ";
+
      end
+
      print(str);
+
    end
+
  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