Bioconductor投稿体験記

BioconductorにMiRaGEというパッケージを投稿した時の体験記です。
1
田口善弘 @Yh_Taguchi

以下、Bioconductor投稿記です。正式リリースは秋ですけどそれまで待っちゃうと記憶が飛んじゃうので。 すでにリリース済みの@dritoshi さんの体験記 http://t.co/0pMrfcft の方がよく書けてますけど、まあ、これも無いよりはましってことで。

2012-05-12 17:12:54
田口善弘 @Yh_Taguchi

まずは投稿用のtar ballをつくります。作り方はまた後日ということで、tar ballは出来ている、という前提で話は進みます。 http://t.co/NVHfPmp6 にあるメアドに「submitしたいんだけど」というメールを送ります(これが3/14)。

2012-05-12 17:13:36
田口善弘 @Yh_Taguchi

すると、Issue-Tracking System http://t.co/Pc1z8bte というものにファイルを上げるようにいわれます(その場所は非公開(?)みたいなので、ここには書きません)。添付ファイルがつけられるディスカッションボードみたいなものです。

2012-05-12 17:14:12
田口善弘 @Yh_Taguchi

そこにDESCRIPTIONファイル(これはtar ballの中身の一部)を本文としてtar ballを添付ファイルにして投稿しろと言われます(3/15には投稿しました)。それからしばらく音沙汰がなく、3/24にようやくpreviewerが名乗りでてくれました。

2012-05-12 17:14:36
田口善弘 @Yh_Taguchi

審査結果が戻ってきたのは4/7です。ここからが大変でした。まず、僕のパッケージは http://t.co/fsR2smN6   のローカライス版だったので、サーバにアクセスしてデータベースをdownloadして結果をRでローカルに計算する仕様にして投稿しました。

2012-05-12 17:15:17
田口善弘 @Yh_Taguchi

こうせざるおえなかったのには理由があります。Bioconductorは投稿するtar ballの大きさが2MB以下という縛りがあり、その縛りに http://t.co/fsR2smN6 においてあるデータの容量が収まりきらなかったのです。

2012-05-12 17:15:45
田口善弘 @Yh_Taguchi

この仕様そのものにクレームがつきました。まず、言われたのは「個人のサーバからデータをdownloadするようなものはサーバの継続性が保証されないのでNG」ということです。反論はしませんでしたが、これには違和感を感じました。

2012-05-12 17:16:07
田口善弘 @Yh_Taguchi

なぜなら、BioconductorにはAPIと言って、サーバにアクセスして計算を投げて結果をretrieveするようなものもあったからです。ただ、僕のサーバはcomドメインでac.jpとかorgじゃなかったのでそのせいかもしれません。

2012-05-12 17:16:24
田口善弘 @Yh_Taguchi

最低でもデータそのものをBioconductorに置くように言われました。ですが、2MBのしばりがあり、それは不可能。Bioconductorにはsoftware以外にもannotation packageとかexperimental packageとか

2012-05-12 17:16:55
田口善弘 @Yh_Taguchi

データを置くためのパッケージも一応あります。しかし、前者はあくまでゲノム配列とか、情報自体に価値があるもの、後者はsoftware packageの実例用のデータを置く場所です。つまり、僕みたいな使い方は想定外でした。

2012-05-12 17:17:24
田口善弘 @Yh_Taguchi

結局、必要なデータをannotation packageに置くように言われました。この結論が出たのは4/13で、それまでにも掲示板でかなりのやりとりをしなくてはなりませんでした。さていざannotation package作成にかかったのですが、

2012-05-12 17:17:43
田口善弘 @Yh_Taguchi

しかし、annotation packageは構造が複雑で、一応、それを作るためのAnnotationDbiというパッケージがリリースされているのですが、これが非常にバギーでデフォルト以外のことをしようとするとうまくいかないのです。

2012-05-12 17:18:05
田口善弘 @Yh_Taguchi

ちなみにAnnotationDbiの実態はsqliteというデータベースでそれをRにロードしているだけなのですが、その仕様が非常に特殊でうまく作れない。正直泣きそうになり、sqliteのままじゃだめかと泣きつきましたがなしの礫。

2012-05-12 17:18:33
田口善弘 @Yh_Taguchi

仕方なく、必死でなんとかannotation packageを作ったところで、previewerではなく、http://t.co/NVHfPmp6 のメアドの主から返事がありました。これが4/17です。

2012-05-12 17:19:06
田口善弘 @Yh_Taguchi

こっちは大元の統括者で直接前に出てくることはまれだと思うのですが、僕のパッケージの場合、それだけ特殊だったのでしょう。彼とまたやりとりがあり、結局、annotation packageではなく

2012-05-12 17:19:26
田口善弘 @Yh_Taguchi

experimental packageにデータを投稿するということになりました。これが4/21です。 せっかく、苦労してannotation packageを作ったのにと思いましたが、そこは文句を言っても仕方ありません。

2012-05-12 17:19:48
田口善弘 @Yh_Taguchi

実際、Experimental Packageを作るのははるかに簡単で、新しく何か技術を学ぶ必要はありませんでした。 そこでSoftware Packageと一緒にExperimental Packageのtar ballを新たに作り再投稿。これが4/22です。

2012-05-12 17:20:10
田口善弘 @Yh_Taguchi

なお再投稿には、Experimental Packageを作って投稿する以外に、このデータをスクラッチから作れるRコードを書いてSoftware Packageに含めました。これはMUSTでは無かったようですが、強く推奨されていたようです。

2012-05-12 17:20:31
田口善弘 @Yh_Taguchi

その理由は、BioconductorはあくまでOpen Source Projectなので第三者が完全に再現できることが大切、と言われたことです。このため、使う当ての全くないデータ作成用Rコードをわざわざ作らねばならずこれには非常に消耗したことを付記しておきます。

2012-05-12 17:21:17
田口善弘 @Yh_Taguchi

さて、再投稿で多少、問題が起きました。僕は2つのパッケージを元のスレッドに投げてしまいましたが、それはNGだったらしくExperimental Package用にpreviewerが新スレッドを立てました。ところが、向こうが立てたスレッドには僕はなぜかアクセスできず。

2012-05-12 17:21:34
田口善弘 @Yh_Taguchi

再投稿Software Packageと新投稿Experimental Package にも多くのコメントが付き、再査読が戻ってきたのが5/5です。さらに直し、Experimental Package用に新スレッドを僕が立て直して再投稿したのが5/5です。

2012-05-12 17:22:04
田口善弘 @Yh_Taguchi

5/9に再々査読が戻ってきました。Experimental Packageの方はOKがでましたが、Software Packageにはまたコメントが付きました。5/10にSoftware Packageだけを再投稿。5/11にやっとOKがでました。

2012-05-12 17:22:23
田口善弘 @Yh_Taguchi

さて、今回、非常に大きな改訂があり、それはSoftware PackageとExperimental Packageに分ける、という作業でした。データ作成用のRコードも書かねばならず、当初の想定に比べて非常に膨大なオーバーベッドが発生してしまいました。

2012-05-12 17:22:41
田口善弘 @Yh_Taguchi

この事から見てもBioconductorの仕様に合わせてRコードを投稿することの敷居はかなり高いといわねばならないでしょう。単にdownloadして使えればいいというレベルを大きく超えた要求をされていると感じました。

2012-05-12 17:23:00
田口善弘 @Yh_Taguchi

以下、今回のあまりにも膨大な改訂作業に隠れてしまって書けなかった細かいコメントを書いておきます。(1)tar ballはR CMD checkをパスしていなくてはならないが、Rのバージョンは現行バージョンではなく開発バージョンを使うことを求められる

2012-05-12 17:23:24