R から TogoWS RESTful API をつかうパッケージをつくってます

http://github.com/nakao/togows-on-r/tree/master で R から TogoWS RESTful API を利用するパッケージをつくっています。

インストール方法

  1. git clone git://githum.com/nakao/togows-on-r.git
  2. cd togows-on-r
  3. R CMD build togows
  4. R CMD install togows

使い方

R を起動ののち、library(togows) します。

$ R

R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

Rはフリーソフトウェアであり、「完全に無保証」です。 
 一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。 

Rは多くの貢献者による共同プロジェクトです。 
 詳しくは'contributors()'と入力してください。 
また、RやRのパッケージを出版物で引用する際の形式については 
 'citation()'と入力してください。 
 
 'demo()'と入力すればデモをみることができます。 
 'help()'とすればオンラインヘルプが出ます。 
 'help.start()'でHTMLブラウザによるヘルプがみられます。 
 'q()'と入力すればRを終了します。 

> library(togows)
 要求されたパッケージ RCurl をロード中です 


エントリ取得 togows_entry

> togows_entry("pubmed/12345678/ti")
[1] "Denpasar Declaration on Population and Development."

togows_entry(togows) は次の引数を取ることができる:
http://togows.dbcls.jp/entry/pubmed/16381885

  1. togows_entry("pubmed/16381885")
  2. togows_entry("pubmed", "16381885")
  3. togows_entry(db="pubmed", id="16381885")

http://togows.dbcls.jp/entry/pubmed/16381885,19199708

  1. N.A.

http://togows.dbcls.jp/entry/pubmed/16381885/au

  1. togows_entry("pubmed/16381885/au")
  2. togows_entry("pubmed/16381885", field="au")
  3. togows_entry("pubmed", "16381885", "au")
  4. togows_entry(db="pubmed", id="16381885", field="au")

http://togows.dbcls.jp/entry/pubmed/16381885.json

  1. togows_entry("pubmed/16381885.json")
  2. togows_entry("pubmed/16381885", format="json")
  3. togows_entry("pubmed", "16381885", format="json")
  4. togows_entry(db="pubmed", id="16381885", format="json")

http://togows.dbcls.jp/entry/pubmed/16381885/au.json

  1. togows_entry("pubmed/16381885/au.json")
  2. togows_entry("pubmed", "16381885", "au", "json")
  3. togows_entry(db="pubmed", id="16381885", field="au", format="json")


データベース検索 togows_search

> togows_search("uniprot", "ATP")
  [1] "P94956_MICLU" "Q3DV18_STRAG" "Q4EAM5_9RICK" "Q3D7X7_STRAG" "Q9XPB2_PHAAU"
  [6] "P94955_MICLU" "Q7IMS7_9TELE" "Q8HQL7_AMICA" "Q8HQM9_LEPOC" "Q8HQP2_ACITR"
 [11] "Q94NT5_9TELE" "Q94YP1_PANBU" "Q94YQ2_9TELE" "Q954Z0_NOEBA" "Q954Z2_MISFO"
 [16] "Q954Z4_9TELE" "Q954Z6_9TELE" "Q954Z8_9TELE" "Q955A0_9TELE" "Q955A3_9TELE"
 [21] "Q955A4_9TELE" "Q955A6_9TELE" "Q955A7_9TELE" "Q955A8_9TELE" "Q955B0_9TELE"
 [26] "Q955B2_9TELE" "Q955B4_9TELE" "Q955B6_9TELE" "Q955B8_9TELE" "Q955C1_9TELE"
 [31] "Q955C3_9TELE" "Q955C5_9TELE" "Q955C7_9TELE" "Q955D1_9TELE" "Q955D3_9TELE"
 [36] "Q955D5_9TELE" "Q955D7_9TELE" "Q955D9_9TELE" "Q955E1_9TELE" "Q955E3_9TELE"
 [41] "Q07299_MAIZE" "A0ZRR5_9TELE" "Q9HNK6_HALSA" "Q98RU6_GUITH" "Q26598_SCHMA"
 [46] "Q26599_SCHMA" "Q7IMS5_9TELE" "Q8HQL6_AMICA" "Q8HQM8_LEPOC" "Q8HQP1_ACITR"
 [51] "Q94NG4_9TELE" "Q94NP3_9TELE" "Q94YP0_PANBU" "Q94YQ1_9TELE" "Q954Y9_NOEBA"
 [56] "Q954Z1_MISFO" "Q954Z3_9TELE" "Q954Z5_9TELE" "Q954Z7_9TELE" "Q954Z9_9TELE"
 [61] "Q955A1_9TELE" "Q955A2_9TELE" "Q955A5_9TELE" "Q955A9_9TELE" "Q955B1_9TELE"
 [66] "Q955B3_9TELE" "Q955B5_9TELE" "Q955B7_9TELE" "Q955B9_9TELE" "Q955C0_9TELE"
 [71] "Q955C2_9TELE" "Q955C4_9TELE" "Q955C6_9TELE" "Q955C8_9TELE" "Q955C9_9TELE"
 [76] "Q955D0_9TELE" "Q955D2_9TELE" "Q955D4_9TELE" "Q955D6_9TELE" "Q955D8_9TELE"
 [81] "Q955E0_9TELE" "Q955E2_9TELE" "Q4PJ02_PROMO" "Q95S08_DROME" "Q75XW1_HORVU"
 [86] "Q0H2X2_9ACTO" "Q944E9_ORYSA" "Q9RFL3_SALTY" "Q93Q44_CLOPA" "Q7Z4W0_HUMAN"
 [91] "O15897_BABBO" "Q8VT50_STRPN" "B1PMB4_CHRVI" "Q8KRV0_9FUSO" "Q9RFL5_SALTY"
 [96] "Q8VV79_COLMA" "Q93Q46_CLOPA" "Q93Q43_CLOPA" "Q52MC0_PSESZ" "Q8KRU9_9FUSO"

togows_search(entry) は次の引数をとることができる:
http://togows.dbcls.jp/search/uniprot/ATP

  1. togows_search("uniprot/ATP")
  2. togows_search(db="uniprot", query_string="ATP")

http://togows.dbcls.jp/search/uniprot/ATP/count

  1. togows_search("uniprot/ATP/count")
  2. togows_search("uniprot/ATP", count=T)
  3. togows_search("uniprot", "ATP", count=T)
  4. togows_search(db="uniprot", query_string="ATP", count=T)

http://togows.dbcls.jp/search/uniprot/ATP/1,10

  1. togows_search("uniprot/ATP/1,10")
  2. togows_search("uniprot/ATP", offset=1, limit=10)

つくりかた

$ R
> require('RCurl')

togows_entry と togows_search を定義してから、

> package.skeleton(name="togows", list = c('togows_entry', 'togows_search'))
Creating directories ...
Creating DESCRIPTION ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './togows/Read-and-delete-me'.

パッケージのひな形を作成。つぎに、./togows ディレクトリにパッケージのスケルトンができる。自動作成された DESCRIPTION や R スクリプト、man/togows_search.Rd などを編集する。

ライブラリの依存関係を DESCRIPTION に追記。

Depends: RCurl

ドキュメントファイル man/togows*.Rd

  1. Keyword は http://b-src.cbrc.jp/markup/R-2.8.0/doc/KEYWORDS を参照して、IO と connecion にした。

内容の更新と修正を、パッケージのチェック R CMD check togows が通るまでを繰り返す。

まとめ

  1. R パッケージとして開発をはじめた。
  2. ドキュメントを整備して BioConductor もしくは CRAN に投稿したい。