ゲノム情報解析基礎(2012年04月16日)門田幸二

バイオインフォマティクス系学会など
バイオインフォマティクス系研究所
バイオインフォマティクス系メーリングリスト
バイオインフォマティクス系?!よろず相談所
次世代シーケンサー解析系
日本語コンテンツの有用サイト
ライフサイエンス統合データベースプロジェクト
以下に代表的なものをリストアップしていますが、あちこちで「統合データベース講習会」を開催してくれています。東大浅野キャンパスでも頻繁に開催していますので、詳細についてはそちらを受講してください。
  1. Integbioデータベースカタログ
    様々なデータベースのデータベースを統合したカタログです...
  2. 統合TV
    有用なデータベースやウェブツールの活用法を動画で紹介してくれます。EMBOSSBioMartなど 「単語は聞いたことあり有用そうなんだけどそもそもどうやって利用するのかよくわからない...」的なものの利用法をを具体例を交えて紹介してくれるので必見です。 特にBioMartは2012年初頭?!にインターフェースが大幅に変更されましたが、それに対応した番組(「Biomart v0.8を使ってIDから遺伝子情報を取得する」など)を作ってくれていたりしてありがたいです
  3. ゲノム解析ツールリンク集
    カテゴリ別に分類されています。もちろん日本語による簡単な要約文章つき。
様々なperlプログラムの雛型
  1. blast結果の整形あれこれ
    以下のファイルおよびコマンドの実行によって得られたblast結果ファイルを整形したい!
    --------------------------------------------------------------
    データベース:カイコゲノムプロジェクトで得られたカイコゲノム配列(染色体28本)をmulti-fasta形式でまとめたもの(integretedseq.txt.gzを解凍したもの)
    問い合わせ配列:ランダムにとってきたカイコのEST配列(10配列;est_seq.txt
    コマンド1:formatdb -i integretedseq.txt -p F -o T
    コマンド2:blastall -p blastn -d integretedseq.txt -i est_seq.txt -e 1e-10 > result_blast.txt
    --------------------------------------------------------------

    プログラムgenome01_1.pl
    目的1:問い合わせ配列ごとに、染色体何本にヒットしたかをカウントし、ヒットした染色体の列にそのスコアを出力
    入力ファイル:任意のblast結果ファイル(result_blast.txt
    perl実行コマンド:perl genome01_1.pl result_blast.txt > result_genome01_1.txt

    プログラムgenome01_2.pl
    目的2:問い合わせ配列ごとに、染色体何本にヒットしたかをカウントし、ヒットした染色体の列にそのE-valueを出力
    入力ファイル:任意のblast結果ファイル(result_blast.txt
    perl実行コマンド:perl genome01_2.pl result_blast.txt > result_genome01_2.txt

    プログラムgenome01_3.pl
    目的3:問い合わせ配列ごとに、染色体何本にヒットしたかをカウントし、ヒットした染色体の列には1を、そうでなければ0を出力
    入力ファイル:任意のblast結果ファイル(result_blast.txt
    perl実行コマンド:perl genome01_3.pl result_blast.txt > result_genome01_3.txt

    プログラムgenome01_4.pl
    目的4:問い合わせ配列ごとに、ヒットした染色体、スコア、E-valueを出力
    入力ファイル:任意のblast結果ファイル(result_blast.txt
    perl実行コマンド:perl genome01_4.pl result_blast.txt > result_genome01_4.txt

  2. ハッシュ利用例
    遺伝子ごとにそのdescriptionや局在(subcellular_location)などのアノテーション情報を満載したタブ切りテキストファイル(annotation.txt)が手元にあるとする。 (この例では11遺伝子の仮想情報データであるが、数万〜数十万行からなるファイルの場合を想定してください)。この中から、genelist*.txtで示した遺伝子に対応するアノテーション情報を様々な形で抽出したい。

    プログラムgenome02_1.pl
    目的1:(1番目の引数で与えた)annotation.txt中の第1列目をキーとして、(2番目の引数で与えた)genelist1.txt中のものが含まれる行全体を出力
    入力ファイル1:アノテーションファイル(annotation.txt
    入力ファイル2:リストファイル(genelist1.txt
    perl実行コマンド:perl genome02_1.pl annotation.txt genelist1.txt > hoge1.txt
    挙動:genelist1.txt中のものはすべてannotation.txt中の第1列目に含まれているので何の問題もない。利用例:発現変動遺伝子リストのみのアノテーション情報入手など

    プログラムgenome02_1.pl(上と同じ)
    目的2:(1番目の引数で与えた)annotation.txt中の第1列目をキーとして、(2番目の引数で与えた)genelist2.txt中のものが含まれる行全体を出力
    入力ファイル1:アノテーションファイル(annotation.txt
    入力ファイル2:リストファイル(genelist2.txt
    perl実行コマンド:perl genome02_1.pl annotation.txt genelist2.txt > hoge2.txt
    挙動:genelist2.txt中の最終行のものはannotation.txt中の第1列目には含まれていないので出力されない

    プログラムgenome02_2.pl
    目的3:(1番目の引数で与えた)annotation.txt中の第3列目をキーとして、(2番目の引数で与えた)genelist2.txt中のものが含まれる行全体を出力
    入力ファイル1:アノテーションファイル(annotation.txt
    入力ファイル2:リストファイル(genelist2.txt
    perl実行コマンド:perl genome02_2.pl annotation.txt genelist2.txt > hoge3.txt
    挙動:genelist2.txt中の最終行のもの以外はannotation.txt中の第3列目には含まれていないので出力されない

    プログラムgrep.pl(これはハッシュプログラムではありませんが。。。)
    目的4:(1番目の引数で与えた)annotation.txt中の文字列に対して、(2番目の引数で与えた)genelist1.txt中のものが含まれる行全体を出力
    入力ファイル1:アノテーションファイル(annotation.txt
    入力ファイル2:リストファイル(genelist1.txt
    perl実行コマンド:perl grep.pl annotation.txt genelist1.txt > hoge4.txt
    挙動:ただのキーワード検索だと想定外のものが多く含まれることがわかる

    プログラムgenome02_3.pl
    目的5:(1番目の引数で与えた)annotation.txt中の第1列目をキーとして、(2番目の引数で与えた)genelist1.txt中のものに対応するannotation.txt中の第4列目(subcellular_location列)のみを出力
    入力ファイル1:アノテーションファイル(annotation.txt
    入力ファイル2:リストファイル(genelist1.txt
    perl実行コマンド:perl genome02_3.pl annotation.txt genelist1.txt > hoge5.txt
    挙動:genelist1.txt中の遺伝子のsubcellular_locationのみを出力してくれる。利用例:アミノ酸残基の1文字⇔3文字表記の変換など。

perl --> R
参考webページ(Rで)塩基配列解析
上記の「ハッシュ利用例」と同じことをRでやるための項目:「イントロダクション | 一般 | 任意のキーワードを含む行を抽出