Doc:MassBank/PPR
From Metabolomics.JP
(Difference between revisions)
m |
|||
(22 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
+ | {{MassBank/Header}} | ||
+ | __NOTOC__ | ||
=How to Create Precursor-Product Page= | =How to Create Precursor-Product Page= | ||
− | |||
− | |||
− | |||
− | + | ;Step1 | |
+ | :作成するページ名が決まったら、ブラウザのhttpアドレスに | ||
+ | <pre>http://metabolomics.jp/wiki/MassBank:ページ名</pre> | ||
+ | と入力してください。Edit this pageというリンクを押すとページの編集画面になります。 | ||
− | + | <br/> | |
+ | ;Step2 | ||
+ | :ブラウザの別タブ上でこのページにアクセスし、下のスロットに観測されたイオンのリスト入力します。半角スペース区切りで質量の降順に入力してください。(入力サンプルは消してしまってOKです。)その後、Createボタンを押してください。 | ||
+ | {{#formtag:form|method="post" action="/wiki/Doc:MassBank/PPR"| | ||
+ | {{#formtag:input|type="text" name="Ions" size="60" value="C4H10NO2 C4H7O2 C4H8NO C4H5O"}} | ||
{{#formtag:input|type="submit" value="Create"}} | {{#formtag:input|type="submit" value="Create"}} | ||
− | |||
}} | }} | ||
− | + | <br/> | |
− | + | ;Step3 | |
− | {{#lua: | + | :ボタンを押した後に、以下に生成される文字列がページソースの基本です。新規作成したページのソースとしてSaveしてください。Internet Explorerでは行末にスペースが入ってしまいます。&&組成式&&組成式..&&となっているイオン列の行だけは、最後のスペースを除去して入力するようにお願いします。 |
+ | |||
+ | <nowiki>{{MassBank/Matrix|data=</nowiki><br/> | ||
+ | {{#lua: <!----make sure that parameters are the same as in Template:MassBank/Matrix ---> | ||
FORMULA_PAT = "(C?[1-9]?[0-9]?)(H?[1-9]?[0-9]?)(C?l?[2-9]?)(F?[2-9]?)(I?[2-9]?)(N?[1-9]?[0-9]?)(O?[1-9]?[0-9]?)(P?[2-9]?)(S?[2-9]?)"; | FORMULA_PAT = "(C?[1-9]?[0-9]?)(H?[1-9]?[0-9]?)(C?l?[2-9]?)(F?[2-9]?)(I?[2-9]?)(N?[1-9]?[0-9]?)(O?[1-9]?[0-9]?)(P?[2-9]?)(S?[2-9]?)"; | ||
FORMULA_CHAR = "CHFINOPSl0-9"; | FORMULA_CHAR = "CHFINOPSl0-9"; | ||
Line 66: | Line 74: | ||
table.insert(list, formula) | table.insert(list, formula) | ||
end | end | ||
+ | print("&&"..table.concat(list,"&&").."&&") | ||
− | + | for i=1,table.getn(list)-1 do | |
+ | label = false | ||
+ | str = "&&"..list[i]..":" | ||
+ | for j=i+1,table.getn(list) do | ||
+ | if (diff(list[i],list[j])) then | ||
+ | str = str.." "..list[j] | ||
+ | label = true | ||
+ | end | ||
+ | end | ||
+ | if (label) then print("\n"..str) end | ||
+ | end | ||
− | + | |{{#get:Ions}} | |
+ | }} | ||
+ | <nowiki>}}</nowiki> | ||
+ | |||
+ | =How to Write Annotations= | ||
+ | <pre> | ||
+ | {{MassBank/Matrix|data= | ||
+ | &&C7H14NO3&&C7H11O3&&C5H8NO2&&C4H8NO2&&C7H13&&C4H10NO&&C6H11&&C6H7&&C4H7O&&C5H9&&C3H8N&&C4H7&& | ||
+ | |||
+ | &&C7H14NO3:C7H11O3 | ||
+ | この行はコメントです。ソースを見てもらえればわかりますが、任意の行数を書くことができます。wikitableの中に配置するので、箇条書きや簡単な見出し表示 | ||
+ | #例えばこんな感じ | ||
+ | #も可能です。 | ||
+ | ; Sample | ||
+ | : This is a pen. | ||
+ | :: This is a pen. | ||
+ | ::: This is a pen. | ||
+ | ただし、全てがwiki関数の中で処理されるため表などは作れません。もちろん英語表記もOKです。 | ||
+ | コメント中に使えない文字列は、半角の|と~です。 | ||
+ | &&C7H14NO3: C4H8NO2 C4H10NO C3H8NP | ||
+ | &&C4H10NO: C3H8N | ||
+ | この行はコメントです。 | ||
+ | &&C4H10NO: C4H7 | ||
+ | この行は再びコメントです。PPテーブルとwikiテーブルは親イオンに相当する最左列を縦にまとめて表示しない点が異なりますが、まとめてしまうと表全体を列毎にソートすることができないので、縦に列をまとめない仕様にしています。 | ||
+ | }} | ||
+ | </pre> | ||
+ | は以下のアノテーションを出力します。 | ||
+ | =Annotations= | ||
+ | {{#replace: | ||
+ | {{#lua: | ||
+ | ---print comments--- | ||
+ | FORMULA_CHAR = "CHFINOPSl0-9" | ||
+ | FORMULA_PAT = "(C?[1-9]?[0-9]?)(H?[1-9]?[0-9]?)(C?l?[2-9]?)(F?[2-9]?)(I?[2-9]?)(N?[1-9]?[0-9]?)(O?[1-9]?[0-9]?)(P?[2-9]?)(S?[2-9]?)" | ||
+ | ATOM = {"C", "H", "Cl", "F", "I", "N", "O", "P", "S"} | ||
+ | MASS = {12, 1, 35, 19, 127, 14, 16, 31, 32} | ||
+ | |||
+ | function toFormula(t) | ||
+ | for i,v in pairs(t) do | ||
+ | if (v == "") | ||
+ | then t[i] = 0 | ||
+ | else if (v == ATOM[i]) | ||
+ | then t[i] = 1 | ||
+ | else t[i]=tonumber(string.sub(v,1+string.len(ATOM[i]))) | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | return t | ||
+ | end | ||
+ | |||
+ | function mass(str) | ||
+ | local t = toFormula({string.match(str,FORMULA_PAT)}) | ||
+ | ret = 0; | ||
+ | for i,v in pairs(t) do | ||
+ | ret = ret + t[i] * MASS[i] | ||
+ | end | ||
+ | return ret; | ||
+ | end | ||
+ | |||
+ | ret = "" | ||
+ | comment = ""; | ||
+ | head = ""; | ||
+ | tail = ""; | ||
+ | for line in stdin:gmatch("[%S ,]+") do | ||
+ | repeat | ||
+ | if (string.find(line, "^&&[&%a%d]+&&$") ~= nil) then break end | ||
+ | local h, t = string.match(line, "^&&(["..FORMULA_CHAR.."]+) *: *(["..FORMULA_CHAR.." ]+)$"); | ||
+ | if (h ~= nil and t ~= nil) then | ||
+ | if (comment ~= "") then | ||
+ | ret = ret .."~-\n~~"..head.." ('''"..mass(tail).."''')".." ~~ "..tail.." ('''"..mass(tail).."''')".."\n~~ "..comment.."\n" | ||
+ | comment = "" | ||
+ | end | ||
+ | head = h; tail = t | ||
+ | break | ||
+ | end | ||
+ | ---comment lines--- | ||
+ | comment = comment .. line.."\n" | ||
+ | until true | ||
+ | end | ||
+ | ---process the last comment (head=precursor, tail=product)--- | ||
+ | if (comment ~= "") then | ||
+ | ret = ret .. "~-\n~~"..head.." ('''"..mass(head).."''')".." ~~ "..tail.." ('''"..mass(tail).."''')".."\n~~ "..comment.."\n" | ||
+ | end | ||
+ | if (ret ~= "") then | ||
+ | ret = '{~ class="wikitable sortable"\n!Precursor~~Product~~Comments\n'.. ret ..'~}' | ||
+ | print(ret) | ||
+ | end | ||
+ | | | ||
+ | &&C7H14NO3&&C7H11O3&&C5H8NO2&&C4H8NO2&&C7H13&&C4H10NO&&C6H11&&C6H7&&C4H7O&&C5H9&&C3H8N&&C4H7&& | ||
+ | |||
+ | &&C7H14NO3:C7H11O3 | ||
+ | この行はコメントです。ソースを見てもらえればわかりますが、任意の行数を書くことができます。wikitableの中に配置するので、箇条書きや簡単な見出し表示 | ||
+ | #例えばこんな感じ | ||
+ | #も可能です。 | ||
+ | ; Sample | ||
+ | : This is a pen. | ||
+ | :: This is a pen. | ||
+ | ::: This is a pen. | ||
+ | ただし、全てがwiki関数の中で処理されるため表などは作れません。もちろん英語表記もOKです。 | ||
+ | コメント中に使えない文字列は、半角の|と~です。 | ||
+ | &&C7H14NO3:C4H8NO2 C4H10NO C3H8NP | ||
+ | &&C4H10NO: C3H8N | ||
+ | この行はコメントです。 | ||
+ | &&C4H10NO: C4H7 | ||
+ | この行は再びコメントです。PPテーブルとwikiテーブルは親イオンに相当する最左列を縦にまとめて表示しない点が異なりますが、まとめてしまうと表全体を列毎にソートすることができないので、縦に列をまとめない仕様にしています。 | ||
+ | }} | ||
+ | |~|{{#bar:}}}} |
Latest revision as of 10:30, 28 October 2010
General Index | Ion Frequency | Prec.-Product | Neutral Loss | Help |
[edit] How to Create Precursor-Product Page
- Step1
- 作成するページ名が決まったら、ブラウザのhttpアドレスに
http://metabolomics.jp/wiki/MassBank:ページ名
と入力してください。Edit this pageというリンクを押すとページの編集画面になります。
- Step2
- ブラウザの別タブ上でこのページにアクセスし、下のスロットに観測されたイオンのリスト入力します。半角スペース区切りで質量の降順に入力してください。(入力サンプルは消してしまってOKです。)その後、Createボタンを押してください。
- Step3
- ボタンを押した後に、以下に生成される文字列がページソースの基本です。新規作成したページのソースとしてSaveしてください。Internet Explorerでは行末にスペースが入ってしまいます。&&組成式&&組成式..&&となっているイオン列の行だけは、最後のスペースを除去して入力するようにお願いします。
{{MassBank/Matrix|data=
&&&&
}}
[edit] How to Write Annotations
{{MassBank/Matrix|data= &&C7H14NO3&&C7H11O3&&C5H8NO2&&C4H8NO2&&C7H13&&C4H10NO&&C6H11&&C6H7&&C4H7O&&C5H9&&C3H8N&&C4H7&& &&C7H14NO3:C7H11O3 この行はコメントです。ソースを見てもらえればわかりますが、任意の行数を書くことができます。wikitableの中に配置するので、箇条書きや簡単な見出し表示 #例えばこんな感じ #も可能です。 ; Sample : This is a pen. :: This is a pen. ::: This is a pen. ただし、全てがwiki関数の中で処理されるため表などは作れません。もちろん英語表記もOKです。 コメント中に使えない文字列は、半角の|と~です。 &&C7H14NO3: C4H8NO2 C4H10NO C3H8NP &&C4H10NO: C3H8N この行はコメントです。 &&C4H10NO: C4H7 この行は再びコメントです。PPテーブルとwikiテーブルは親イオンに相当する最左列を縦にまとめて表示しない点が異なりますが、まとめてしまうと表全体を列毎にソートすることができないので、縦に列をまとめない仕様にしています。 }}
は以下のアノテーションを出力します。
[edit] Annotations
Precursor | Product | Comments |
---|---|---|
C7H14NO3 (143) | C7H11O3 (143) | この行はコメントです。ソースを見てもらえればわかりますが、任意の行数を書くことができます。wikitableの中に配置するので、箇条書きや簡単な見出し表示
ただし、全てがwiki関数の中で処理されるため表などは作れません。もちろん英語表記もOKです。 コメント中に使えない文字列は、半角の|と~です。 |
C4H10NO (58) | C3H8N (58) | この行はコメントです。 |
C4H10NO (88) | C4H7 (55) | この行は再びコメントです。PPテーブルとwikiテーブルは親イオンに相当する最左列を縦にまとめて表示しない点が異なりますが、まとめてしまうと表全体を列毎にソートすることができないので、縦に列をまとめない仕様にしています。 |