Category: misc

GEOにあるCELファイル名を扱いやすくするには?

Written by bonohu in misc on 火 09 9月 2014.

GEOは遺伝子発現データのアーカイブで、再利用できるデータの宝庫である。だがしかし、多くのユーザがデータをdepositしてきているためファイル名などに一貫性がなく、コンピュータでの一括処理に困ることもたびたびある。

例えば、GSE50378に含まれている4つのマイクロアレイのraw dataのうち、GSM1217731のファイルは、GSM1217731_110720_03_dmso24H.CEL.gzってな具合に実験条件までファイルに書かれていて(それはそれで何の実験であるかのラベルとして便利なのだが)、他のシリーズのデータと一括してRMA正規化などを行う際にはファイル名に一貫性がなく、却って不便である。このGSMのIDのみがファイル名になっている(もちろん、ファイル拡張子がそれ以外に付くが…)のが、一括処理には向くわけである。 実際のデータファイルの名前を見たところ、この種のデータはGEOにおいてGSM数字_任意の文字列.CEL.gzというルールで付けられているようなので、中にある「任意の文字列」を削って、GSM数字.CEL.gzとなるように変換するscriptで対応することにする。

[perl] while(<>) { chomp; $f1 = $_; $f2 = $1.".CEL.gz" if(/^(GSMd+)/); system("mv -i $f1 $f2"); } [/perl]

これをrename.prlという名前で保存し、変更したいCEL …

Continue reading »


バイオインフォマティクス人材育成カリキュラム(次世代シークエンサ)速習コース

Written by bonohu in misc on 月 08 9月 2014.

9/5に表題の講習会の講師を務めてきました。普段、日本各所で行っている統合データベースの普及利用促進のための1-2日開催の統合データベース講習会AJACSとは異なり、NGSの速習コース(とはいえ、2週間がっつり)ということで気合の入った受講生たちでした。私のパートは「配列解析基礎」ということで、配列解析の歴史や配列、ゲノムデータ記述のフォーマット、基礎的な配列比較解析の原理と実習を3時間ほど。NGS速習コースということでメインではなく、NGS解析に関係する歴史的な背景やデータフォーマットに重点を置いたので、もっとガッツリ配列解析を勉強したかった人には不満足な内容だったかもしれませんがそういう人は独習でカバーして下さい。何でも教えてもらいたいという姿勢が垣間見られ、「主体的に学ぶ」姿勢をもっと着けてほしいな、と思ったのは私だけではないのではないかと。もちろん、ほとんどの人はそう実践していて、ほんの一部の人の傾向だけかもしれませんが。

[slideshare id=37668088&w;=597&h;=486&fb;=0&mw;=0&mh;=0&style;=border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%;≻=no]

Basic Sequence Analysis from Hidemasa Bono

サンプル配列をあらかじめ …

Continue reading »


mtr

Written by bonohu in misc on 木 21 8月 2014.

あるホストから別のホストまでのネットワーク経路をリスト表示するコマンドtracerouteの今風版のmtrなのだが、homebrewで [shell] brew install mtr [/shell] で簡単にインストールできてしまうが、そのままではエラーが出て実行できない。しかし、以下のようにsudoをつけてroot権限で実行すると [shell] sudo mtr bonohu.jp [/shell] うまくネットワーク経路が表示される。しかし毎回、sudoしたくないので、setuidする。それには [shell] sudo chown root /usr/local/sbin/mtr sudo chmod u+s /usr/local/sbin/mtr [/shell] してmtrコマンドをroot権限で実行できるように。 homebrewは一般ユーザーでなんでもできるようになっているが、こういうところで注意が必要。回避する手段がhomebrewにあるかもしれんが…。

Continue reading »


difffのチカラ

Written by bonohu in misc on 火 19 8月 2014.

論文reviseの際などには、某論文のコピペの可能性を示唆したあのツールがもちろん役に立つ。しかしながら、以下の様な行番号が付いた文書データしか手元になく、それと新しい版を比較せねばならないことがある。

1 High-throughput sequencing technology, also called next-generation sequencing (NGS), 2 has the potential to revolutionize the whole process of genome sequencing, 3 transcriptomics, and epigenetics. Sequencing data is captured in a public primary 4 data archive, the Sequence Read Archive (SRA).

直接コピーして貼り付けると、内容は同じでも行番号が邪魔して異なっていると判断されてしまう …

Continue reading »


ゲノムマッピング結果をwigで表示

Written by bonohu in misc on 土 09 8月 2014.

Bowtieなどで単にゲノムマッピングした結果(sam/bam形式)を各位置ごとに数値で表現してみたいというときに。マシンパワーと出力されるデータ量の制限で10塩基刻みでwigに変換するには [shell] samtools mpileup hoge_sorted.bam | perl -ne 'BEGIN{print "track type=wiggle_0 name=fileName description=fileNamen"};($c, $start, undef, $depth) = split; if ($c ne $lastC) { print "variableStep chrom=$cn"; };$lastC=$c;next unless $. % 10 ==0;print "$startt$depthn" unless $depth<3;' > hoge.wig [/shell] ってなかんじで …

Continue reading »


自家製BLAST用DBから必要な配列エントリ取得

Written by bonohu in misc on 金 08 8月 2014.

BLASTでヒットがあったエントリの配列データを切り出してきたい時はままあるかと。公共データベースのエントリならtogowsのRESTで取得するなり、ググるなりNCBIで検索するなりで配列データにありつけるかと思います。ところが、自分で作成したDBに対してBLASTした場合にはそうもいかないことがあるわけで。その場合どうするか、なのですが、とくに新規のコマンドをインストールしなくてもできるいい方法があります。

それにはまず、BLASTのDBを作成するコマンドmakeblastdbを実行するときに-parse_seqidsというオプションも足して実行します。例えば、自分の手持ちのDBがoreno.aaというFASTA形式のファイルだとすると

1
2
3
#!/bin/sh

makeblastdb -in oreno.aa -dbtype prot -hash_index -parse_seqids

な感じで。 そして、BLASTヒットがorenogene1だったとすると

1
2
3
#!/bin/sh

blastdbcmd -db oreno.aa -entry orenogene1

とすればFASTA形式でそのエントリの配列が取得できます。ただ、FASTAのヘッダ行のラベルが|(パイプ)などで長くなっていると、行頭からスペースが現れるまでの文字列を指定する必要があるようです。例えば …

Continue reading »


github再入門

Written by bonohu in misc on 水 06 8月 2014.

某所の講習会でファイルの共有を(バックアップで)やっておく必要が出てきたので、新しいレポジトリを作成する必要が。完全に忘れたので、一番最初から。 [shell] git config --global user.name "Your name" git config --global user.email "Your email address" git config --global core.autocrlf input git config --global core.sefecrlf true [/shell] そして、レポジトリに入れたいファイル群をadd&commit。 [shell] git init git add . git commit -m "first commit" [/shell] そして …

Continue reading »


配列解析基礎の講習準備

Written by bonohu in misc on 火 05 8月 2014.

バイオインフォマティクス人材育成カリキュラム(次世代シークエンサ)速習コースの講師で「配列解析基礎」を担当。その講習会資料をここ数日作成。 振り返ってみると自分が大学院に入った頃からすでに20年ぐらい経っていて、すでに歴史の中にいる自分に気づくなど…。 昔に翻訳した「バイオインフォマティクス」や自分で書いた「バイオインフォマティクス」(若葉本)も見返したり、紙媒体で持っている資料も多く掘り返しての労作となりました。その過程でこれらのコンテンツがかなり古くなっていることに気づくなど。 (狭義の)大学教員でなく、講義をしないからかつてはそういう物書きを進んでしていたのだが、最近もそういう機会もなく、また実際のデータ解析の現場にもいないので遠ざかっていたり。 機会があればアップデートしたいとは思っているのですが、書籍を出す話もなく、このブログ止まりなところが現状。うまいやり方ないかな。 [amazon asin=489706290X&template=thumbnail] [amazon asin=4895924262&template=thumbnail]

Continue reading »


IGVはじめました

Written by bonohu in misc on 金 01 8月 2014.

IGV(Integrative Genomics Viewer)をいじってみた。まずは、統合TVの基本編の方を見て。ダウンロードするときに所属機関の記入が必須の模様。'IGV 使い方'でググって出てきたウェブサイトも参考にしながら、データを準備して以下の読み込むところまで。 今回の対象が予め用意されたgenomeにない非モデル生物種だったので、bamファイルを作成する際に使ったFASTAファイルを読み込むところから始める、裏口入学でw。メニューバーの「Genomes」→「Load genome from File…」からFASTA形式のゲノム配列を読み込んで。

ただ幸いなことに、すでにsamからbamに変換されたファイルをもらっていて

[shell] samtools view -bS hoge.sam > hoge.bam [/shell]

のsam-bam変換は必要なかったので、以下のsort & indexを作るところから。

[shell] samtools sort hoge.bam hoge_sorted samtools index hoge_sorted.bam [/shell …

Continue reading »


スパコンユーザー会

Written by bonohu in misc on 木 31 7月 2014.

他の方々の使い方を垣間見れて参考になった。公共データベースを利用して、という使い方はそれほどメジャーではなかったものの、そういう要望も出てきているようで。私も計算をする前の調査ばかりじゃなくて、そろそろメインの計算始めないと。

Continue reading »


Soylatte事始め

Written by bonohu in misc on 水 30 7月 2014.

DBCLS SRA Metadata Search の結果をJSONで取ってくるのを教えてもらったので、備忘録的に。

まずは出力されるJSONを処理するコマンドとして、jqをインストールしておく。

[shell] brew install -v jq [/shell]

で。SRAデータの中で、Study typeが'Transcriptome'、キーワードとして'heat shock'を含むものを取ってくるときには

http://sra.dbcls.jp/search/data/search?species=&type=Transcriptome&instrument=&query=heat%20shock'

のようなURLを叩けば結果がJSONで返ってくるようになっているようで、そこからStudy IDだけを取ってきたいときにはcurlと上記のjqとあわせて、

[shell] curl 'http://sra.dbcls.jp/search/data/search?species=&type=Transcriptome …

Continue reading »


Python Imaging Library

Written by bonohu in misc on 日 27 7月 2014.
[http://www.pythonware.com/products/pil/](http://www.pythonware.com/products/pil/)

から入手できるとのことで、 Python Imaging Library 1.1.7 Source Kit (all platforms) (November 15, 2009) をダウンロード。5年近くアップデートされていないようで、libjpegもfreetypeもすでに入れていたのだが [shell] python setup.py install [/shell] ではすんなりとはインストールできず。出てきたエラーメッセージをググって出てきたページを見るにヘッダファイルのディクレクトリ関係らしく、 [shell] ln -s /usr/local/include/freetype2 /usr/local/include/freetype [/shell] するとうまくセットアップできた模様 …

Continue reading »


実践コンピュータビジョン

Written by bonohu in misc on 土 26 7月 2014.

「実践コンピュータビジョン」(原著: Programming Computer Vision with Python)を本屋で手にとってみてから購入。次の展開にむけた体力づくりのため、勉強^2。

[amazon asin=4873116074&template=thumbnail]

来月末にあるこの本の勉強会にも参加登録して自分からやる気を絞り出して。それにしても本屋で本を買うのは久しぶりの出来事でしたw。

Continue reading »


続・Selenium+PhantomJSで縦長のスクリーンショットを撮る

Written by bonohu in misc on 木 24 7月 2014.

前のエントリのSeleniumとPhantomJSを使ってブラウザを起動しないでスクリーンショットを撮るスクリプトの汎用化をpythonの勉強がてら。

[shell] python scsho.py "http://sra.dbcls.jp/" [/shell]

以下のスクリプトをscsho.pyとして、コマンドライン引数としてURLを入れることでそのページのスクリーンショットがscshoXXXXX.pngというファイル名で保存されるようにした。XXXXXはそのスクリプトを実行した時のpid(プロセスID)。

[python] import sys import os argvs = sys.argv pid = os.getpid() png = "scsho" + str(pid) + ".png" from selenium import webdriver driver = webdriver.PhantomJS() driver.get(argvs[1]) driver.save_screenshot(png) driver.quit() [/python]

キャストしないといけないとか懐かしかったり …

Continue reading »


Selenium+PhantomJSで縦長のスクリーンショットを撮る

Written by bonohu in misc on 土 19 7月 2014.

ウェブブラウザのスクリーンショットは画面の大きさしか撮れないのだが(当たり前)、ポスター発表の際に縦長のそれを作成して説明に使いたい時がある。それを実現するのに良いツールに思わぬ所で出くわしたので、それをφ(..)メモメモ。諸般の事情によりpythonで。

まずは、Selenium WebDriverに対するpythonのbindingパッケージを入れます。

[shell] pip install selenium [/shell]

などとして。

次にPhantomJSを。こちらはhomebrewで。

[shell] brew install -v phantomjs [/shell]

そして、スクリーンショットを撮るコード。ウェブブラウザを起動することなく撮ることができます。 [python] from selenium import webdriver import time driver = webdriver.PhantomJS() driver.get("http://sra.dbcls.jp/") driver.save_screenshot("DBCLSSRA_top.png") driver.quit() [/python …

Continue reading »


第13回スポットファイアーワークショップ(創薬研究領域)

Written by bonohu in misc on 土 19 7月 2014.

昨日7月18日(金)に、東京有楽町東京国際フォーラムにて。今回のテーマは「創薬研究初期におけるデータの活用」。ライフサイエンスデータの流通業を本業としている我々にとって、「データの活用」のためにこそ「流通業」をやっているわけだし、密接に関わる大事なテーマということで。

最初にPEの人となったSpotfireの中の人々から新規機能紹介。すでに自分の使っているバージョンだったため、何気に参考になりました。データの可視化にSpotfireが使われているのは以前と変わらないのですが、内部データや購入したデータ(ベース)以外に公共データの活用に取り組まれている実例を聞いて、再利用性の高いデータベースを作成、維持管理いかねばならない思いを新たに。創薬研究業界と分子生物学な我々の界隈とで「公共データ」といったときの温度差も再認識。分かってはいたつもりでしたが、実際にやっている人たちの話を聞いて大事な「軌道修正」となったかと。日本人標準ゲノム配列や遺伝子発現あたりが折り合いポイントですかね。そういう意味でも大変参考になりました。

それにしてもMishima.syk関係者の多いこと^2。自分たちが三島に移転したから意識するようになっただけかもしれないのですが。三島勢、元気ですという印象は与えた模様。どんどん盛り上げていきましょう!

実は去年は大阪で参加したのを、これを書いていてふと思い出しました。研究テーマも人のつながりも継続してこそだと、これまた再認識する良い機会でした。

継続は力なり

Continue reading »


ウェブサイト統合

Written by bonohu in misc on 月 14 7月 2014.

研究者としての情報は、大学院時代から研究室で自ら立てたウェブサーバで発信してきました。ソフト的には、最初はNCSAなhttpdで始め、ほどなくApacheを使うようになってそれ以来ずっとApache。ハードとしては、最初はSunOSじゃないからという理由で研究室でのけもの扱いだった DEC 3000 を使っていたが、大学院を出て常時接続が普通になってからは自作 PC Linux を使って自宅鯖(サーバ)として趣味的に。その後、より少音で省電力な Mac mini を使うようになり現在に至っています。 これまでそのサーバ上で、dokuwikiを使って管理してきたコンテンツには、研究者として公開すべき情報や講演資料、バイオインフォマティクスという研究分野関係の日本語コンテンツや私の考えなどでした。 そのうち一番最初の情報はresearchmapとして成果報告に適した定型のものが一般的に使われるようになってきています。 また、講演資料に関してもスライドを共有できるslideshareや、講演動画そのものを共有している統合TVやYouTubeといったサービスを介して発信できるようになってきました。 日本語コンテンツに関しても「統合データベースプロジェクト」以前は置き場がなく自宅鯖に置いたりしてきたが、統合データベース講習会が行われるようになってそれの講習会資料としてMotDBから発信するものでほぼ事足りており、それの補遺的な存在として自宅鯖でのブログエントリを書いたり。 こう書くと役目を終えてきた感満載なのですが、一番最後の私の考えだけが自宅鯖で発信していくべき情報としてまだ残されているかな〜ということでdokuwikiに書いてきたことを全面的に見直し、コンテンツを整理することにしました。researchmapにあるべき内容はそちらで今後更新、自宅鯖にあるべき内容はこのブログで発信というかたちで。

Continue reading »


Mishima.syk#3

Written by bonohu in misc on 土 12 7月 2014.

Mishima.sykというライフサイエンス業界な勉強会に参加してきました。その名の通り、2014年4月からの職場である三島近辺のその業界の勇士^H^H有志たちの勉強会です。職場が引っ越す前に開かれた、前回の第2回目に参加させてもらって本業との意外な接点を認識し(もちろん、以前から知ってはいたものの…)、積極的にかかわっていこうと今回は職務地移動のことなどを中心にライフサイエンス分野の公共データベースに関わる現職場関係の発表もさせていただきました。勉強会の詳細は勉強会の名前とかでググってもらって見つけてもらうとして、参加しての雑感だけをつらつらと。

皆さん、プレゼンがうまい。OBKなフレーズの再利用など、時事ネタが満載(これは発表タイトルを見ただけでもわかるかと)。データにしてもプログラムにしてもpublicなものを再利用するという観点は、ともすると自らが新しいデータを出してのみ研究という考えを持つアカデミアとは違うなあと。つまるところ、我々が作ってきたものをうまく活用してくれているということです。公共データベースの利用はもっとこっち系に(も)広めていったほうが更なる展開があるのではないかと。

参加者に関して。関東からのリピーターも居たり、また関東から三島に通ってきている人も居たりで、ローカルな勉強会なのにローカルさがなかったり。新幹線で時間的に近いからでしょうかね。

そして、懇親会での横のツナガリが素晴らしい。前回もそこで知り合った縁でランチスポットのバリエーションを豊かにしたり、ワインバーを知るきっかけを作ったり、講演会のお話までいただいたりしましたが、今後もっと大きな協力関係につながっていくのではないかとさえ思ったり。

最後に。私にとって一番刺激的だったこのセリフ。

「コーディングはお金のかからない趣味」

調整的な役割の仕事が増えてコマンドラインワークから遠ざかりつつあった自分に対する「アドレナリン」となったようです。単純な自分はこれに刺激されて、久しぶりに「捨てコード」を書いてデータ解析仕事に戻ってみたり、と一番の収穫だったように思います。

NIG Retreat 2014 …

Continue reading »


NIG retreat 2014

Written by bonohu in misc on 月 07 7月 2014.

7/3-4と遺伝研のリトリートに参加させて頂いて参りました。遺伝研からバスで40分ほどの御殿場高原時之栖にあるホテルがリトリートの会場。リトリートとは、「仕事や家庭生活等の日常生活から離れ、自分だけの時間や人間関係に浸ることで自分を見つめなおす場所」ということなのだそうですが、参加してみると学会の年会の様相。 しかしながら、個人的には普段なかなかお会いすることもできない先生方と同じホテルに泊まり、ポスター発表の時間などにお話する機会を持てたことは素晴らしいことでした。また、フリーディスカッションの時間に知り合いが「知り合い」を紹介してくれて、「新たな知り合い」となったこと。そして、これから同じキャンパスでひょっとすると共同研究できるかもしれない可能性の種を蒔いてきたことが何よりの成果だったかと。おまけに、現在お世話になっている研究室の教授のお計らいで、口頭発表させていただく機会までいただき、DBCLSの存在を宣伝できたり。 終わってみれば確かに「人間関係に浸ることで自分を見つめなおす場所」でした。

Continue reading »


DDBJ-DBCLS連携研究会

Written by bonohu in misc on 月 30 6月 2014.

6月26-27日の二日間にわたって、今年度も遺伝研研究会をオーガナイズしました。正式名称は国立遺伝学研究所2014年度研究会「塩基配列データアーカイブをフル活用するための大規模データ解析技術開発」。外部から10人の方に来て頂いてDDBJ-DBCLSの連携に期待することを語ってもらう一方、なかのひとにも自分のやっていることややっていきたいことを語ってもらいました。開始前はその語りは1日目途中で終わってガッツリそれぞれの専門分野ごとに別れての議論ができると思ったのですが、予想外にそれぞれの話のあとの議論が盛り上がって2日目の午前まで終わらず。でも結果としてはよい議論ができた、かと。ただ、外部の人のお話を拝聴するだけじゃなく、参加者全員に話をしてもらうことで会に主体的に関わることができたんじゃないかと思います。ここで話したことがきっかけとなって、今後の開発が進むことを願ってやみません。始めたキッカケ(1回目)が情報・システム研究機構内の若手集会という形だったこともあって、これまではこちらから外部の人を招待してクローズドな研究会としてこれまで3回開催して参りましたが、次回以降は、統合データベースユーザー会としてオープンな会とするのがいいのかなと個人的には思っております(そうなると研究会の予算的な根拠を考えないといけなくなるかもしれませんが…)。トーゴーの日の前後とかに会場近くでできるといいかも。 余談ですが、前回までと同じく今回も研究会の連絡は主にGoogle Driveのドキュメントで最新情報を告知し、それの更新アラート的に主催者から電子メールを送る形で進めました。発表PC切り替えの時間ロスを最小化すべく、Google ドライブの「プレゼンテーション」で作成し、メインのGoogle Driveドキュメントからリンクすることを推奨しました。事前に他人のプレゼンが見れるこの方式が功を奏したようで、他人のプレゼンを見てそれぞれ推敲を重ねていただいたようで結果としてどのプレゼンも完成度の高いものとなっていました。今後研究会をやる際の参考にしていただければ幸いです。

Continue reading »


データベースのID番号

Written by bonohu in misc on 木 20 3月 2014.

かつては塩基配列を解読したらそれをINSDC(International Nucleotide Sequence Database Collection; DDBJ/EMBL(ENA)/GenBankのこと)に登録してから論文を投稿するという流れで研究が進んでいました。例えば、AB016472とかがそのアクセッション番号と呼ばれるもので、バージョン付きのAB016472.1という形のそれを見ることも多いでしょう。これらのデータベースエントリはDDBJのgetentryやNCBIのNucleotideのページなどから閲覧できます。 また、NCBIのNucleotideからは、RefSeqというNCBIでまとめられたReference Sequenceのデータベースエントリも検索可能です。例えばNM_117704.6などがそうで、mRNAの配列はNMから始まるエントリ番号を持ちます。これらのRefSeqの配列検索や閲覧にはDBCLSで開発維持管理しているGGRNAが便利です(上述の例の検索結果)。 さらに、最近では上記の公的な塩基配列データベースではなく、独自に作成したデータベースにのみ登録されている配列情報も増えてきております。そういった独自のデータベースIDも流布しており、そのようなIDでインターネット検索(Google検索)するとそれぞれのデータベースエントリに行き着けることもままあります。しかしながら、論文報告する際には上述のINSDCに登録することが必要なのは、次世代シーケンサーが出てきてものすごい量の塩基配列が一度に読めるようになった今となっても全く変わっておりません。すでにそのようなデータベースに入っているものであっても論文報告で「主役級」の遺伝子であれば、登録しましょう。きっと読み直しもしたのだろうし。

Continue reading »


統合牧場移転

Written by bonohu in misc on 土 01 3月 2014.

統合牧場の郊外への移転が始まりました。一ヶ月のモラトリアム期間を経て、2014年4月からは静岡県三島市にある国立遺伝学研究所にその場を移します。

統合牧場の歴史は、統合TVを作成して頂く近隣の大学院生RA(Research Assistant)さんや大学生アルバイトさんたちから始まりました。その後、プログラミングスキル豊かなRAさんたちの参入によって技術開発部が自然発生的に成立し、「男の子牧場」事件があった頃だったこともあって(?)、「ヘンタイ牧場」を経て「統合牧場」と呼ばれるようになりました。

技術開発部はNGS解析の黎明期にその解析パイプラインプロトタイプやそういったものを動かすのに必要なコンピュータリテラシーに関して多くの日本語ドキュメントをインターネット上に蓄積した他、自然言語処理に関しても継続的に研究開発を進め、学会年会抄録間の関連性マップを作成するといった成果も挙げてきました(例: トーゴーの日シンポジウム2013のポスター関連図)

2007年7月から続く統合TV番組作成は、2014年2月までの、6年と8ヶ月(80ヶ月)で 763 本の統合TVを作成、公開しました。月平均約9.5個、約3.1日に1本というペースです。年ごとの集計を単純に足すと、 訪問者数 361,917 訪問数 1,154,330 ページ 3,785,082 バイト数 24.6Tb でした。ただ …

Continue reading »


BH13.13 最終日

Written by bonohu in misc on 土 01 2月 2014.

ランチョンwrap-up。特別、前に出て報告はしなかったものの、*Author'sサービスから他のサービスへの導線づくりは複数の手段で進められていくことに。乞うご期待!

Continue reading »


BH13.13 4日目

Written by bonohu in misc on 金 31 1月 2014.

昨日のツケ。筋肉痛でボロボロだったが、*Author's centralプロジェクトの実装を開始。実例を作らせていただいた。HIF-1αにマウスイン(hover)、クリックすると…。DBCLSの別のサービス(RefExAllie)へのリンクが出てくるように。よければすべてのデータに関してリンクされるようにしようかと。

Continue reading »


BH13.13 3日目

Written by bonohu in misc on 水 29 1月 2014.

いいだランニングクラブに参加。宿舎から会場までの往復5km/30min。さらに会場までバスに乗らずにウォーキング、2.5km/30min。トドメはエクスカーションでも某運動。普段より運動しているような…

Continue reading »


BH13.13 2日目

Written by bonohu in misc on 火 28 1月 2014.

WordPressのプラグイン調査引き続き。とりあえずは、登録されている単語にマウスインでアノテーションを出し、リンクを張る手段を見出した。 コンテンツについては、CSV形式でデータを流し込めるっぽいけど、その機能Pro版からしかなくて、それは有料ということ。とはいえ、$29程度なので、買ってしまうのが吉かもしれない。

Continue reading »


BH13.13 1日目

Written by bonohu in misc on 月 27 1月 2014.

沖縄県名護市の万国津梁館で開催中のBH13.13(国内版バイオハッカソン)に参加中。TeamWP(WordPress!)に属してDBCLSの各看板コンテンツ間のリンクを更に強化することを画策中。

Continue reading »


私とMacintosh

Written by bonohu in misc on 土 25 1月 2014.

Macintoshが発売されてから30年。自分とMacintoshは…と考えると、分子生物学の研究室に配属された1994年から、なのでちょうど20年。研究室にあって便利な文房具としてすぐに中古でColor Classicを買い、それで卒論も書き上げた。そう考えると付き合いはとても長い。 それから何台買ったのか、もう記憶に無い。現在の仕事道具(MacBook Pro)としても、自宅のオブジェ(Mac mini)としても、さまざまな役割をMacは担っている。例えば、今このブログを書いているのもMacだし、インターネット接続のためのWiFiルーターの役割を担っているのもMacだし、そのブログのサーバーとなっているのもMacである。そう考えると

No Macintosh, no life.

なのだなあとこのタイミングで再認識させられた。ありがとう、Macintosh、これからもよろしく!

Continue reading »


今日の捨てコード

Written by bonohu in misc on 金 24 1月 2014.

一対一対応のデータなら対応付けは簡単。しかし、実際の研究活動においてはそんなことばかりでなく、特定のIDに対応づくデータが複数あり、それをまとめて表示することが必要な場合はままある。例えば、特定の遺伝子にアノテートされた機能情報などがそれである。1つの遺伝子について機能情報が綺麗にまとまっていれば対応付けも楽なのだが、そんなことはない。

そこで以下のような捨てコードで、同一のIDにアノテートされた機能情報をまとめて人間が見やすい**かたちに整形する必要があったりする。入力とするデータはID順にsortされている必要はないが、重複があるとその分、出てきた結果が見づらくなるので [shell] sort -u go_annotation.txt > go_annotation-unique.txt [/shell] などとして重複を除いておくべき。

1007_s_at ATP binding 1007_s_at collagen binding 1007_s_at metal ion binding 1007_s_at protein binding

のような入力データを処理して

1007_s_at ATP binding / collagen binding / metal ion binding / protein binding

のように同じIDのものは一行にまとめてくれるようにするには以下のようなPerlスクリプトで実現可能である …

Continue reading »


awkの細道・その1

Written by bonohu in misc on 火 21 1月 2014.

タブ区切りテキストのカラム切り出しはUNIXコマンドラインでは、これまでも紹介したように [shell] cut -f2 arraytable.txt > column2.txt [/shell] みたいな感じで、arraytable.txtファイルの左から2番目のカラムだけを切り出して、column2.txtファイルに書き込むみたいなことを日常茶飯事的に実行する。 同じことをawkでもワンライナーで実行できて、 [shell] awk '{ print $2 }' arraytable.txt > column2.txt [/shell] とやればいい。

しかしながら、カラムの値にスペースが入っていたりするとこれがうまくいかなくなる。それはカラムをわけるデリミタ(とかファイルセパレータ)がdefaultではスペースもしくはタブという具合になっているからだ。そうなるとちょっと工夫が必要となってくる。 もちろんcutコマンドの-dオプションで指定してもいいのだが、敢えてawkでそれをやるスクリプトを紹介する。 [shell] BEGIN { FS="t" } { if( $16 > 1 ) { print $11 "t" $16 }} [/shell] この例では11カラム目がIDで、16カラム目が発現変動の比で、それが1以上になったものだけをIDとともにタブ区切りテキストで出力するというものである。この内容をcut …

Continue reading »


Alpine PhotoTile for Instagram プラグイン

Written by bonohu in misc on 土 11 1月 2014.

サイト投稿によってコンテンツの増えた「ぼうのブログ」の見てくれ変更。ブログの右カラムにInstagramで直近にアップした画像が出るようにして、冗長になっていた「アーカイブ」や「直近の投稿」を「お休み」状態にしたり。Alpine PhotoTile for Instagram プラグインの設定がちょっと手間がいったが、いろいろとカスタマイズできそうで、これからもいぢって行くのではないかと。やっぱりブログ、楽しい。

Continue reading »


Happy birthday to me

Written by bonohu in misc on 金 10 1月 2014.

今年も職場の同僚たちに明日に控えた誕生日を祝ってもらえた。それぞれ忙しい中それを忘れずに覚えていてくれたり、寒い中ケーキを買いに行ってくれたり…。大変嬉しいかったです。ありがとう。 前夜祭は独り、お気に入りの GERARD BERTRAND DOMAINES DE VILLEMAJOU 2011。 [amazon template=image&chan=default&asin=B00FE8BWYG]

Continue reading »


Be positive

Written by bonohu in misc on 火 07 1月 2014.

まだまだ、我々のやっていること、広まっていない。個別に、じみじみと広めていかねば。 友人の学問に対する前向きな姿勢、本当敬服。息切れしかかっていた私にとって、なによりの「チャージ」。いろいろあるけど、「夢の実現」から「継続」へとコマを進めていかねば。

Continue reading »


2014年仕事始め

Written by bonohu in misc on 月 06 1月 2014.

年末の出張の事務書類を出すところからスタート。その後、大ボスに呼び出されるなど。某仕様書、急ぎます。遅れていてすみません…。 昨晩、突貫工事で「統合」したブログの微調整も。日付がキッチリと入らないエントリがあるのはしょうがないのか?

Continue reading »


2014年の計

Written by bonohu in misc on 日 05 1月 2014.

昨年2013年は、以前より進めてきた

  1. 次世代シーケンサからのデータアーカイブSequence Read Archive(SRA)を使い倒すための仕組みDBCLS SRAの論文

  2. カイコのパーキンソン病モデルの論文

の2つを世に送ることができた。2013年年頭に掲げた目標

「実際に、現場で、使った論文等を世に送り出す」

はなんとか達成できたのではないかと。それに慢心せず、本年2014年は、これまではやってこなかった新しいことに挑戦していきたい。もちろん、これまでどおり、DBを使って研究をされている皆さんとの出会いを大切に、「知のめぐり」の向上にDBを使いやすくする仕組みやコンテンツの作成維持管理に努めていくこともやった上で。

来年度頭には、DBCLSの柏の葉キャンパス駅前と国立遺伝学研究所(三島)内への移転が予定されており、変化の年になるはず。遺伝研の中に仕事場を頂くからには、現場で自然に使われる「統合DB」を目指して、他の遺伝研の部門と融合的な活動を推進していきたい。

Continue reading »


双方向ベストヒットを取る

Written by bonohu in misc on 火 22 10月 2013.

何エントリか前に紹介した遺伝子対応表を作る際に、一般的には双方向ベストヒットということをよくやります。これは2種類の生物種にコードされた遺伝子セット全体を比較する際、クエリとした生物種1とデータベースとした生物種2でBLASTをかけた後にクエリに生物種2、データベースに生物種1を割り当てて逆に計算し、その対応関係において双方向で相思相愛になるペアだけを選ぶというものです。詳しくは坊農の博士論文[PDF] 2.3オーソロガス遺伝子の推定(p.12-14)を見てください。それをやる具体的な手順を今回紹介します。

BLASTをかけて-outfmt 6で得られた結果に対して、cutコマンドを使って1カラム目と2カラム目だけを週出してuniqコマンドで重複を除きます。 [shell] cut -f1,2 kaiko_human.txt |uniq > kaiko-human1.txt [/shell] また逆のBLAST検索の結果も同様に処理します。 [shell] cut -f2,1 human_kaiko.txt |uniq > kaiko-human2.txt [/shell] で、得られた結果の2つのファイルの同じ部分が双方向ベストヒットのペアということになります。 それを抽出するにはちょっとトリッキーですが、以下のようにしています。 [shell] cat kaiko-human1.txt kaiko-human2.txt | sort …

Continue reading »


配列セットを取得する(getentry編)

Written by bonohu in misc on 月 21 10月 2013.

前回の配列セットを取得するはTogoWSを使うものでした。TogoWSは汎用で前回例で示した塩基配列データベース以外のデータベースにも使えるので便利なのですが、取得が1エントリづつで遅いという欠点がありました。

塩基配列に限っては、DDBJのgetentryを使うという方法が数万のエントリ取得において劇的に早いことが関係者の方の手助けを得て分かりました。 前回紹介したAK377185-AK388575の連番エントリを一気に取るには、以下のコマンド(curl)でいいようです。

[shell] curl -o fasta.txt.gz 'http://getentry.ddbj.nig.ac.jp/getentry/na/AK377185-AK388575/?format=fasta&filetype=gz&trace=false&show_suppressed=false&limit=0' [/shell]

これでfasta.txt.gzに一万超エントリのFASTA形式ファイル(+gzip圧縮)が得られます。もちろん、シングルクオートの中身(URL) [shell] http://getentry.ddbj.nig.ac.jp …

Continue reading »


配列セットを取得する(TogoWS編)

Written by bonohu in misc on 木 17 10月 2013.

cDNA配列のセット(多くの場合数万のオーダーの配列群)が論文発表されたのに、それがウェブサイト上にないとかいう話をよく聞きます。その場合、大変申し訳無いのですが論文の読み込みが足りないと言わざるを得ません。論文発表されたからには必ずデータは公共データベースに公開されているはずです。していないのは「公開した」とは言えないからです。 #まれにNGS黎明期のゴタゴタで配列を公開していないのに論文が通ってしまっている例がありますが、それは例外として。

論文にはデータベースのアクセッション番号がどこかに書いてあるはずです。まずそれを探しましょう。例えば、

All full-length cDNA sequences obtained in this work appear in public databases under accession nos. [DDBJ:AK377185-AK388575].

とあると、アクセッション番号AK377185-AK388575で公開しているわけですから、以下の様なPerlのコード(get.prl)で配列が取得できます。 [perl] my $togows = "http://togows.dbcls.jp/entry/nucest"; #baseURL my $start …

Continue reading »


localBLASTで遺伝子対応表作成

Written by bonohu in misc on 木 25 7月 2013.

本日(2013年7月25日)、PLOS ONEから論文を発表しました。お世辞にもいい機能アノテーションがなされているとは言えない「非モデル」生物種カイコにおいてマイクロアレイデータ解析を可能とし、ヒトで使われているパスウェイ解析ソフトが利用可能となったことが解析の「突破口」となりました。それを可能としたのはカイコとヒトの「遺伝子対応表」です。

もちろん、あらかじめ個別のモデル生物データベースセンター的なサイトで用意されてあればそれを使うのがいいのですが、必ずしもそれがあれば利用者側で何もやらなくていいというわけではありません。今回の場合もそうだったのですが、そういった提供されているデータセットと、マイクロアレイ解析の場合など調べたいデータセットとのIDの対応関係が簡単にとれない状況であることもあります。そういった場合、やりたい解析(今回の場合、カイコをヒトと比べてこの二種類の生物種間で対応表が作成したかった)に合わせて「対応表」を個別に作成する必要があります。それをどうやったかを手順を追って解説したいと思います。

まず、どこのデータセットを比較対象とするかの取捨選択から解析は始まります。世の中にはすでに利用可能な、たくさんのデータセットがあります。そのうち、どれを使うべきか?これには実は答えがなくて、それぞれの状況や好みに応じて選ぶしかないと思います。UCSCのサイトのものを使うやり方もありますが、Ensemblの方が整然としていて使いやすいので、今回もEnsemblの方を使いました。ここにあるデータダウンロードindexページから必要なデータをダウンロードしてきます。今回の場合、カイコアレイの元のEST(cDNA)配列に対して、ヒトのcDNA配列の対応を付けたかったので、それに相当するHuman cDNA(FASTA)をクリックします …

Continue reading »


RでPCA

Written by bonohu in misc on 土 13 7月 2013.

マイクロアレイデータを再利用する際、遺伝子方向のみならずサンプル方向のデータの相関が気になってくると思います。justRMAでnormalizeしたデータで次に行うのは、おそらくサンプル方向のPCA(Principal Component Analysis:主成分分析)でしょう。ここではRでPCAをして第1,2主成分でグラフを一気に作成するコマンドを紹介します。

まず以下の様な内容でPCA.rという名前のファイルを作成しておきます。もちろん、Rを起動して一行ずつコピペしていっても構わないのですが、最後の行にあるパラメータをいじったりするなど何回もこれを実行することになると思うのでそういう場合はファイルに書き下して「スクリプト化」しておいたほうが楽です。 [shell] data <- read.table("RMA.txt", header=TRUE, row.names=1, sep="t", quote="") data.pca <- prcomp(t(data)) names(data.pca) plot(data.pca$sdev, type="h", main="PCA s.d …

Continue reading »


エントリ数を数える

Written by bonohu in misc on 月 01 7月 2013.

ファイルが何行あるか知りたいだけなら、いちいちテキストファイルをWordで開いて文字カウントツールを使うまでもありません。そのファイルをfile.txtとするとコマンドラインでは [shell] wc -l file.txt [/shell] で良くて、文字数とかバイト数も合わせて知りたい時には [shell] wc file.txt [/shell] で知ることができます。

また、出現する文字の種類が何種類あるか知りたいだけならsortとuniqコマンドを使って [shell] sort file.txt | uniq | wc -l [/shell] すれば良い(ただし、この場合は一行に一単語というファイルの中身の前提条件があって、だが)。バイオインフォマティクスな業界ではそれが何回出てきたかが気になる状況が多々あります。そういう需要に対応するために以下の様な簡単なPerlスクリプト(count.prl)を2010年代の今になっても頻繁に利用しています。 [perl] while(<>) { my($word) = split; $num{$word}++; } foreach (sort keys %num) { print "$t …

Continue reading »


コマンドラインで快適なデータ解析を

Written by bonohu in misc on 土 29 6月 2013.

最近のバイオなデータ解析では、ファイルサイズが大きすぎたり、または多すぎたりで、GUIな環境では快適にファイル操作できないこともあって、コマンドラインでデータ解析をする人が増えてきたのはいい流れと思っています。基本的なシェルの操作は私がまた一から書くようなものではないと思うので、そのレベルの情報が必要な場合は、若葉本(初心者でもわかるバイオインフォマティクス入門)の「第2章必要なコンピュータ環境を作ろう」p38-92とか、Mount本(バイオインフォマティクスーゲノム配列から機能解析へ)第2版の「付録: UNIXをはじめよう」p565-570とか参照してください。

割と当たり前すぎて紹介されにくい、普段から私などがよく使う(技というにはおこがましいという人がいるかもしれないレベルの)tipsを何点か紹介します。

コマンド入力は、誰しもほぼ間違いなくタイプミスします。それを防ぐためにどうしているかというと、タブ補完を利用します。コマンドを途中まで入力して(たとえばcuff)、そこでタブ(tab)キーを入力するとコマンドサーチパスにその単語で始まるコマンドがsuggestされます。 [shell] % cuff cuffcompare cuffdiff cufflinks cuffmerge [/shell] さらにlと打って、タブキーを押すとコマンドすべてを入力しなくてもコマンド名が「補完」されてcufflinksとコマンドライン上に表示されます。 cufflinkだったか、cufflinksだったか、うろ覚えで、それに続くさまざまなパラメータを書いてしまってcommand not foundと言われてがっかりしなくてすみます。

直前に使ったコマンドを一部オプションを変えて再実行したいということが頻繁にあります。その際 …

Continue reading »


justRMAでnormalize

Written by bonohu in misc on 月 17 6月 2013.

マイクロアレイデータを再利用する場合、それらのデータのnormalizeは必須です。 GeneChipの場合、normalizeしたいCEL形式のファイル群を同じディレクトリに入れておいて、一気にやってしまうことがjustRMAで可能です。

まずRが入っているかどうか。入っていない場合、Mountain lion(10.8.4)の場合、homebrewで [shell] brew install -v R [/shell] とするだけでRの最新版(2013/6/17現在、3.0.1)をインストールできます。 WindowsだとCRAN、たとえば筑波大のCRAN mirrorからダウンロードするとよいでしょう。

[shell] source("http://bioconductor.org/biocLite.R") biocLite("affy") library(affy) write.exprs(justRMA(), file="RMA.txt …

Continue reading »


クロスプラットフォーム問題

Written by bonohu in misc on 日 16 6月 2013.

2010年代になった今でも相変わらず使用しているプラットフォーム(主にOS)の違いによって受渡したデータが閲覧できない等の問題は多く発生しているようです。

一番顕著なのはAJACS名古屋のテキストで詳しく書いたUNIX, MacOS, Windowsのテキストファイルでの改行コードの違いの問題でしょう。これらは歴史的な経緯があってこうなってしまっていて、普段はアプリケーションレベルで回避しているので問題にならないものの、自らが生データを扱うようになるととたんに問題の原因となっているようです。

OSの選択肢の傾向(データを渡す側はWindowsで受け取る側はUNIX)から一番良く起こると考えられる、WindowsのテキストファイルをUNIXのそれに変換する場合、以下のperlのワンライナーで変換できます。

perl -pe 's/r//g' win.txt > unix.txt

変換したいファイル名を変えずに上述の改行コード変換だけをしたいのなら以下のワンライナーがおすすめです。

perl -i~ -pe 's/r//g' data.txt

data.txtの改行コードが変更され、元ファイルはdata.txt~というファイル名に変更されます。

また、改行コード問題以前に、半角の(円記号)と\(バックスラッシュ)が違いない(同じ意味である)ということについて …

Continue reading »


fastacmdの後継者: blastdbcmd

Written by bonohu in misc on 土 15 6月 2013.

遺伝子上流配列など、ゲノム配列の任意の場所を切り出すのには、BLATパッケージに含まれている nibFrag をこれまで勧めてきました。FASTAフォーマットの配列ファイルに対して別個にnibインデックスを作らないといけなくて管理が面倒なのと、やはりBLATはfor profitには有償という大きな難点がありました(ライセンス料は決してお安くない)。

そこでpublic domainなソフトウェアのNCBI BLASTパッケージにも似たプログラムがきっとあるはずだろうということで探してみると… fastacmd コマンドがそれだったようです。しかしながらBLASTパッケージのバージョンアップでBLAST+になってからは fastacmd が含まれなくなっているようです。更に調べると blastdbcmd というプログラムがその後継という位置づけのようで、BLAST+をインストールする時に blastdbcmd は同時にインストールされるプログラムです。その使い方を調べてみました。

まず、makeblastdb コマンドでBLAST用のindexを作成します(かつての formatdb コマンド相当だと思います)。-dbtype nucl で核酸配列であることを指定し、-hash_index でインデックスの作成も指定しておきます(追記: -parse_seqids を足さないと個別エントリの切り出しには対応しない模様。別のblastdbcmd関係エントリ参照。ここで -in で指定している 1.fa はゲノム配列(1番染色体)が1本だけ入ったFASTAフォーマットのファイルです。

1 …

Continue reading »


Mountain Lion で local BLAST

Written by bonohu in misc on 土 08 6月 2013.

MountainLion(MacOSX10.8.4)のhomebrewでBLASTがとくにいぢらなくても入るようになった模様です。バージョンの確認は、左上のリンゴマークメニューから「この Mac について」を選んで出てくるウインドウで確認できます。 homebrewのインストールは「homebrew インストール」でググって入れてもらうとして、ここではlocal BLAST(以下、単にBLASTと書きます)を入れる際につまづきそうなことだけ。 普通に [shell] brew install blast [/shell] とやってもBLASTなんて知らんといわれてインストールされません。 [shell] brew tap homebrew/science [/shell] としてレポジトリを追加する必要があります(この場合、homebrew-science)。そうしてから [shell] brew install -v blast [/shell] とすると…2013年6月6日現在だと2.2.28のBLASTのコンパイルが始まります。コンパイルには結構時間がかかると思いますが、終わったら。 [shell …

Continue reading »



GUIとCUI

Written by bonohu in misc on 火 30 4月 2013.

GUIとはGraphical User Interfaceの略で、今使っているInternet ExplorerやGoogle Chromeなどのウェブブラウザのように主にマウス操作と最小限のキーボード入力でコンピュータが動いてくれるインターフェースのことです。ウェブブラウザ以外だと、表計算以外の目的でも頻繁に使われているExcelとか遺伝子発現解析ソフトウェアの定番GeneSpringなどがGUIなソフトウェアということになります。それらの操作法については、統合TVで動画としてプロトコールの行間を埋める形で多数紹介してありますので、そちらを御覧ください。 2010年代の最近ではGUIでも高度な操作ができるようなものも使われるようになってきました。例えば、Biomartを使うと遺伝子の上流配列を取得することが簡単にGUIでできますし、Galaxyを使うと特定の転写因子予測結合領域と遺伝子上流領域の「交差点」をリストアップすることが可能です。しかしながら、一般的にはGUIでは研究者が論文の図や表として求めるレベルのデータを作るには機能不足という状況がよくあります。 それに対してCUIとはCharacter User Interfaceのことで、コマンドをキーボードから直接入力してコンピュータにジョブを投入する方式のことです。CUIなツールに関しても一部、LocalBLASTcygwinBioperlの使い方を通して統合TVでも紹介してきましたが、そのバリエーションの多さ故にそのありがたさの多くを伝えきれていません。 そこで、ここではその「バリエーション」に敢えて向き合い、いろんな使い方を「プロトコール」として紹介していきたいと思っています。

Continue reading »


バイオインフォマティクスの広がり

Written by bonohu in misc on 木 25 4月 2013.

電子化されコンピュータ上で扱えるデータが主に核酸配列とそれを翻訳して得られるアミノ酸配列だったこともあり、それらのデータ解析(配列解析)がバイオインフォマティクスと呼ばれてきました。その流れで書かれた教科書が我々が翻訳したMountのBioinformaticsです。 マイクロアレイの発明により遺伝子発現が網羅的に測定できるようになるとそこから得られた数値のデータもバイオインフォマティクスで扱うデータの対象となってきました。それを考慮して第二版のMountのBioinformaticsはマイクロアレイデータ解析の部分が加筆されています。 [amazon asin=4895924262&template=thumbnail] また、知識として蓄えられた代謝経路などのパスウェイのデータもバイオインフォマティクスとして認知されるようになってきました。現在ではそれらのデータは、人類共通の知的な財産としてWikipediaなどにまとめられ(Gene WikiWikiPathwaysなど)、誰でも自由に使えるようにする流れになっております。 それらのデータを使ったシミュレーションもバイオインフォマティクス、さらには測定機器から得られるイメージデータのデータ処理もバイオインフォマティクスと呼ばれているのが現状だと思います。さらには、今後得られるであろう臨床データもバイオインフォマティクスとされていくのではないかと思います。つまり、ライフサイエンスを研究すること=バイオインフォマティクスになりつつあるのです。

[caption id="attachment_35" align="alignnone" width="300"]バイオインフォマティクスの範疇 バイオインフォマティクスの範疇[/caption]

Continue reading »