Category: misc

SRA形式ファイルの料理法

Written by bonohu in misc on 火 25 8月 2015.

以下の様な声をたまに聞く。

DDBJのDRAにはFASTQ形式のファイルがなくてダウンロードできない

と。FASTQ形式はテキスト形式で、圧縮しない状態ではディスク容量を喰う。ブログエントリを書いている2015年8月末時点ですでに約2.5ペタバイトものデータ容量がSRAだけであり、その中間ファイルとか含めると…。そのためにFASTQ形式そのものでは保存されておらず、SRA形式という圧縮もかかった形式で利用可能となっている、というのがそれに対する答え。

ではSRA形式はどう処理すればよいのか?FASTQ形式のファイルに変換できるのか?それには、NCBI謹製のSRA Toolkitを使えば良い。様々なプラットフォーム向けのそれがダウンロードサイトから利用可能となっている。Macならhomebrewで

[shell] brew install -v homebrew/science/sratoolkit [/shell]

このSRA Toolkitの中のfastq-dumpというプログラムを使えばFASTQ形式のファイルが得られる。

[shell] fastq-dump hoge.sra [/shell]

ただ、ペアエンドのSRAエントリの場合には以下のようにしてファイルが分割されるように指示してやる必要がある。

[shell] fastq-dump --split-files hoge.sra [/shell]

Continue reading »


統合データベース講習会AJACS津軽

Written by bonohu in misc on 月 24 8月 2015.

2015年9月3,4日に弘前大学での統合データベース講習会AJACS津軽に講師として参ります。今年度二回目の「代表招集」。

前回、大阪大学吹田キャンパスでのAJACS千里では、ゲノム配列データベースの使い方遺伝子発現データベースの使い方の2コマ担当でしたが、今回は遺伝子発現DBの使い方とR/Bioconductorを使ったデータ解析入門ということで2日目のすべてを担当します。今回は、遺伝子発現解析の入門編を合計3時間かけてガッツリとやる予定です。

担当分の前半は、前回の「遺伝子発現データベースの使い方」のアップデート版、後半はR/Bioconductorを使ってデータ解析する入門編です。これまで出してきた論文でR/Bioconductorを使って図表を作ってきましたが、その実例を皆さんと手を動かしてやってみたいと思っていますので、ふるってご参加ください。当日の資料は、絶賛作成中ですが、以下のページですでに公開してしまっています :-p

Continue reading »


blast2html

Written by bonohu in misc on 日 23 8月 2015.

paintBLASTとか知っているだろうか?かつてNCBIのウェブサイトでBLAST検索した時に上部に、queryのどの部分にDB中の配列がマッチしたかを可視化してくれるクリッカブルイメージがあったと思うのだが、それを生成するためのツールがそれだったと思う。 それを使ってBLASTの結果を可視化したいと思い、探したのだが、どうも維持されていない。いろいろ検索して行きあたったのがpythonのツールでblast2html。localBLASTの結果(xml形式)をHTMLに変換して出力し、paintBLASTのような結果も表示くれるものらしい。というわけで早速

[shell] blastn -query query.fa -db db.fa -outfmt 5 > hoge.xml [/shell]

としてXML形式(-outfmt 5はXML形式出力の暗号)の(local)BLASTの結果を用意して

[shell] python blast2html.py -i hoge.xml -o hoge.html [/shell]

で実行してみるとエラーが。

UnicodeEncodeError: 'ascii' codec can't encode …

Continue reading »


圧縮を並列化

Written by bonohu in misc on 土 22 8月 2015.

データ量は大きくなるばかりで、それをファイル圧縮して保存しておくなり、転送するなりが当たり前になっている。かつてはCPUのクロック数が上がることでこの圧縮が早くなることが望めたが、最近はクロック数はそれほど伸びなくなってきた。その代わりに1つのコンピュータが持つコア数が増え、並列計算でそれを実現することが良い解法となってきている。ファイル圧縮のプログラムとして長らくgzipやbzip2を使ってきたが、これらは並列化されておらず、1つのファイルあたり数Gから数十GbyteあるFASTQファイルの圧縮/解凍に長い時間待たされることが多くなってきていたが、そんな我々に朗報。

pigzがgzipの、pbzip2がbzip2のthread版として利用可能。Macならhomebrewで一発で入ります。

[shell] brew install -v pigz brew install -v pbzip2 [/shell]

使い方はこんな感じで、使うthread数を指定する必要は特にないようだ。

[shell] pigz large.fastq pigz -d large.fastq.gz [/shell]

デフォルトでCPUを使えるだけ使うようなので、&つけてバックグラウンドで走らせないほうがいいかと。

Continue reading »


SPARQLthon35

Written by bonohu in misc on 火 11 8月 2015.

2015/08/10-11は、DBCLS三島というか、DDBJのある国立遺伝学研究所にてSPARQLthon35回目。前回の続きで、SRAに登録されているものの遺伝子発現データベースに登録されていないエントリがどれぐらいあるかの調査。予想に反して多かったので、別ソースでIDの対応が付けられないか、SRAをやっている同僚の仲里さんに手伝ってもらって対応をとってみた。

前回、5234ものRNAseqのSRAエントリがBioProjectID単位でArrayExpress(GEO)に載っていないというショッキングな結果だったが、そのうちいくつかは今回の名寄せで補われたものの、やはりかなりの数ある。BioProjectIDの発行元別にその結果を以下に示す。

  • PRJN: 4728 -762 = 3966

  • PRJE: 337 - 48 = 289

  • PRJD: 169 - 0 = 169

その一方、ChIPseqのほうは、多くが今回の名寄せで対応が着いた模様。こちらもBioProjectIDの発行元別に。

  • PRJN: 492 - 354 = 138

  • PRJE: 45 - 19 = 26

  • PRJD: 55 - 0 = 55

計算したデータはこちらに

Continue reading »


byobu使ってみた

Written by bonohu in misc on 木 06 8月 2015.

screenの使い方の投稿の修正をポストしたついでにtwitterに流したら、byobuというものがあってこっちのほうがナウでヤングだという御意見を頂戴する。Linuxでの紹介記事も教えてもらったが、

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

したらやっぱりhomebrewにもあってサクッと入った。細かい使い方は全く一緒なんだが、Function Keyを使ってバッファの遷移ができるとか、エスケープシーケンスを使わなくても「使える」仕様はなかなか。しかし、エスケープシーケンスをこれまでのように使ってscreen互換的にも使えるので満足。一番下の行にバッファーリストとか出てて、このプログラムが起動していることが一目瞭然だし。 byobuを起動後、初めてCntl+aを入力した時にエスケープシーケンスとしてそれをつかうのか、はたまたEmacs使いなのか、的にinteractiveに訊かれ、自分の好みのエスケープシーケンスを設定できる。F9キーを押してもその設定ができるから便利。 MacBookProとかならFunction Keyがあるからよいのだが…HHKキーボードだとちと…。まあ、一度エスケープシーケンスを設定してしまえば関係ないのだけれども。

Continue reading »


SPARQLthon34

Written by bonohu in misc on 金 17 7月 2015.

2015/07/16-17の両日は、SPARQLthonの34回目でDBCLS柏。前回からやっている、SRAに登録されているものGEOやArrayExpressといった遺伝子発現データベースに載っていないデータをリストアップしてみようの続き。比較するために、BioProjectのIDに変換して同じだたかどうかを判定。データゴニョゴニョは前回でやっていたので、それの解釈が主な今回の仕事。まずは、その重なりをVenn図で可視化

venn_result25079

ArrayExpress(GEO)にない5234エントリ(5226+8)のうち(RNAseqの方)、BioProjectIDの由来で分類。すなわち、NCBI由来のPRJN、EBI由来のPRJE、DDBJ由来のPRJD別に。RNAseqの方は、

  • PRJN: 4728

  • PRJE: 337

  • PRJD: 169

同様にChIPseqの592エントリでは

  • PRJN: 492

  • PRJE: 45

  • PRJD: 55

結構抜けているし、それはDDBJ由来というよりは…という結果に。ちょっと抜けていると判定されたデータが本当にそうなのか、大規模に調べてみる必要がありそう。RNAseqデータ、ArrayExpress(GEO)にはないけど、「SRAにはありまぁす」という結果になるかもしれない …

Continue reading »


screenコマンドでプロセスは続くよどこまでも

Written by bonohu in misc on 水 24 6月 2015.

コマンドラインでのデータ処理はすぐに終わらないものもあります。解析すべきデータ量が多い昨今、とくにその傾向が強いようです。そういう場合に役立つのがこのscreenコマンドで、大学院生時代からかれこれ15年以上愛用しています。使い方は簡単で、まずはscreenを起動するサーバーで [shell] screen [/shell] と打ってscreenを起動します。そうすると起動画面が出たあとはコマンドプロンプトが出て普通にUNIXコマンドラインを使えば良いです。 ホームディレクトリ以下の.screenrcに escape ^Z^Z と書いて、defaultだとControl(Cntl)+aになっているescapeキーをCntl+zにしてつかっているので、以下それを想定して書きます。変更する理由はCntl+aはコマンドライン操作において一番先頭にカーソルを移動するショートカットで、直前に実行したコマンドを再度実行する際の編集などで多用するからです。

作業終了するときには、Cntl+zを押してからdをタイプしてdetachします。そうすると目の前の端末からscreenのセッションが「離れ」ます。これを実行する前にデータのダウンロードや時間のかかるプログラムを実行開始しておいてもそれが続けて実行されつづけます

再び再開するのは、そのマシンにsshでログインして、 [shell] screen -r [/shell] でスクリーンのセッションを呼び戻します(resume)。detachするまえのセッションが再開され、たとえばデータのダウンロードを実行していたのが今はどうなっているか、わかります。また、 [shell] screen -x …

Continue reading »


SPARQLthon33

Written by bonohu in misc on 火 23 6月 2015.

2015/06/22-23の両日は、SPARQLthonの33回目でDBCLS柏。以前より、この会で取り組み続けている「NGSデータ解析ツールのDocker化とその環境づくり」を続けてやっているところ。最近は主にRNAseqデータの定量をするためのそれに取り組んでいます。日本のSRA(=DRA)に登録されたRNAseqデータはGEOにもArrayExpressにも自動的には登録されないということが指摘され、そういったデータをリストアップしてみようと動き出したところです。

Continue reading »


領域融合レビュー「次世代シーケンサーにより得られたデータの解析」公開

Written by bonohu in misc on 月 18 5月 2015.

ぼうのブログの「2010年代のバイオインフォマティクス」カテゴリを創設したときに

  1. 概念的なまとめを書いた「薄い本」パート

  2. 「データ解析プロトコル」パート

に分けて文書化を行っていくと書いたが、ついに、その「薄い本」パートの第一弾となる「次世代シーケンサーにより得られたデータの解析」が公開された。もはや次世代ではなくなりつつある次世代シーケンサーから得られたデータを、広く多くの方に知ってもらうという位置づけで、日々データ解析する人たちから話を聞いて無料コンサル的なことをしている私の頭のなかにあるこのデータ解析の全容を書かせてもらった。私自身も小規模ながらデータ解析を実際にやっており、そういう意味では現場の声かと。多くのそういったデータ解析をやっている方の目に触れ、「なんだ、こんな内容でも書いていいのか」と思われ、自身も情報発信されんことを願っています。

領域融合レビュー, 4, e008 (2015) DOI: 10.7875/leading.author.4.e008 Hidemasa Bono: Sequence data analysis in life science utilizing next generation …

Continue reading »


ツキとあたしとfigshare

Written by bonohu in misc on 日 10 5月 2015.

外部での講演、講義、研究打ち合わせが続いた2015年春の大型連休の前後だった。並行していろいろ書き物。振り返ってみると悲しいことを忘れようと仕事に打ち込んでいたかのよう。

  • 北海道大学遺伝子病制御研究所 (2015/04/21)

  • 東京大学大学院農学生命科学研究科 (2015/04/27)

  • 群馬大学大学院医学系研究科 (2015/05/01)

そして5月8日はDBCLS三島にてお客様が来て、やっていることを発表。その際使ってきたプレゼンテーション(略してプレゼン)は上記の東京大学大学院農学生命科学研究科「情報生命工学」の講義の一部を担当させててもらった時の講義スライドがベースとなっている。この2015年春バージョンのスライドをベースに各場面に合わせて改変して発表していることを白状する。このスライドはfigshareというサイトにアップされており、以下の様にciteできる。

Bono, Hidemasa (2015): データベースを活用した知のめぐりのよい生命科学. figshare.
http://dx.doi.org/10.6084/m9.figshare.1391958
Retrieved 02:04, May 10, 2015 (GMT …

Continue reading »


GFFでIGVにアノテーションを表示する

Written by bonohu in misc on 金 24 4月 2015.

IGVに表示するためのGFFを出力する捨てコード(Perl)書き。入力はBLASTの結果のタブ区切り出力(-outfmt 6指定して出てくるもの)。以下のコードをhoge.prlとして、 [shell] perl hoge.prl sample1 < BLASTout.txt > BLASTout.gff [/shell] のようにして使う。

9カラム目のattributesは任意だと思っていたのだが、ここでID=を指定しないとIGVにtrackとして表示されない模様。NAME=はそのtrackの該当箇所にマウスインした時に表示される詳細ウインドウに表示されるので、書いた方が良い。 また、6カラム目のscoreだが、0-1000の範囲で書けるということで、パーセント一致度(percent identity)を10倍して小数点以下切り捨てで。しかし、IGVのどこにその値が反映されて表示されているのだろう?

[perl] my $prefix = shift(@ARGV); while() { chomp; my($name,$scaf,$score,$three,$four,$five …

Continue reading »


NCBI HomologeneのFASTA出力ヘッダを生物種名に変更

Written by bonohu in misc on 水 22 4月 2015.

NCBI Homologeneからいろんな生物種でのある遺伝子のホモログをリストアップした際、デフォルトではそれのmultiFASTA形式ファイルでgiとRefSeqのIDがラベルとなって出力される。それでは人間様にとってはぱっと見わかりにくいので、FASTAヘッダ中に[Homo sapiens]のように含まれている生物種名を抽出してラベルとして書き換える。

以下の捨てコードをhoge.prlとして、homologeneの出力を標準入力にして [shell] perl hoge.prl < homologene.txt > homologene2.txt [/shell] のように使う。

ただ、一つの生物種に複数該当エントリがあるとIDが重複し、多重配列アラインメントプログラムで文句言われるので注意。その場合は中身を見て重複しているIDは違う名前にすべし(例えば、Homo_sapiensをHomo_sapiens2にするなど)。

[perl] while() { chomp; if(/^>/) { $species = $1 if(/[(S+sS+)]/); $species =~ s/ /_/; print ">$speciesn"; } else { print "$_n"; } } [/perl]

Continue reading »


匍匐前進

Written by bonohu in misc on 月 13 4月 2015.

年度初めからショッキングな出来事が多く、仕事がなかなかはかどっている感じがしませんし、実際そうだと思います。匍匐前進、こなしていくしかないですね。

Continue reading »


突然のreboot

Written by bonohu in misc on 土 04 4月 2015.

- Docker

前日に引き続き。同じようにO/Nでtophat走らせていたが、やっぱり突然virtualboxがreboot。なんなのだろう?

root@21ee049caf37:/data# tophat -o test_out -p 12 -r 100 hg19 1_1.fastq 1_2.fastq

[2015-04-03 01:46:13] Beginning TopHat run (v2.0.14)
-----------------------------------------------
(中略)
[2015-04-03 10:24:39] Searching for junctions via segment mapping

Broadcast …

Continue reading »


Tophat2 on docker in Mac

Written by bonohu in misc on 金 03 4月 2015.

- Docker

昨晩帰りがけにO/Nでのrunを仕込んだので、時間はかかるが一晩で終わるかと思いきや、途中でVirtual box自体が落ちてて終わらず。

仕方がないので、1万readに絞ったデータセットを作って、それで実行。するとすぐに実行終了してbamファイルが出来ていた。これでdocker上でもtophatはちゃんと動いて、大容量ボリュームに結果を記録できることが無事出来た。

前に作ったtophatのdockerfileとは異なり、必要なツールをインストールするだけで実際の実行は切り離し、docker上でinteractiveにできるように。これをいかに人手をかけずに実行できるようにするかが次の課題に。

Continue reading »


SPARQLthon31

Written by bonohu in misc on 木 02 4月 2015.

- Docker

SPARQLthonが、職場のある三島での開催の今回。だが、自分は引き続きDockerでbioなツールを動かす系の構築に勤しむ。今回のキーワードは、「ゆくゆくはSPARQLを知らないといけない」。

前回のhackathon後、de novo transcriptome assembly系のTrinityをDocker上で動かすことを試みた。プログラムは走るものの、最後まで終了せず。実行に時間がかかるので、それと並行して以前にも取り組んでいて放置していたReference genome有り系のtophatのDockerfileとそれを動かす環境を検討。 このサイトを参考に固定バージョンのtophat(とbowtie)をインストールして動かせるようにするDockerfileを書いた。現状、Bowtieは2.2.5、tophatは2.0.14。そして、以下のコマンドでdockerを起動。 [shell] coreos> cd share coreos> docker run -it -v pwd:/data bonohu/ubuntu-tophat2 [/shell] 起動したらdocker上では [shell] cd /data …

Continue reading »


ブログ回帰

Written by bonohu in misc on 水 01 4月 2015.

twitterによる情報発信に依存するようになってもう5年以上になるだろうか。引っ越しする前の職場では多くのアルバイト学生さんが居て、彼らに自分たちの仕事や状況を伝えるのに便利なツールとしてtwitterを使ってきた。また、不特定多数の人に自分のことを伝えるツールとしても活用させてもらってきた。

確かにtwitterによる短文は書くのが楽でいいのだが、相手に伝わる文章を書くことをしなくなってしまって、結果としてかなりの時間をさいて一生懸命になって書いても相手に伝わる文章にならなくなってしまっている状況に気がついた。そう感じることがここ一週間で複数回あり、もちろんtwitterだけのせいではないと思うのだが、相手に伝わる文章を書く努力を怠っていることには違いないと自戒。年度頭という良い機会でもあるので、ブログをメインに情報発信する生活に回帰したいと思う。主に「雑感」カテゴリになると思うが、今年度は出来る限りブログ発信していきたい。

Continue reading »


Picard MarkDuplicates

Written by bonohu in misc on 月 23 3月 2015.

NGSな変異解析にはsamtoolsの他にGATKやPicardといったツールを使うらしい。Picardだが、「ピカール」と読むらしい実は「ピカード」という英語発音らしい。インストールはいつものhomebrew。

[shell] brew install -v picard-tools [/shell]

いろいろできるらしいが、まずは重複を見つける(MarkDuplicates)。

[shell] picard MarkDuplicates ASSUME_SORTED=true REMOVE_DUPLICATES=true INPUT="hoge.bam" OUTPUT="hoge_rem.bam" METRICS_FILE=duplicate [/shell]

初めて動かしてみて、バージョンが1.128に上がっていて「0から始めるエクソームデータ解析 v1.0」のとおりには動かなかったので、ここに今日の時点で動いたコマンドを書き記しておく。

Continue reading »


cuffdiffの怪

Written by bonohu in misc on 土 21 3月 2015.

cufflinksに含まれるプログラムのcuffdiffは発現差を調べるのに有用なのだが、うまく動かないことも。その場合にしたこととして、 -pまたは--num-threadsで指定するthread数の指定を減らす、それでもダメな場合は1に。 また、IDとNAME両方が一番右っかわのカラムにないとcuffdiffがセグフォするらしい。無理やり書く捨てコード(実際はPerlワンライナー)で対処したが、そのへんのスクリプトが必要かもですね。

Continue reading »


samtools sort の並列化

Written by bonohu in misc on 日 15 3月 2015.

samtoolsのsortは結構時間がかかります。新しいバージョン(1.2で確認)だと、-@というオプションを付ければ並列化されます。

[shell] samtools sort -@ 4 -T /tmp/hoge -o hoge_sorted.bam hoge.bam [/shell]

としたときに実行結果が以下のように。

976.00s user 17.04s system 273% cpu 6:03.68 total

273%ということは1cpuで実行した時に比して約2.7倍早くなったかと。

また逆にsamtoolsを内部から呼び出しているツールにおいて、このオプションが指定されているのだが、インストールされている(or PATHが通っている)samtoolsがこの並列処理オプションに対応していない古いバージョンのもの(例えば0.1とか)の場合、-@なんてオプションは知らないといってエラーで落ちるので要注意。

Continue reading »


ぼうのブログreloaded

Written by bonohu in misc on 土 14 3月 2015.

某所の大規模停電の影響を受けて自宅サーバーのネットワークの不具合が起こり、でこのブログが見れなくなっておりました。ようやく復活させることができました。まだブログ、続けていくつもりですので、今後ともよろしく。

Continue reading »


SPARQLthon30

Written by bonohu in misc on 金 13 3月 2015.

理研和光にて。NGSなツールたちをDocker上で実行するための検討を引き続き。 そのためにはそれぞれのツールを実際に動かしてみないと、ということでいろんなツールの使い方を調べたり。どういったツールがよく使われているのか、調べる必要あり。その上でよく使われる(もしくはこれから使われるであろう)ものを優先的に使えるようにしていくべきかと。当たり前だが。

Continue reading »


MacBookProのセットアップ2015

Written by bonohu in misc on 木 26 2月 2015.

MacBookProを使える状態にセットアップする機会があり、自分で能動的に入れたものをメモとして残しておく。

  • Xcode: 必須

  • Homebrew: macosx用パッケージマネージャー

  • vagrant: docker on macosx

  • Java: 最初から入っていないので

  • skype: chat用

  • f.lux: 眼のため

  • IP Messenger: ローカルなマシン間のファイル転送

  • Parallels Desktop: Windows(主にWord, Excel)なファイルへの対応

  • ScanSnapManager + CardMinder: 主に名刺の電子化と管理

  • TotalTerminal:  Cntl + '~' で横長Terminal windowが出てくるTerminalの拡張

  • 夜フクロウ: Twitter client

  • Google 日本語入力: より快適な日本語入力環境

  • Google Chrome: 高機能なブラウザ

Continue reading »


MACS2のインストール

Written by bonohu in misc on 土 21 2月 2015.

ChIPseqな解析でよく用いられるMACS(Model-based Analysis for ChIP-Seq)。てっきりhomebrewにあると思ってbrew install MACS2とかしてみたものの、ない模様。こんな有名なツールがまさか、と思って調べてみたら…別の手段で簡単に入るというオチでした。

オリジナルのINSTALL手順によるとversion2のMACS2だとPython2.7が必須で2.7.2以降が推奨の模様。そして、Numpy の1.6以上が必要とのこと。これが揃っているとあとは

[shell] pip install MACS2 [/shell]

すればmacs2がインストールされるとのこと。これもpythonだったんですね。 Numpyも

[shell] pip install Numpy [/shell]

で入ります。

pipが入っていない?そういう場合は、

[shell] easy_install pip [/shell]

にてインストール。easy_installはpythonを入れると入るはずですが、ない場合は

[shell] brew install python …

Continue reading »


Trinity on docker in Mac

Written by bonohu in misc on 土 14 2月 2015.

- Docker

SPARQLthon29では何故かネットワークの調子も悪く(DHCPが急に取れなくなったり)。容量の大きなFASTQファイルが手元になく、ダウンロードしてくることもかなわず、実行できずじまい。そこで、RNAseqなFASTQファイルを入手してdocker runのテスト。coreos上で [shell] coreos> docker run -it -v pwd:/data aewing/trinity-dockerfile [/shell] を実行。これの意味するところは、-vオプションを用いることで、coreos上の今いるディレクトリを/dataとしてdocker上でmountするということで、データ量の多いこの業界には非常に重要なポイント。 そして、docker上で以下のコマンドを。 [shell] cd trinity ./Trinity --seqType fq --left /data/share/1_1.fastq --right /data/share/1_2.fastq --CPU 12 --JM 24G [/shell …

Continue reading »


SPARQLthon29

Written by bonohu in misc on 金 13 2月 2015.

- Docker

国内版BioHackathon BH14.14に出て、dockerまわりでやることが出てきたので、SPARQLthon参加。今年度最初の方に統合化支援との連携を探る目的で出ていたが、引っ越しやらなんやらで出なくなっていたので、久しぶり。

1日目は、BH14.14においてRefExのRDF化が進められたので、それのフォローアップとそれを使ったユースケースを考えたり。

2日目は、Dockerの利用でどう計算環境の構築が楽になるかを、すでにDockerfileがあったTrinityを例として実体験。実際にどう運用するかを考えたり。今すぐにというのはちょっと厳しそうなので、来る時代に備えておく感じ。

.sraファイルなどのデカいファイルは/のファイルシステムには置けないので、以下のようにdocker runの-vオプション(Bind mount a volume)を使ってdocker上でもマウントされるようにしてファイルを見えるようにする。

[shell] coreos> docker run -it -v pwd:/data inutano/sra-toolkit bash [/shell]

先週からの問題点であった、ファイルが大きすぎて置けない問題は解決。メモリもVagrantfileの

$vm_memory …

Continue reading »


次世代モデル生物

Written by bonohu in misc on 水 11 2月 2015.

これまで、非モデル生物とか、古典的なモデルでない生物とか、いろんな言い方をしてきた。あらゆる生物種のゲノム配列解読が現実的になり、ゲノムやトランスクリプトームが配列情報として得られる2015年になって、これからのモデル生物ということで「次世代モデル生物」と呼ぶことにすべきではないかと、やはりそれを対象に研究を進めているラボを見学しての帰りに思いついた。その次世代モデル生物のゲノムやトランスクリプトーム解析に必要な配列解析技術を開発することが我々の使命であるとこれからは(これまでも実はそうだったのだが)言うようにしてきたい。

Continue reading »


国内版バイオハッカソンBH14.14終了

Written by bonohu in misc on 日 08 2月 2015.

直前のいくつかのエントリを見て分かるように、北海道札幌市の定山渓ビューホテルで開かれた国内版バイオハッカソンBH14.14に参加してきた。BH14.14で取り組もうと思っていた

  1. AOEノムコウにある公共データの網羅的な再計算手法の開発

  2. 非古典的モデル生物の配列(NGS)データ解析手段の開発

の基盤的な技術として有望な、10月の末イルミナ社が主催してDBCLS柏ラボにて開催されたBaseSpace Worldwide Developer Conference in Japanでも使ったDockerを、今度はMacOSX上から使ってみた。

前回はお膳立てしてもらって「写経」していただけだったが、今回はガッツリと時間もあり、具体的にdockerを動かすためのDockerfileを自分でもいくつか書いた。自分でも実際に書いてみて、これらを動かす計算リソースの確保も課題であるが、現場で具体的にどういったデータ解析が必要とされているかを知ることの重要性に気付かされた。この部分は生物学に近い我々が貢献できること。頑張っていきたい。それと、これらの有用かつ再利用可能なDockerfileを活用して必要な計算を自分で動かせる人材の育成。それに関しては、今後のAJACSadvancedにふさわしいコンテンツとなっていきそう。

毎度、得るものが多いバイオハッカソンであるが、それを毎回用意してくれるスタッフの皆さんには頭が下がります。ありがとう。その有用性をもっと認知してもらえるよう、私なりに貢献していきたいという思いを新たに。「隗より始めよ」というとおり、まずは自分からですね。

Continue reading »


BioDockerthon the last day

Written by bonohu in misc on 金 06 2月 2015.

- Docker

国内版Biohackathon(BH14.14)最終日。これまでやってきたことは

にすべてアップ。つくったDocker imageは以下の4つ。

  1. hmmemit

  2. debian-hmmsearch

  3. debian-hmmsearch2 (profileHMMと検索対象DBがdocker runの引数として選べる)

  4. ubuntu-tophat

ubuntu-tophatに関しては、defaultのcoreosでは動かないという問題点あり。現状判明している問題は、メモリとストレージの容量不足。動くように設定ファイルのカスタマイズ等、方策を考えないといけない。それができるようになるとSRAにあるすべてのRNAseqデータの計算(recount)がdockerをつかって可能になるかと。計算リソースがあれば。

当初課題に挙げていたassembler関係は、nucleotid.esにあるということで自分で書く必要はないようだが、それを動かす環境の構築が次なる課題。

Continue reading »


BioDockerthon day4

Written by bonohu in misc on 木 05 2月 2015.

- Docker

国内版Biohackathon(BH14.14)4日目。昨日までのhmmerとは打って変わってより実際的なNGS解析のそれをということで、RNAseqにおけるspliced read mapperとしてデファクト・スタンダードのtophatを実行するそれに挑戦。 tophatのパッケージがdebianにはないらしいということで、ubuntuベースに。昨日まで作っていたhmmsearch用のDockerfileと同様に実行部分はシェルスクリプトに分けて実装。DockerhubのAutomated Buildを利用しているため、ファイル自体はgithubにあるが、再掲。Dockerfileはこんな感じ。

#Docker container for tophat
FROM ubuntu
MAINTAINER Hidemasa Bono, bonohu@gmail.com
# copy run script
ADD tophat.sh /usr/local/bin/run.sh
# Install packages
RUN apt-get update && 
    apt-get install …

Continue reading »


BioDockerthon day3

Written by bonohu in misc on 水 04 2月 2015.

- Docker

国内版Biohackathon(BH14.14)3日目。今日もDockerチームにて。昨日作成したhmmsearchを実行するDockerfileの汎用化。引数としてprofile HMMと検索対象DBを指定できるように。最後の行でしか引数指定できないようなので、別にシェルスクリプト(hmmsearch.sh)を作成するやり方で。ファイル自体は例によってgithubにあるが、再掲。Dockerfileはこんな感じ。

#Docker container for hmmsearch
FROM debian
MAINTAINER Hidemasa Bono, bonohu@gmail.com
# copy run script
ADD hmmsearch.sh /usr/local/bin/run.sh
# Install packages
RUN apt-get update && 
    apt-get install -y …

Continue reading »


Docker on CoreOS on Mac day2

Written by bonohu in misc on 火 03 2月 2015.

- Docker

国内版Biohackathon(BH14.14)2日目。まずは、昨日の続き。DockerfileをDockerHubに表示したいということで、GitHubとDockerHubの連携をやってみる。

まずは、'New repository'から新規に作成し(hmmemitという名前)、必要なファイルをgithubに上げる。 [shell] git add Dockerfile Sod_Cu.hmm git commit -m "first commit" git push -u origin master [/shell]

  • DockerHubの方で'Add Repository'→'Automated Build'

  • 出てきた画面でGitHubを選択

  • DockerHubにリンクするRepository(今回の場合、bonohu/hmmemit)を選択

  • 'Create Repository'を押して、しばらく待つ

bonohu/hmmemitが出来ました。この手順だとdocker buildして動くことを確認したあとにdocker pushをする必要なし …

Continue reading »


Docker on CoreOS on Mac

Written by bonohu in misc on 月 02 2月 2015.

- Docker

国内版Biohackathon(BH14.14)1日目。色々話しあった結果、Dockerチームとして活動することに。これまでローカルに動かしてきた解析スクリプト(レシピ)をDockerfileとして記述していこうかということで。まずは動かし方を。

[shell] brew tap phinze/homebrew-cask brew install brew-cask -v brew cask install virtualbox -v brew cask install vagrant -v git clone https://github.com/coreos/coreos-vagrant cd coreos-vagrant vagrant up && vagrant ssh [/shell] 起動したcoreos上で [shell] coreos> docker run -it …

Continue reading »


配列データセット大量取得と網羅的配列類似性解析

Written by bonohu in misc on 火 20 1月 2015.

古典的なモデルでない生物を実験材料として使う際、当然モデル生物データベースは用意されていないので、自らが配列類似性の解析をする必要がある。色々やり方があるが、Ensemblを利用したやり方を以下に。

[shell] lftp <<-END ftp://ftp.ensembl.org/pub/release-78/fasta/ find END [/shell]

でftpサイトにあるファイルリストを得る。この中のHomo_sapiens.GRCh38.pep.all.fa.gzなどがタンパク質配列のファイルで、それらだけを取ってこれるように以下のようなUNIXコマンドを組み合わせてダウンロードすべきファイルリストを作成する。

[shell] grep /pep/ ls-R.txt | grep all.fa > pep.fa.txt [/shell]

そして、これらの先頭に'GET 'をつけ、 [shell] perl -i~ -pe 's/^./GET ./' pep.fa.txt …

Continue reading »


Plant & Animal Genome (PAG) XXIII 参加

Written by bonohu in misc on 土 17 1月 2015.

個人的には、(どちらかというと)ヒトやそのモデル生物において、post-sequencing(ゲノム配列解読後)な研究ばかり見てきたこの十年だったのですが、次世代シークエンサーが広く使われるようになりこれまで解読されていない新規なゲノム配列解読へ応用されるに及び、より見聞を広めるべきと考え、PAG(Plant & Animal Genome)に初めて参加してきた。 丸々5日間の長丁場で、朝8時からTalkが始まり(朝一はplenary lectureなことが多かった)、その後はconcurrentに複数のセッションがさまざまな会場で行われ、夜は8時〜10時ぐらいまであるものも。なので、自分の興味のあるセッションを取捨選択して、あとは体力勝負。時差ボケからくる脳機能の停止と会場の冷房(冬なのにw)効きすぎによる寒さと戦うことに。 初参加の私には興味深い内容が多く、ゲノム配列解読技術が普通に使われるようになり、このPAGのカバーする(とyn氏に教えてもらった)「ヒト以外」の分野におけるゲノム配列解読の進展に舌を巻いたというのが第一番目の感想。 twitterのハッシュタグ#PAGXXIIIを付けたtweetsも多く、twitterによる企業ブースの宣伝や、発表では見せきれないツールやデータベースなどへのポインタ提示に活用されていた。事実、そのハッシュタグのtweetsを流しているディスプレイが人の集まるロビーに設置されていて、これは是非見ならうべきと。しかしながら、会場が広すぎてどこで何をやっているのかが非常にわかりにくかったり(そもそもタイムテーブルがプログラムになくてわかりにくい)、トイレの場所が不案内だったり、会場内に売店等なかったり、超絶メシマズだったり、ポスター会場が2つに分かれていて片方が企業展示会と同じ部屋なのに対してもう一つの方は天井の低い地下でアクセスが悪かったり、すべてが良かったわけではないことも追記しておく。 参加者は全体で三千人超、日本からも農学関係の研究の方が数十人規模で来ていて …

Continue reading »


2015年の計

Written by bonohu in misc on 日 04 1月 2015.

2014年は職場の二度の引っ越し(3月に1回、4月にもう1回)でバタバタしていたこともあり、講演活動は前年ほど回数はなかったものの、新しく移った先近くで複数回実施することができた。官民問わずDBを使った研究が注目され、それに向けた下準備期間だった印象。

2014年年頭に掲げた目標に関して。「これまではやってこなかった新しいことへの挑戦」としてアッセンブルを手がけ、データ解析のバリエーションを増やすことができた。また、「『知のめぐり』の向上にDBを使いやすくする仕組み」づくりの一つとして久しぶりに紙媒体で出版された物書きもこなし、貢献できたと思う。しかしながら、「コンテンツの作成維持管理に努めていく」ことはこれまでの統合牧場体制からの移行時期となり、自らがコンテンツとなる統合TVは新しいネタで複数貢献できたとはいえ、低調だったことは反省すべき。「他の遺伝研の部門と融合的な活動」に関しても下地づくりだけに終わってしまったので、2年目となる今年以降、実際の活動を充実させていきたい。

そして2015年。学術論文も含めて様々な手段で、現場でDB利用を'method'の一つとした研究が増えていくよう、実例づくりとそれを簡単にする体制づくりに励んでいきたい。とくにDDBJを補完するかたちで、遺伝子発現まわりと古典的なモデルでない生物を対象としたデータ解析。今年もがんばります!

Continue reading »


ダブルクリックしてシェルスクリプト実行

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

MacOSXでシェルスクリプトなどのスクリプト言語をダブルクリックして実行するには、

  1. スクリプトのファイル名に.commandという拡張子を使う(例: hoge.command)

  2. ファイルに実行権を付与する。すなわち chmod +x hoge.command しておく

  3. スクリプトの先頭(二行目以降)にcd dirname $0を入れる

とする。サンプルスクリプトはこんな感じ。 [shell]

!/bin/sh

cd dirname $0 echo "hoge" [/shell] ただ、多くの場合引数としてファイル名を指定する必要等あって、コマンドライン操作を覚えたほうが早い気がしますが…。 また、そのスクリプトがインターネット上からダウンロードしたものである場合、Yosemiteだと「システム環境設定」の中の「セキュリティとプライバシー」の「一般」タブの「ダウンロードしたアプリケーションの実行許可:」を変更しないと動かないことがあるようです。ご注意を。

Continue reading »


tophatのインストール

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

Macosxの場合のtophatのインストールコマンド。もちろん、tophatのサイトからバイナリファイルを取ってきてそれを使うのでもいいのですが、tophatから呼び出される依存関係のあるプログラムも同時にインストールしてくれる点でhomebrewが便利なので、こちらを推奨します。

[shell] brew tap homebrew/science -v brew install -v tophat [/shell]

sratoolkitは、tophatとは依存関係がないものの、公共NGSデータベースのSRA(Sequence Read Archive)からダウンロードしてきたデータからfastqファイルを生成する際に必要なので入れておくことを推奨します。

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

mappingする対象のreference genomeは、検索可能になるよう、あらかじめインデックスを作成しておく必要があります。Reference genomeがhogenome.faというファイルで、hogeという名前でインデックスを作成する場合は以下のようにコマンドを実行します。

[shell] bowtie2-build -f hogenome.fa hoge [/shell]

Continue reading »


bamの切った貼った

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

Reference genome配列に対するmappingの結果ファイル、bam。そこから特定の染色体などの場所を絞り込んだデータだけを作成する場合に以下のsamtoolsのオプションが大変有効です。 複数のbamファイル(1.bam 2.bam 3.bam)をmerge(結合)して、all.bamというファイルにしたい場合は以下のコマンドで。

[shell] samtools merge all.bam 1.bam 2.bam 3.bam [/shell]

all.bamファイルをsortして、それを上書きする場合。

[shell] samtools sort all.bam all [/shell]

IGVで閲覧するなどindexが必要な場合に。indexファイルとして.baiな拡張子のファイルが作成されます。

[shell] samtools index all.bam [/shell]

逆に切り出し。実はこれをやるためにもindexファイルが必要なようでした。all …

Continue reading »


統合データベース講習会AJACS岩手

Written by bonohu in misc on 日 07 12月 2014.

今シーズン初めの雪が積もりだした岩手医科大学矢巾キャンパスにて講習会。師走の忙しい時期ということもあってか、若干集まりも悪く、人数も少なめでした。しかしながら、内容としては濃いものでした。

今回の講習会の内容は、ホスト先の先生のご希望もあり、いつもとは違うラインナップで、とくに自分は「RおよびBioconductorを使ったバイオデータ解析」と題した講習を担当しました。これまで出してきた論文の中でRにお世話になった部分は少なからずあり、それを解説して実習をやるという形式で2時間弱。予想したボトルネックである「Rのインストール」は、事前にしてきてもらうことをお願いして回避。そして、前回9月の講習でハマった「講習で使うデータの受け渡し」(ネットでダウンロードしてもらうと、ブラウザ環境がヘテロなためにどこにダウンロードしたかがわからず、個別対応で時間が取られる)もUSBメモリで会場配布することで、受講者がファイルの置いた場所を意識でき、乗り切れました。ところが、です。Rを実行する際にそのデータをどこに置いたかに個人差があり、現在作業しているディレクトリにデータファイルがおいてあることが前提で進めてあるサンプルスクリプトそのままでは動かず、setwd()を個別対応する必要がありました。ファイルが置かれている場所が日本語入り(マルチバイト文字列)だったりして(ムニャムニャ)。その辺も揃えて実行できるような講習内容にしないとダメですね。そういうこともあってなかなかコードの中身の説明が十分にできなかった気もしますが、ゼロからそういうスクリプトが書ける必要はない話等して納得いただけたのではないかと。コマンド一発でグラフの画像ファイルが生成されたときのみなさんの感激にはハッとされました。その感激を忘れずに、新規なツールと格闘していきましょう、お互いに。

実は、北東北(きたとうほく)で初の開催でした。まだ開催していない地方は山陰地方ぐらいとなりました。日本全国でDB利用講習会を …

Continue reading »


NO DATABASE, NO RESEARCH. DBCLS

Written by bonohu in misc on 木 27 11月 2014.

「種を超えて保存された生理代謝機構の解明に向けて:データベースによるアプローチ」と題して、第37回日本分子生物学会年会にてフォーラムという枠をいただいた。そもそもワークショップ採択を目指して応募したものの落とされ、その後フォーラムがやれるかどうかという連絡もなく放置され、ポスター発表等すべてが決まってからフォーラムをやっていいということになったので演者のセレクションに大変困ったため、最終的には同じ職場から同じくワークショップに出していてフォーラムに回されたところとの事実上の共同開催となった。Scientific Dataに関してNatureのなかのひとに話してもらった部分がそれで、他の演題との関連性が厳しいかなあと当初は思っていたものの。 実際やってみるとすべての演題における課題が「データベース」という、必然的に共通の課題がハイライトされて、結果としてうまくまとまったというのが本音。「種を超えて保存された」という部分に関しては来年以降の課題ということで、また次回以降もやっていきたいなと。 例によって私のイントロは去年出したPLOS One論文をネタにしたものでしたが、オチとしてはこのブログエントリのタイトルにある

NO DATABASE, NO RESEARCH. DBCLS

というスライドにしてみました。実際、こういう状況が多くの研究分野において起こっているのではないかと推測しておりましたが、学会で多くの人と 話してみてその「憶測」は「実測」へと変わりました。もっともっと我々DBを普及するものが頑張っていかないといけない研究社会になっているようです。がんばろう、DBCLS!

141126forum.001

Continue reading »


目訴本

Written by bonohu in misc on 月 24 11月 2014.

amazonにも目訴本のエントリが。Ensembl, Jalview, InterPro, GEO/ArrayExpressの項のほか、第1部の「ウェットな研究にデータベースやウェブツールを役立てるための秘訣」という雑文を寄稿しました。現時点でよく使われる各DBやウェブツールについての情報や我々の考えが紙媒体として出る久しぶりの機会でした。皆さんの参考になれば幸いです。 [amazon template=thumbnail&asin=4758103437] 私個人としては、普段から慣れ親しんだDBやウェブツールの紹介でしたから、前者のEnsembl, Jalview, InterPro, GEO/ArrayExpressの項はさらっと、とくにInterProのそれは依頼があってから1日で書いてしまうぐらいでした。 ところが、です。「秘訣」の方はかなり苦労しました。2014年夏休みの宿題として、この夏ずっと抱え込んで悩んだ結果です。実は結論ありきで、その主張に関して普段から生命科学研究者に伝えたいトピックで肉付けしていくという工法で。皆さんのご意見、ご批判を期待しています。

Continue reading »


Biohackathon2014終了

Written by bonohu in misc on 日 16 11月 2014.

宮城県松島で開催されたBiohackathon2014に参加してきました。目標にあげた、複数のマシンに分かれてやっているAOEのデータ更新の仕組みの統合化とgithubでの公開は達成しました。そして、データ更新も開発者がいる前で実際に実行し、一部不具合があったのをその場で対応してもらいました。実際のデータ取得のためのスクリプト生成部分が一部手動のため全自動にはなっていないのですが、更新の手間が大分減ったかと。別手段でのメタデータ取得を検討するのが今後の課題かと。表示データの検討(シークエンサ情報をどこまで載せるかとか)と検索精度の向上(アレイの型番の検索対応とか)が今後の課題ですね。次回はちゃんと前で発表できるよう、一番最初から参加せねば…。

Continue reading »


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

Written by bonohu in misc on 金 14 11月 2014.

自家製BLAST用DBから必要な配列エントリ取得の続き。 配列セットを作成したいときは2,3本でなく、数十本から数百本といったことが多いようです。

[shell] blastdbcmd -db oreno.aa -entry 'gi|5524211|gb|AAD44166.1|' [/shell]

といったコマンドを繰り返せばもちろん取得できますが、IDだけが書かれたファイルから一気にバッチ取得したい時がほとんどです。それ用のオプションも…ありました!

[shell] blastdbcmd -db oreno.aa -entry_batch 1.txt [/shell]

1.txtは1行ごとにIDが書かれた(改行コードがdelimiterとなっている)ファイル。こちらのほうがはるかに高速です。

Continue reading »



fastQC

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

シークエンスのクオリティチェックによく使われるのがfastQC。その詳しい説明はこちらに譲る。SRAにアーカイブされているデータに関してはあらかじめ計算したものがDBCLS SRAから利用可能だが(例: Illumina bodymap2 transcriptomeの1ファイル)、公開前のデータは自ら計算する必要がもちろんある。

homebrewなら以下のコマンドでfastQCがインストールできる。 [shell] brew install -v fastqc [/shell] エラーが出た場合はhomebrew/scienceをtapしていない可能性が。 [shell] brew tap homebrew/science [/shell] してから上のコマンドを実行。

JDKが入っていないと入れろというメッセージが出るので、そのインストールを忘れずに。

[shell] fastqc ERR030893.fastq -o fastqc_out [/shell] のようにして使う。fastqc_outは結果のファイル(HTML形式)が出力されるディレクトリ。また、fastqファイルが圧縮されている場合でも [shell] fastqc ERR030893.fastq.gz …

Continue reading »


Mishima.syk#4

Written by bonohu in misc on 日 26 10月 2014.

次回に引き続き、今回も発表させていただく。ただ前回のようにいつもの話じゃなくて、新ネタ披露の場としてみなさんに被験者となってもらって。 結果としてほぼ全員MacOSXという幸運に恵まれたものの、反省点の多いハンズオンとなってしまいました。 思っていたよりもコマンドを動かすには必要なファイルが多く、そして大きく、USBメモリでの受け渡しの限界を感じた。あらかじめその種のファイルをダウンロードしてもらって、というのが良さそう。 手を動かしてもらうところをもっと多くすべきでした。準備不足で申し訳ありませんでした。

Continue reading »


Japan Spotfire User Group Meeting 2014

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

割と欠かさず参加してきたJapan Spotfire User Group Meeting(JASPUGM)。今回は久しぶりに話す機会を頂きました。内容的には普段から各地で話している講演の再構成版ですが、次世代DNAシーケンサーと統合データベース活動の2つをテーマに、それぞれ基調講演と分科会講演ということで。現時点では、SRAにDNA塩基配列情報が約3Pbases登録されており、その容量が約2Pbyteだったということが聴衆には衝撃的だった模様。ちなみに、P(ペタ)はT(テラ)の1000倍の単位です。それを伝えたスライドはまだslideshareにもアップしていなかったので、今回の講演記録としてここに掲載しておきます。

SRA(Sequence Read Archive)

GUIで手軽にjoinできる機能がやはり便利!というのは今も変わっていないということを再確認。そういう意味では統合TVにアップされているSpotfireの使い方もまだまだ現役かなと。だいぶ長い間更新していないので、アップデートが必要なんですけど…。作り手おりませんかねぇ。

Continue reading »


justRMAその後

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

処理したい生データ(CEL.gzのファイル)だけを実行するdirectoryに集めて、justRMAを実行するのであるが、これらはとくにgzip圧縮を解凍する必要はなく、圧縮されたままでも実行されるようである。同じ生データを何回も別のデータセットとして使うことになると思うが、cpコマンドでその都度複製を作るのではなく、lnコマンドでリンクにしたほうがディスクスペースの削減になる。

[shell] ln ../140909/GSM1217731.CEL.gz . [/shell]

という具合に。この例では、今の作業directoryの親directoryにまた別の作業directory(名前は140909)があって、その中のGSM1217731.CEL.gzを再度使うのであるが、単にコピーするのでなく、リンクを張っている。

R/Bioconductorを入れてjustRMAを実行する部分は過去のエントリを参照。

生成されたファイル(RMA.txt)のヘッダ行(一番先頭の行)には各実験のラベルとしてファイル名が使われていて、例えばGSM1217731.CEL.gzなどと書かれている。情報として欲しいのはGSMのID('GSM1217731'だけ)のみで、残りの.CEL.gzは余分で、スペースを取り、むしろ邪魔である。それを抹殺するのに以下のperlワンライナーが有効である。

[shell …

Continue reading »