REFERENCE 編集支援のつもり
ex. 10.1093/nar/gkq1041 と入れてみると... 単純な JavaScript です。こんなの誰でもできるよねぇ。
PubMed ID を入れて [Go] を押すと指定のレコードへ
ex. 11217851 と入れてみると... 単純な JavaScript です。イヤだから こんなん誰でも...。
著者フォーマット変換のような何か
1行に1人の約束だけ守って入力ボックスに人の名前を入れ、元の書式を選択して [Go] を押すと DDBJ 書式 に変換します、多分。
約束事
- 1行に1人が大前提です。
- e) PubMed-Medline は例外です。FAU の行を整形します。他、AU などの行は無視します。
- 以下の規則は a) ~ d) に関してです。
- 「 」(スペース)「,」(コンマ)「.」(ピリオド) を「区切り」と認識します。無視ではありません。
- 区切り文字は複数個連続していても1つのカタマリと扱います。
- 「"」(ダブルクォート)「^」(ハット)を「無視」します。区切りではありません。ウムラウトなどでタマに混入するので、削除する処理として実装しました。
- 数字 「;」「*」を「無視」します。区切りではありません。Mashi1ma は Mashima になります。ただし、Mash1 ima は Mash,I. になります。これは本来、論文のweb page からコピーすると所属先のリストみたいなもの示す番号などが混入するので、削除する処理として実装しました。
- 基本的に姓は必ず、Xxxxxx のように語頭を大文字に他を小文字にします。MASHIMA は Mashima に変換します。
- 「-」(ハイフン)は 大抵、失敗します。タマに うまくイきますが、基本、変換後の補正が必要です。
- McCatony のような例外への対応は諦めました。変換後に補正してください。
- de, la, von, Jr., II, みたいのは対応を諦めました。変換後に補正してください。もし、良い辞書リストがあったらを対応考えても良いのですが、難しそう。
- いわゆる全角文字が混在した場合、どうなるか よくわかりません。放置されるかもしれませんが、多分、失敗しますので やめておいてください。
... 割と真面目な Ruby cgi です。
Written by Jun Mashima with Ruby cgi and JavaScript.
何故 Ruby か、ていうと何となくやってみたかったから...
おまけ1
ざらっと調べると
- (*) Full, surname last (John Frederick Smith)
- (f) Full, surname first (Smith, John Frederick)
- (i) Initials + surname (J. F. Smith)
- (r) Surname + initials (Smith, J. F.)
- (s) Surname + dotless initials (Smith J F)
- (w) Surname + comma + spaceless initials (Smith, J.F.)
- (x) Surname + pure initials (Smith JF)
- (y) Surname + comma + pure initials (Smith, JF)
- (z) Surname + spaceless initials (Smith J.F.)
- (a) Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
- (b) First name reversed, with full names (Smith, John Fred, Harry Kab Jones)
などの区分があるような。DDBJ は(w) に近いけどちょっと違う。Medline は(X) かな。
参考になるサイトは いくつか見つかりましたが、BibTex とかはリスト、それもフルネーム込、を持てば各種の変換出力ができるよ、といったツールばかりなので、既存のツール応用は諦めました。
おまけ2
@PAGES に設置したのは、Ruby cgi 環境を 04WebServer で実現することが困難と思ったからだが...出来るらしい。
そのときは環境を構築するのがメンドウだったので、無料で審査の手間なしで Ruby cgi が動くところ、という条件で探した結果です。ココにリストがあったので助かりました。ありがたい。