Template:LBS/FormatSugar: Difference between revisions
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
if (o) then ret = ret .. o end | if (o) then ret = ret .. o end | ||
---Process sugar name--- | ---Process sugar name--- | ||
if (string.match(p, "^Glc")) then | if (string.match(p, "^%$?Glc")) then | ||
ret = ret .. '<span style="color:Blue"><b>' .. p .. "</b></span>" | ret = ret .. '<span style="color:Blue"><b>' .. p .. "</b></span>" | ||
elseif (string.match(p, "^Gal")) then | elseif (string.match(p, "^%$?Gal")) then | ||
ret = ret .. '<span style="color:GoldenRod"><b>' .. p .. "</b></span>" | ret = ret .. '<span style="color:GoldenRod"><b>' .. p .. "</b></span>" | ||
elseif (string.match(p, "^Man")) then | elseif (string.match(p, "^%$?Man")) then | ||
ret = ret .. '<span style="color:Green"><b>' .. p .. "</b></span>" | ret = ret .. '<span style="color:Green"><b>' .. p .. "</b></span>" | ||
elseif (string.match(p, "^Fuc")) then | elseif (string.match(p, "^%$?Fuc")) then | ||
ret = ret .. '<span style="color:Red"><b>' .. p .. "</b></span>" | ret = ret .. '<span style="color:Red"><b>' .. p .. "</b></span>" | ||
elseif (string.match(p, "^Neu")) then | elseif (string.match(p, "^%$?Neu")) then | ||
ret = ret .. '<span style="color:MediumVioletRed"><b>' .. p .. "</b></span>" | ret = ret .. '<span style="color:MediumVioletRed"><b>' .. p .. "</b></span>" | ||
else | else |
Revision as of 17:26, 23 October 2011
{{#lua:
local seq = stdin:match("[%S()%[%]]+"); local ret = ""; for o,p,q,r,s,t in string.gmatch(seq, "([%[%(]?)([%a%$]+)([?ab%-])([1-9]?)%-?([1-9]?/?[1-9]?)([%]%)]?)") do ---Process ( --- if (o) then ret = ret .. o end ---Process sugar name--- if (string.match(p, "^%$?Glc")) then ret = ret .. '' .. p .. "" elseif (string.match(p, "^%$?Gal")) then ret = ret .. '' .. p .. "" elseif (string.match(p, "^%$?Man")) then ret = ret .. '' .. p .. "" elseif (string.match(p, "^%$?Fuc")) then ret = ret .. '' .. p .. "" elseif (string.match(p, "^%$?Neu")) then ret = ret .. '' .. p .. "" else ret = ret .. '' .. p .. '' end ---Process alpha or beta--- if (q == "a") then ret = ret .. "α" elseif (q == "b") then ret = ret .. "β" elseif (q == "-") then ret = ret .. "*" else ret = ret .. "" .. q end ---Process bond position--- ret = ret .. r .. "-" .. s .. "" if (t) then ret = ret .. t end end if (string.match(seq,"Cer$")) then ret = ret .. "Cer" end print(ret)
|GlcNAcb1-3Galb1-3GalNAca1-4GalNAcb1-4(EtnP-6)GlcNAcb1-3Manb1-4Glcb1-1Cer}}