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 »
Written by bonohu in misc on 日 26 10月 2014.
次回に引き続き、今回も発表させていただく。ただ前回のようにいつもの話じゃなくて、新ネタ披露の場としてみなさんに被験者となってもらって。
結果としてほぼ全員MacOSXという幸運に恵まれたものの、反省点の多いハンズオンとなってしまいました。
思っていたよりもコマンドを動かすには必要なファイルが多く、そして大きく、USBメモリでの受け渡しの限界を感じた。あらかじめその種のファイルをダウンロードしてもらって、というのが良さそう。
手を動かしてもらうところをもっと多くすべきでした。準備不足で申し訳ありませんでした。
Continue reading »
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にもアップしていなかったので、今回の講演記録としてここに掲載しておきます。

GUIで手軽にjoinできる機能がやはり便利!というのは今も変わっていないということを再確認。そういう意味では統合TVにアップされているSpotfireの使い方もまだまだ現役かなと。だいぶ長い間更新していないので、アップデートが必要なんですけど…。作り手おりませんかねぇ。
Continue reading »
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 »
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 »
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 »
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 »
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 »
Written by bonohu in misc on 金 08 8月 2014.
BLASTでヒットがあったエントリの配列データを切り出してきたい時はままあるかと。公共データベースのエントリならtogowsのRESTで取得するなり、ググるなりNCBIで検索するなりで配列データにありつけるかと思います。ところが、自分で作成したDBに対してBLASTした場合にはそうもいかないことがあるわけで。その場合どうするか、なのですが、とくに新規のコマンドをインストールしなくてもできるいい方法があります。
それにはまず、BLASTのDBを作成するコマンドmakeblastdbを実行するときに-parse_seqidsというオプションも足して実行します。例えば、自分の手持ちのDBがoreno.aaというFASTA形式のファイルだとすると
| #!/bin/sh
makeblastdb -in oreno.aa -dbtype prot -hash_index -parse_seqids
|
な感じで。
そして、BLASTヒットがorenogene1だったとすると
| #!/bin/sh
blastdbcmd -db oreno.aa -entry orenogene1
|
とすればFASTA形式でそのエントリの配列が取得できます。ただ、FASTAのヘッダ行のラベルが|(パイプ)などで長くなっていると、行頭からスペースが現れるまでの文字列を指定する必要があるようです。例えば …
Continue reading »
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 »
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 »
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 »
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 »
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 »
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 »
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 »
Written by bonohu in misc on 土 12 7月 2014.
Mishima.sykというライフサイエンス業界な勉強会に参加してきました。その名の通り、2014年4月からの職場である三島近辺のその業界の勇士^H^H有志たちの勉強会です。職場が引っ越す前に開かれた、前回の第2回目に参加させてもらって本業との意外な接点を認識し(もちろん、以前から知ってはいたものの…)、積極的にかかわっていこうと今回は職務地移動のことなどを中心にライフサイエンス分野の公共データベースに関わる現職場関係の発表もさせていただきました。勉強会の詳細は勉強会の名前とかでググってもらって見つけてもらうとして、参加しての雑感だけをつらつらと。
皆さん、プレゼンがうまい。OBKなフレーズの再利用など、時事ネタが満載(これは発表タイトルを見ただけでもわかるかと)。データにしてもプログラムにしてもpublicなものを再利用するという観点は、ともすると自らが新しいデータを出してのみ研究という考えを持つアカデミアとは違うなあと。つまるところ、我々が作ってきたものをうまく活用してくれているということです。公共データベースの利用はもっとこっち系に(も)広めていったほうが更なる展開があるのではないかと。
参加者に関して。関東からのリピーターも居たり、また関東から三島に通ってきている人も居たりで、ローカルな勉強会なのにローカルさがなかったり。新幹線で時間的に近いからでしょうかね。
そして、懇親会での横のツナガリが素晴らしい。前回もそこで知り合った縁でランチスポットのバリエーションを豊かにしたり、ワインバーを知るきっかけを作ったり、講演会のお話までいただいたりしましたが、今後もっと大きな協力関係につながっていくのではないかとさえ思ったり。
最後に。私にとって一番刺激的だったこのセリフ。
「コーディングはお金のかからない趣味」
調整的な役割の仕事が増えてコマンドラインワークから遠ざかりつつあった自分に対する「アドレナリン」となったようです。単純な自分はこれに刺激されて、久しぶりに「捨てコード」を書いてデータ解析仕事に戻ってみたり、と一番の収穫だったように思います。
NIG Retreat 2014 …
Continue reading »
Written by bonohu in misc on 月 07 7月 2014.
7/3-4と遺伝研のリトリートに参加させて頂いて参りました。遺伝研からバスで40分ほどの御殿場高原時之栖にあるホテルがリトリートの会場。リトリートとは、「仕事や家庭生活等の日常生活から離れ、自分だけの時間や人間関係に浸ることで自分を見つめなおす場所」ということなのだそうですが、参加してみると学会の年会の様相。
しかしながら、個人的には普段なかなかお会いすることもできない先生方と同じホテルに泊まり、ポスター発表の時間などにお話する機会を持てたことは素晴らしいことでした。また、フリーディスカッションの時間に知り合いが「知り合い」を紹介してくれて、「新たな知り合い」となったこと。そして、これから同じキャンパスでひょっとすると共同研究できるかもしれない可能性の種を蒔いてきたことが何よりの成果だったかと。おまけに、現在お世話になっている研究室の教授のお計らいで、口頭発表させていただく機会までいただき、DBCLSの存在を宣伝できたり。
終わってみれば確かに「人間関係に浸ることで自分を見つめなおす場所」でした。
Continue reading »
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 »
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 »
Written by bonohu in misc on 土 01 2月 2014.
ランチョンwrap-up。特別、前に出て報告はしなかったものの、*Author'sサービスから他のサービスへの導線づくりは複数の手段で進められていくことに。乞うご期待!
Continue reading »
Written by bonohu in misc on 金 31 1月 2014.
昨日のツケ。筋肉痛でボロボロだったが、*Author's centralプロジェクトの実装を開始。実例を作らせていただいた。HIF-1αにマウスイン(hover)、クリックすると…。DBCLSの別のサービス(RefExやAllie)へのリンクが出てくるように。よければすべてのデータに関してリンクされるようにしようかと。
Continue reading »
Written by bonohu in misc on 水 29 1月 2014.
いいだランニングクラブに参加。宿舎から会場までの往復5km/30min。さらに会場までバスに乗らずにウォーキング、2.5km/30min。トドメはエクスカーションでも某運動。普段より運動しているような…
Continue reading »
Written by bonohu in misc on 火 28 1月 2014.
WordPressのプラグイン調査引き続き。とりあえずは、登録されている単語にマウスインでアノテーションを出し、リンクを張る手段を見出した。
コンテンツについては、CSV形式でデータを流し込めるっぽいけど、その機能Pro版からしかなくて、それは有料ということ。とはいえ、$29程度なので、買ってしまうのが吉かもしれない。
Continue reading »
Written by bonohu in misc on 月 27 1月 2014.
沖縄県名護市の万国津梁館で開催中のBH13.13(国内版バイオハッカソン)に参加中。TeamWP(WordPress!)に属してDBCLSの各看板コンテンツ間のリンクを更に強化することを画策中。
Continue reading »
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 »
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 »
Written by bonohu in misc on 土 11 1月 2014.
サイト投稿によってコンテンツの増えた「ぼうのブログ」の見てくれ変更。ブログの右カラムにInstagramで直近にアップした画像が出るようにして、冗長になっていた「アーカイブ」や「直近の投稿」を「お休み」状態にしたり。Alpine PhotoTile for Instagram プラグインの設定がちょっと手間がいったが、いろいろとカスタマイズできそうで、これからもいぢって行くのではないかと。やっぱりブログ、楽しい。
Continue reading »
Written by bonohu in misc on 金 10 1月 2014.
今年も職場の同僚たちに明日に控えた誕生日を祝ってもらえた。それぞれ忙しい中それを忘れずに覚えていてくれたり、寒い中ケーキを買いに行ってくれたり…。大変嬉しいかったです。ありがとう。
前夜祭は独り、お気に入りの GERARD BERTRAND DOMAINES DE VILLEMAJOU 2011。
[amazon template=image&chan=default&asin=B00FE8BWYG]
Continue reading »
Written by bonohu in misc on 火 07 1月 2014.
まだまだ、我々のやっていること、広まっていない。個別に、じみじみと広めていかねば。
友人の学問に対する前向きな姿勢、本当敬服。息切れしかかっていた私にとって、なによりの「チャージ」。いろいろあるけど、「夢の実現」から「継続」へとコマを進めていかねば。
Continue reading »
Written by bonohu in misc on 月 06 1月 2014.
年末の出張の事務書類を出すところからスタート。その後、大ボスに呼び出されるなど。某仕様書、急ぎます。遅れていてすみません…。
昨晩、突貫工事で「統合」したブログの微調整も。日付がキッチリと入らないエントリがあるのはしょうがないのか?
Continue reading »
Written by bonohu in misc on 日 05 1月 2014.
昨年2013年は、以前より進めてきた
-
次世代シーケンサからのデータアーカイブSequence Read Archive(SRA)を使い倒すための仕組みDBCLS SRAの論文
-
カイコのパーキンソン病モデルの論文
の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 »
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 »
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 »
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 »
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 »
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 »
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フォーマットのファイルです。
Continue reading »
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 »