• Save
090601-dotplot
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

090601-dotplot

on

  • 2,484 views

 

Statistics

Views

Total Views
2,484
Views on SlideShare
2,472
Embed Views
12

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 12

http://www.slideshare.net 11
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

090601-dotplot Presentation Transcript

  • 1. 相同性検索の自動化 と統計処理の基礎 2009/06/01 金子 聡子 kaneko.satoko(at)ocha.ac.jp 瀬々 潤 1
  • 2. 今日の内容 ・ローカルでBLAST(演習) ・EMBOSSを利用してDotplotによる相同性検索 2
  • 3. BLAST 演習 ・Rattus norvegicusのアミノ酸配列をダウンロードし、Olr1082のCDSをqueryとして BLASTを実行して下さい。 結果は、「Olr1082.blastx」として保存して下さい。 *format、BLASTの実行のところで注意が必要です。 作業をしているディレクトリの確認と queryとする「Olr1082.fasta」の移動も忘れずに。 $ mv ~/bin/[移動したいファイル名]~/work/blast アミノ酸データのダウンロード。 $cd $cd ~/work/blast lftp ftp://ftp.ensembl.org/ #EnsemblのFTPサーバに接続 lftp> cd pub/current_fasta/rattus_norvegicus/pep/ lftp> mget Rattus_norvegicus.RGSC3.4.54.pep.all.fa.gz lftp> quit #FTPサーバとの接続を終了 $ gzip -d Rattus_norvegicus.RGSC3.4.54.pep.all.fa.gz ・E-valueが(1.0)e-100よりも小さい結果はいくつありますか? 3
  • 4. インデックスの作成 検索対象 (データベース)の配列に索引(インデックス)を作成。 formatdbを利用します。 $ ./blast-2.2.20/bin/formatdb –i [対象となるファイル名]-p [アミノ酸/核酸] -o T formatdbのオプション -i <Multi Fastaファイル名>:インデックスを作成するファイルを指定 -p [T/F]:Tの場合、入力ファイルはアミノ酸、Fの場合は核酸 -o [T/F]:インデックス作成の有/無 実行した際に起きたエラーなどは、formatdb.logに書かれる。 (核酸検索用のインデックスを作成) $ ./blast-2.2.20/bin/formatdb -i Mus_musculus.NCBIM37.54.dna.chromosome.6.fa -p F -o T (アミノ酸検索用のインデックスを作成) $ ./blast-2.2.20/bin/formatdb -i Mus_musculus.NCBIM37.54.pep.all.fa -p T -o T (オプション一覧を見る) $ ./blast-2.2.20/bin/formatdb --help 4
  • 5. BLASTの実行 BLASTはblastallというコマンドで実行します。 オプションでblastp、blastxなどを利用するか指定します。 $ ./blast-2.2.20/bin/blastall –p [blastの種類] –d [検索対象ファイル] -i [queryファイル] – o [結果を出力するファイル] BLASTの種類 プログラム名 query database memo blastn DNA DNA blastp アミノ酸 アミノ酸 blastx DNA アミノ酸 読み枠は全て調べる tblastn アミノ酸 DNA 読み枠は全て調べる どちらもアミノ酸に翻訳 tblastx DNA DNA して比較 5
  • 6. Dotplot (1) ・Dotplotとは/Dotplot解析の一例 ・EMBOSSとは/EMBOSSのインストール ・NCBIから配列の取得 ・Dotmatcherとは/Dotmatcherの演習 6
  • 7. Dotplotとは 配列A (CATTCGAGCT)と配列B (TATTCGCGCT)を総当たりで比較して 一致しているところにdotをうっていき、配列の相同性調べる方法です。 C A T T C G A G C T T ・ ・ ・ 実際のdotplot用のソフトウェアでは、 1対1で調べるのではなく、10bpとか A ・ ・ 100bpなどある程度のwindow sizeに T ・ ・ ・ 区切り、threshold(閾値: しきいち、いき ち)を超えていたらdotをうっています。 T ・ ・ ・ C ・ ・ ・ G ・ ・ C ・ ・ ・ G ・ ・ C ・ ・ ・ T ・ ・ ・ 7
  • 8. Dotplot解析の一例 dotplotでは、大局的なalignmentのためのツールです。 使い方の一例としては、 以下のようにタンデムな重複遺伝子族の配置を可視化することができます。 フリーで使えるdotplot用のソフトはいろいろありますが、今回はEMBOSSに入っている dotmatcherを使用します。 8
  • 9. EMBOSSとは http://emboss.sourceforge.net/ The European Molecular Biology Open Software Suiteの略 分子生物学等で使われるソフトウェアを集めたもの。 タンパクのモチーフ検索、塩基配列のパターン解析、dotplot解析、プライマー設計など 100を超えるソフトウェアを一度にインストールすることができる。 EMBOSSのダウンロード (FTP) 2009年5月現在の最新バージョンは、6.0.1です。 $cd $cd bin $lftp ftp://emboss.open-bio.org/pub/EMBOSS lftp emboss.open-bio.org:/pub/EMBOSS>mget EMBOSS-6.0.1.tar.gz ダウンロード(時間がかかります) lftp emboss.open-bio.org:/pub/EMBOSS>quit $tar zxvf EMBOSS-6.0.1.tar.gz $cd EMBOSS-6.0.1 $./configure $make 9
  • 10. NCBIから配列の取得 (1) NCBIのトップページより、Makorin遺伝子をクローニングした論文を検索し、 その論文のLinksのNucleotideより配列情報を表示する。 遺伝子をクローニングした論文 =注目する遺伝子について初めての報告 →一番古い論文。 10
  • 11. NCBIから配列の取得 (2) 以下の5種の[makorin 1 (MKRN1) mRNA, complete cds]の表記のある配列をfasta形式で 取得して下さい。 Homo Sapiens (human), Mus musculus (mouse), Macropus eugenii (wallaby), Gallus gallus (chicken), Drosophila melanogaster (fruit fly) 該当するaccession numberをクリックし、 (mRNAのタブをクリックすると、mRNA関連の配列だけ表示されます) 画面の上のFASTAをクリックすると。FASTA形式に変わります。CotEditorに貼付けて 「Makorin1_種名.fasta」(例 Makorin1_human.fasta)として 「Macintosh HD/ユーザー/tg03/bin」に保存します。 11
  • 12. Dotmatcherの使い方 dotmatcher dotmatcherを使います という指令 [-asequence] 比較したいファイル名(例: Makorin1_human.fasta) [-bsequence] 比較したいファイル名(例: Makorin1_human.fasta) -graph ps (postscript)で出力 -windowsize window sizeとして3以上の整数を入れる デフォルトは [10] -threshold 0かそれ以上の整数を入れる デフォルトは[23] -goutfile 出力ファイル名 (例:dot) ここは改行は 入っていません。 $cd ~/bin $EMBOSS-6.0.1/emboss/dotmatcher Makorin1_human.fasta Makorin1_human.fasta -graph ps –windowsize 20 –threshold 40 -goutfile dot オプションについての詳細は、 http://emboss.sourceforge.net/apps/release/5.0/emboss/apps/dotmatcher.html 12
  • 13. Dotmatcherの結果の一例 13
  • 14. 演習 ・先ほど取得したMakorin1の配列について、humanとそれぞれの種のペアでdotmatcher を使ってdotplotして下さい。 -goutfile の後のファイル名をペア毎に変えていかないと、上書きされてしまうので注意し て下さい。 それぞれのペアで行ったdotplotを並べて比較して、配列の相同性と 下の図の系統関係においてそれぞれの種が経た時間との相関があるか、 結果を観察して下さい。 約7〜8億年 約3億年 約1億5000万年 約8000万年 ヒト マウス ワラビー ニワトリ ショウジョウバエ (霊長類) (げっ歯類) (有袋類) (鳥類) (昆虫) 14
  • 15. 演習 解説 種の分岐年代が古くなればなるほど、相同性を示す線が途切れがちになります。 human: AF192784, mouse: AF192785, wallaby: AF192786, chicken: AF192787, drosophila: AF192788 15
  • 16. Dotplot (2) ・Dotplotの利用法(2) ・染色体の配列をダウンロード ・目的の領域をプログラムを使って切り出す ・切り取った配列でdotplot ・Dotplotの利用法(3) ・演習 16
  • 17. Dotplotの利用法(2) Dotplotは、総当たりで相同性を調べるため、一方向で5'側からalignmentしてい るときには、見えなかった逆向きの配列を見ることができます。 また、挿入や欠失も1次元のalignmentよりも確認しやすいため、10kbを超えるよ うな大きな領域を比較する際、pairwiseのalignmentをする前に領域の特徴をつ かむためにも利用します。 配列の切り出し ratの7番染色体からOlr1082から60kb(12192676-12231066)を切り出して、 dotplotをして、Olr1082近傍にいくつ相同配列があり、どういう向きで並んでいる か確認してみましょう。 17
  • 18. 染色体の配列をダウンロード FTPを使ってダウンロードする。 cd bin $lftp ftp://ftp.ensembl.org/pub/current_fasta/rattus_norvegicus/dna/ lftp> mget Rattus_norvegicus.RGSC3.4.54.dna.chromosome.7.fa.gz lftp>quit $gzip –d Rattus_norvegicus.RGSC3.4.54.dna.chromosome.7.fa.gz 次に、目的の領域(60kb)を切り出すために、プログラムを利用します。 使用する言語はrubyです。 CotEditorでプログラムを書き、「ファイル名.rb」として保存します。 プログラムを実行する際には、ターミナルで $ruby ファイル名.rb と入力します。 18
  • 19. 目的の領域をプログラムを使って切り出す。 - get_seq.rb - 青い字は説明です。 #!/usr/bin/env ruby #rubyのきまりごと fp = open(ARGV.shift) #引数として与えたファイルを開く fp.gets # 1行目を取る puts quot;reading genome sequence...quot; #quot;reading genome sequence...quot;とターミナルに表示 genome_seq = fp.read.gsub(quot;¥nquot;,quot;quot;) #改行を取り除いてgenome_seqに代入 puts quot;choose substring...quot; #quot;choose substring...quot;とターミナルに表示 start_pos = 12192676 #切り取り開始の位置 length = 60000 #切り取りたい長さ geneseq = genome_seq[start_pos-1, length] #genome_seqの[切り取り開始, 長さ]を geneseqに代入 *rubyでは、配列は0から数え始めるので、-1とする。 puts geneseq #geneseqを表示 out = open(quot;Chr7_Olr1082.txtquot;, quot;wquot;) #quot;Chr7_Olr1082.txtquot;を書き込みモードとする out.puts geneseq #geneseqを書き込む out.close 19
  • 20. 目的の領域をプログラムを使って切り出す。 $cd $cd bin $ruby get_seq.rb Rattus_norvegicus.RGSC3.4.54.dna.chromosome.7.fa #!/usr/bin/env ruby 3行目はrubyで書いたプログラムを実行する fp = open(ARGV.shift) fp.gets コマンドです。 Rattus_norvegicus.RGSC3.4.54.dna.chromoso puts quot;reading genome sequence...quot; me.7.faについて、 genome_seq = fp.read.gsub(quot;¥nquot;,quot;quot;) get_seq.rbで指定する作業を実行するという 意味です。 puts quot;choose substring...quot; プログラムの中身です。 start_pos = 12192676 length = 60000 $less Rattus_norvegicus.RGSC3.4.54.dna. chromosome.7.fa geneseq = genome_seq[start_pos-1, length] puts geneseq lessというコマンドでファイルの先頭から一部 を表示することができます。 out = open(quot;Chr7_Olr1082.txtquot;, quot;wquot;) なぜ fp.getsが必要なのか、確認して下さい。 out.puts geneseq q とタイプすることで元に戻れます。 out.close 20
  • 21. 切り取った配列でdotmatcher 前回、dotmatcherを使ったときを思い出して、比較したいファイルの保存場所や、 コマンドを実行する際のディレクトリなどに注意をして、dotplotを作成して下さい。 得られた結果を下のEnsemblのannotationと比べてみて下さい。 $cd $cd bin $EMBOSS-6.0.1/emboss/dotmatcher Chr7_Olr1082.txt Chr7_Olr1082.txt -graph ps – windowsize 50 –threshold 50 -goutfile dot 21
  • 22. Olr1082の近傍配列 解説 Olr1082から40kbほど離れた場所にOlr1083と annotationされた配列があります。 また、Olr1082との相同性はありませんが、 2種類の配列が2つずつあります。 このように複数の相同配列が 近傍にある場合には、 下の図に示すような現象が起こりやすくなります。 Olr1082 Olr1083 1 2 3 4 1 4 Deletion 1 2 3 4 1 2 3 2 3 4 Duplication 22
  • 23. Dotplotの利用法(3) 種間の大きな領域のdotplotを行うことにより、注目する領域の進化的な保存性を確 認することができます。 以下の図はmouseの7番染色体に対するsyntenyを示す領域です。 左はrat、右はhumanとの比較です。 種分岐してからの時間が経つほど、それぞれに染色体のrearrangementを経験して いる様子が見て取れます。 23
  • 24. 演習 ・Makorin1周辺領域の相同性についてmouse, rat, humanで比較して下さい。 -Makorin1の5'側15kbを含む、全体で50kbの領域について配列を取得し、 dotmatcherを用いて比較する。 それぞれの種のMakorin1の遺伝子情報から、切り取る開始点を決める。 -LocationのタブのSyntenyから対応する位置を知ることができる。 (Makorin1とannotationがついているとは限りません) mouse chromosome[ ]: ( ) rat chromosome[ ]: ( ) human chromosome[ ]: ( ) get_seq.rbの切り取る値を変更し、切り取る染色体の配列のファイルを指定して、 目的の領域を切り取る。 (出力ファイルの名前を変更することも忘れずに) mouseとratのmouseとhumanの切り取った配列同士でdotmatcherをかける。 (windowsizeを100、thresholdを30とすると、見やすいplotになります。) 24
  • 25. 演習 解説 mouseとratの比較では、exon, intronともに配列の相同性がある。 mouseとhumanの比較では、CDSでの比較では相同性が高かったが、 intronでの相同性は失われているため、遺伝子全体を比較すると連続した部分 はexon同士の間隔が近い部分でのみ現れます。 これらの比較から、タンパク質をコードする配列は、進化の過程で機能的な制約 を受けていることが直感的に分かります。 human rat mouse mouse 25
  • 26. まとめ ・ EMBOSSのインストールとDotplot (Dotmatcher利用)を行いました。 ・ 染色体の塩基配列ファイルから必要とする領域をrubyで書いた プログラムを使って切り取りました。 次回は、Web API (Google Chart API, TogoWS (REST))の使い方です。 26