R bioconductorのannotation packageを自作してみた
注意! 2008.12.20現在、R 2.8系ではAnnBuilderはAnnotationDbiに置き換えられたため、以下の記事は推奨されない方法になっています。近々余裕ができ次第、AnnotationDbiを利用したメモを作る予定です。
Agilent Arabidopsis3 oligo DNA microarrayのデータをR bioconductorで弄っているのだけど、特異的に発現が変動している代謝経路なんかが知りたいのでannotationをつけてみた。Agilentのサイトにテキストデータはあるから楽勝だろうとか思ってたけど、諸々障害があって一月ほどかかってしまった。本筋でもないのに、馬鹿だ自分……。
というわけで、備忘録もかねてメモ。
自分の環境がWindows XP SP2だったので、それを前提に。linuxの人はR-devとか入れとくと楽に行けるのかもね。
必要なのはもちろんR, bioconductorに、Active Perl、LaTeX。それぞれはソースも豊富なので適当に探してください。
まずは公式からテキスト区切りのアノテーションデータを落としてきて、一列目がProbe ID、二列目がGeneBank Accession Numberになるようなタブ区切りテキストag2gb.txtをつくる。なんで軽いテキストデータを扱うのに重々しいEXCEL使わなきゃならんのか……。
R bioconductorで必要そうなパッケージをインストール。大体bioconductor上でCRANにはないので、
source("http://bioconductor.org/biocLite.R")
biocLite("AnnBuilder")
みたいな感じで入れる。AnnBuilderはbiocLite()だけで入るんだっけか。
準備ができたらchangelog (not diary)を参考にしながらABPkbBuilderでパッケージを作る。
Golden Pathにシロイヌナズナはないらしいので、予めUrlを抜いておくとエラー返されなくて少しハッピー。
library(AnnBuilder)
srcUrls <- getSrcUrl("all", "Arabidopsis thaliana")
srcUrls <- getSrcUrl[2:11] # remove GoldenPath
ABPkgBuilder(baseName = "filepath/ag2gb.txt",
srcUrls = srcUrls, baseMapType = "gb",
pkgName = "arabidopsis3", pkgPath = "package path",
organism = "Arabidopsis thaliana", version = "08.03.27",
author = list(authors = "hirabat
",
maintainer = "hirabat"), fromWeb = TRUE)
データベースへのアクセスでやたら時間を喰うので、1,2時間は待つ。ローカルにタブ区切りで全部あるのに、それ利用できないものかしら。
多分アノテーションがないプローブかなにかで沢山エラーを返されるけど、基本的には無害なので無視。
その後、パッケージができたディレクトリで
R CMD INSTALL arabidopsis3
でできるはずなんだけど、いろいろエラーを返されるので一々パスを通す。
中でも分かりづらいのがsh.exe。LaTeXのインストールで入っているので、見つけ出してパスを通すなりパスが通ったところにコピーする。ちなみに %tex\share\texmf\doc\ksh にあります。google desktopとかで検索かけた方が早い気がしてならない。
ところで、LaTeXはvignetteを作るためだけに使ってるのだろうか。このためだけにLaTeXをインストールする人とかいたら大変すぎる。その分、生成されたvignetteは綺麗で感動しますが。
エラーで直接言われないけど、JAVAはJREじゃなくてJDKが入ってる必要がある。あと、RToolsも必要です。
こうして書くと、なんでこんなこととを大げさに書いてるんだろうという気もしますが、一月分の苦労なので大目に見てやってください。今日もこんなことばかりやってたので、明日できてるはずの書類がほとんど手つかず……。
というか、アノテーションは辞書にすぎなくて、それをつかって解析しないと何の意味もないのでした。目の前には山のような課題がある気がしてならない。