User Tools

Site Tools


tutorialgcskewjapanese

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorialgcskewjapanese [2007/10/22 23:40]
gaou
tutorialgcskewjapanese [2008/04/14 07:24]
gaou
Line 15: Line 15:
 それでは、GC skew の解析を実際に行う前にまず G-language System を起動しましょう。G-language System を使用すればゲノム解析は非常にシンプルです。例えばG-language Systemに標準でバンドルされている//​E.coli//​ のGenbank形式のコンプリートゲノムを使用して解析をするなら、テキストエディタに以下の二行を書き込むだけで準備は終了します。 それでは、GC skew の解析を実際に行う前にまず G-language System を起動しましょう。G-language System を使用すればゲノム解析は非常にシンプルです。例えばG-language Systemに標準でバンドルされている//​E.coli//​ のGenbank形式のコンプリートゲノムを使用して解析をするなら、テキストエディタに以下の二行を書き込むだけで準備は終了します。
 >​filename:​ test.pl >​filename:​ test.pl
 +<code perl>
   use G;    use G; 
   $gb = new G("​ecoli"​); ​   $gb = new G("​ecoli"​); ​
 +</​code>​
 ためしにこのスクリプトを実行してみましょう。以下のような出力がでてくるはずです。 ためしにこのスクリプトを実行してみましょう。以下のような出力がでてくるはずです。
  
Line 36: Line 36:
 Genbank以外のゲノムデータベース(Fasta、EMBL、swiss、SCF、PIR、GCG、raw、aceなど)を使用したい場合は、 Genbank以外のゲノムデータベース(Fasta、EMBL、swiss、SCF、PIR、GCG、raw、aceなど)を使用したい場合は、
  
 +<code perl>
    use G;     use G; 
    $gb = new G("​ecoli.fasta",​ "​Fasta"​); ​    $gb = new G("​ecoli.fasta",​ "​Fasta"​); ​
 +</​code>​
  
 のように第二引数としてデータベースフォーマットを指定すれば読み込まれます。 のように第二引数としてデータベースフォーマットを指定すれば読み込まれます。
Line 46: Line 48:
  
 > filename: test.pl > filename: test.pl
 +<code perl>
   use G;    use G; 
   $gb = new G("​ecoli"​); ​   $gb = new G("​ecoli"​); ​
   gcskew($gb); ​   gcskew($gb); ​
 +</​code>​
  
 すると、以下のようなグラフが表示されるはずです。 すると、以下のようなグラフが表示されるはずです。
Line 59: Line 62:
 G-language System 起動時にロードされたゲノムデータは、全て $gb の中に格納されています。例えば全塩基配列は G-language System 起動時にロードされたゲノムデータは、全て $gb の中に格納されています。例えば全塩基配列は
  
 +<code perl>
   $gb->​{SEQ} ​   $gb->​{SEQ} ​
 +</​code>​
  
 の中にはいっています。G-language System の標準関数の多くはこの$gbを引数として渡すことで動作します。 の中にはいっています。G-language System の標準関数の多くはこの$gbを引数として渡すことで動作します。
Line 79: Line 84:
 オプションは オプションは
  
 +<code perl>
   gcskew($gb, -window=>​50000,​ -at=>​1); ​   gcskew($gb, -window=>​50000,​ -at=>​1); ​
 +</​code>​
 のように "​-"​ をオプション名の頭に付け、"​=>"​ で値と結びます。 のように "​-"​ をオプション名の頭に付け、"​=>"​ で値と結びます。
  
Line 88: Line 94:
  
 > filename: test.pl > filename: test.pl
 +<code perl>
   use G;    use G; 
   $gb = new G("​ecoli"​); ​   $gb = new G("​ecoli"​); ​
   gcskew($gb, -window=>​50000,​ -filename=>"​gcskew50k.gif"​); ​   gcskew($gb, -window=>​50000,​ -filename=>"​gcskew50k.gif"​); ​
   gcskew($gb, -window=>​50000,​ -at=>1, -filename=>"​atskew50k.gif"​); ​   gcskew($gb, -window=>​50000,​ -at=>1, -filename=>"​atskew50k.gif"​); ​
 +</​code>​
  
 グラフは以下の通りです。 グラフは以下の通りです。
Line 118: Line 125:
 シフトポイントを特定するには累積GC skewが役に立ちます。累積GC skewはウインドウごとのGC skew値を累積するもので、シフトポイントが顕著に表れるのが特徴です。G-language Systemではこの累積GC skewは-cumulative=>​1というオプションを追加すれば使用できます。 シフトポイントを特定するには累積GC skewが役に立ちます。累積GC skewはウインドウごとのGC skew値を累積するもので、シフトポイントが顕著に表れるのが特徴です。G-language Systemではこの累積GC skewは-cumulative=>​1というオプションを追加すれば使用できます。
  
 +<code perl>
    ​gcskew($gb,​ -window=>​50000,​ -cumulative=>​1); ​    ​gcskew($gb,​ -window=>​50000,​ -cumulative=>​1); ​
 +</​code>​
 とすれば実行できますね。例えば以下のように表示されたはずです。 とすれば実行できますね。例えば以下のように表示されたはずです。
  
Line 128: Line 136:
 それでは累積GC skewを利用して複製開始・終結地点を予測してみましょう。G-language System には標準で find_ori_ter()という関数があり、この関数は内部で累積GC skew を使って複製開始・終結地点を予測します。 それでは累積GC skewを利用して複製開始・終結地点を予測してみましょう。G-language System には標準で find_ori_ter()という関数があり、この関数は内部で累積GC skew を使って複製開始・終結地点を予測します。
  
 +<code perl>
    ​find_ori_ter($gb); ​    ​find_ori_ter($gb); ​
 +</​code>​
  
 のように使います。 のように使います。
Line 147: Line 157:
 |-filename |出力ファイル名を指定。(デフォルトは-output がfの時 data/​genomicskew.csv、-outputがgの時graph/​genomicskew.gif)| |-filename |出力ファイル名を指定。(デフォルトは-output がfの時 data/​genomicskew.csv、-outputがgの時graph/​genomicskew.gif)|
  
 +<code perl>
    ​genomicskew($gb,​ -divide=>​250); ​    ​genomicskew($gb,​ -divide=>​250); ​
 +</​code>​
  
 として実行してみましょう。 として実行してみましょう。
Line 171: Line 183:
 例えば、遺伝子ごとに発現量とセカンドコドンの関係を調べ、その周辺の傾向をつかむためにGC skewを利用する、といった状況が想定されます。一例としてこれをどのようにG-language System を用いて表現するかを記します。 例えば、遺伝子ごとに発現量とセカンドコドンの関係を調べ、その周辺の傾向をつかむためにGC skewを利用する、といった状況が想定されます。一例としてこれをどのようにG-language System を用いて表現するかを記します。
  
 +<code perl>
    use G;     use G; 
    $gb = new G("​ecoli"​); ​    $gb = new G("​ecoli"​); ​
Line 185: Line 198:
       }        } 
     }      } 
 +</​code>​
  
 まずG-language Systemを起動し、ゲノムデータベースをロードします。cai()関数を使い、G-language System インスタンスにCAI値(Codon Adaptation Index:翻訳効率の指標だが遺伝子発現量の指標としても使われる)を付加します。コドン使用の偏りを示す値、W値をw_value()により取り出し、$w_valに格納します。 まずG-language Systemを起動し、ゲノムデータベースをロードします。cai()関数を使い、G-language System インスタンスにCAI値(Codon Adaptation Index:翻訳効率の指標だが遺伝子発現量の指標としても使われる)を付加します。コドン使用の偏りを示す値、W値をw_value()により取り出し、$w_valに格納します。
  
 +<code perl>
    ​foreach $cds ($gb->​cds()){ ​    ​foreach $cds ($gb->​cds()){ ​
        
    ​} ​    ​} ​
 +</​code>​
  
 はG-language Systemを使いCDS領域毎の処理をするためのもっとも基礎的な方法です。$gb->​cds()は$gbゲノムデータベースにある全てのCDSの名前を返します。つまり、それをforeachすれば全CDSについて解析することができるようになります。 はG-language Systemを使いCDS領域毎の処理をするためのもっとも基礎的な方法です。$gb->​cds()は$gbゲノムデータベースにある全てのCDSの名前を返します。つまり、それをforeachすれば全CDSについて解析することができるようになります。
Line 199: Line 215:
 などの構造体を持ち、それぞれにFEATURE情報などが格納されています。つまり、各CDSの情報は CDS+番号 という名前の構造体に入っており、$gb->​{CDS534}->​{start} のようにそれぞれの情報に階層的にアクセスします。 などの構造体を持ち、それぞれにFEATURE情報などが格納されています。つまり、各CDSの情報は CDS+番号 という名前の構造体に入っており、$gb->​{CDS534}->​{start} のようにそれぞれの情報に階層的にアクセスします。
  
 +<code perl>
       $secondcodon = $gb->​after_startcodon($cds,​ 3);        $secondcodon = $gb->​after_startcodon($cds,​ 3); 
       $w_second = $$w_val{$secondcodon}; ​       $w_second = $$w_val{$secondcodon}; ​
       $cai = $gb->​{$cds}->​{cai}; ​       $cai = $gb->​{$cds}->​{cai}; ​
 +</​code>​
  
 この部分は、まず標準関数であるafter_startcodon() で$cdsのスタートコドン以降3文字をとりだし、$secondcodonに入れています。また、そのW値を取得し、その遺伝子のCAI値も取得します。 この部分は、まず標準関数であるafter_startcodon() で$cdsのスタートコドン以降3文字をとりだし、$secondcodonに入れています。また、そのW値を取得し、その遺伝子のCAI値も取得します。
  
 +<code perl>
       if ($w_second < 0.5 && $cai > 0.8){        if ($w_second < 0.5 && $cai > 0.8){ 
          ​$afterstart = $gb->​after_startcodon($cds,​ 99);           ​$afterstart = $gb->​after_startcodon($cds,​ 99); 
          ​gcskew(\$afterstart,​ -window=>​9,​ -filename=>"​$cds-gcskew.gif"​); ​          ​gcskew(\$afterstart,​ -window=>​9,​ -filename=>"​$cds-gcskew.gif"​); ​
       }        } 
 +</​code>​
  
 この部分では、CAI値が0.8以上、つまり発現量が非常に高い遺伝子でスタートコドン直後にW値が0.5未満のコドン、つまりレアコドンが使用されている場合、スタートコドン下流99bp のGC skew をウインドウ9bp (つまり3コドン) ずつ見る、というものです。出力オプションはデフォルトで「表示」なので、つまり該当する遺伝子があるだけグラフが自動的に表示されることになります。これらの出力をもとに、特異な発現機構を発見することが可能かもしれません。 この部分では、CAI値が0.8以上、つまり発現量が非常に高い遺伝子でスタートコドン直後にW値が0.5未満のコドン、つまりレアコドンが使用されている場合、スタートコドン下流99bp のGC skew をウインドウ9bp (つまり3コドン) ずつ見る、というものです。出力オプションはデフォルトで「表示」なので、つまり該当する遺伝子があるだけグラフが自動的に表示されることになります。これらの出力をもとに、特異な発現機構を発見することが可能かもしれません。
tutorialgcskewjapanese.txt · Last modified: 2014/01/18 07:44 (external edit)