User Tools

Site Tools


tutorialcodonusagejapanese

Differences

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

Link to this comparison view

Next revision
Previous revision
tutorialcodonusagejapanese [2007/08/27 10:26]
yves created
tutorialcodonusagejapanese [2014/01/18 07:44] (current)
Line 2: Line 2:
  
  
-The sequence of nucleobase determines the sequence of the amino acid that constitutes protein. Each amino acid is coded with the links(codon) of three of the four nucleobases(A,T/U,G,C). There are 64 ways for the three bases to line up, compared to the twenty types of amino acid that exist. Actually, there are known to be several codons that correspond to an amino acid. In this way, a codon that codes the same amino acid is called a synonym codon. A deflection, peculiar to life species, is known to exist in syononym ​codon usage.+タンパク質を構成するアミノ酸の配列順序を決めるのは、核酸塩基の配列順序です。それぞれのアミノ酸は、4種の核酸塩基(A, T/U, G, C)のうち3塩基の連鎖(コドン) でコードされています。アミノ酸の種類が20種類であるのに対し、3個の塩基の並び方は 4x4x4で64通り考えられます。実際、1つのアミノ酸に複数のコドンが対応すること が知られており、このように、同一のアミノ酸をコードするコドンを 同義コドン (synonymous ​codon)と呼びます。 同義コドンの使用頻度には、生物種固有の偏りが存在することが知られています。
  
-====== Step 0 - Starting up the G-language System ====== 
  
-Here, I will explain how to use the G-language System ​for beginners. As a precondition,​ it is expected that the biological knowledge shown above, and basic UNIX operating skills are already mastered.+ここでは、初心者向けにG-language System ​の使い方を解説していきます。 前提として、以上の生物学的知識と、UNIXの基本的な操作法が身についているものとします。
  
-Now, before we start to analyze codon usage, let’s start the G-language System. If you use the G-language System, genome analysis is very simple.+====== Step 0 -G-language System ​の起動 ======
  
-For example, if you use the data file “bsub.gbk” (the complete genome of Bacillus subtilis in the Genbank form) under the current directory to analyze, you only need to input the next two lines to get ready.+それでは、コドン使用頻度の解析を実際に行う前に、まずG-language System を起動 しましょう。G-language System を使用すれば、ゲノム解析は非常にシンプルです。
  
 +例えば、G-language Systemに標準でバンドルされている"​bsub"​というデータ(Genbank形式の //Bacillus subtilis// のコンプリートゲノム)を使用して解析をするなら、テキストエディタ に以下の二行を書き込むだけで準備は終了します。
 +
 +<code perl>
   use G;    use G; 
-  $gb = new G("​bsub.gbk"​); ​+  $gb = new G("​bsub"​); ​ 
 +</​code>​
  
-Let’s try and execute the following  ​Perl script. (Please set the file name to “test.pl”)+試しに、このPerlスクリプトを実行してみましょう。(ファイル名を ​test.pl ​とします)
  
   perl test.pl ​ [ENTER] ​   perl test.pl ​ [ENTER] ​
  
-Did you get the following output?+以下のような出力が得られましたか?
  
   ​   ​
Line 51: Line 54:
           GC Content :    43.52% ​           GC Content :    43.52% ​
   ​   ​
-With the output of the Accession Number and the base content statistic, the G-language System ​informs that it has successfully read the data file (“bsub.gbk”).+このアクセッション番号と塩基含量の統計値の出力によって、G-language System ​は データファイル("​bsub"​)を無事読み込んだことを知らせてくれます。
  
-Now, we will explain the script. 
-  * use G: imports module G 
-  * $gb = new G("​bsub.gbk"​);​ loads the file “bsub.gbk” under the current directory, and stores the annotation and the base sequence under the variable ”$gb”. 
  
 +では、スクリプトの説明をしましょう。
 +   * use G; で、Gのモジュールをインポートします。
 +   ​* ​ $gb = new G("​bsub"​);​ で、データを読み込み、$gb という変数に アノテーションと塩基配列 を格納します。ここではG-language Systemが持っている"​bsub"​というデータを使っていますが、ここにRefSeqのアクセッション番号や、スクリプトを実行している場所にあるGenBankファイル名などを入力しても同様に扱えます。
  
  
  
-=== Exercise 0: === 
  
-Load the complete genome data for other bacteria (such as “ecoli.gbk”,​ “hbsp.gbk”,​ and “mgen.gbk”). 
->{Hint} Rewrite the line $gb->new G("​bsub.gbk"​);​ on the above script. 
  
 +=== 課題0 :  ===
 +他の細菌のコンプリートゲノムデータ("​ecoli"​、"​cyano"​、"​mgen"​ など) を読み込んで下さい。そして、G+C含量(GC Content)の生物種間差を調べましょう。
 +[ヒント] 上記スクリプトの $gb->​new G("​bsub"​);​ の行を書き換えます。
  
 +====== Step1: 標準関数の使用例(1) : 遺伝子全体でのコドン使用頻度の解析 ​ ======
  
 +G-language System にはゲノム解析のための関数が標準で多数用意されています。 ここでは、標準関数の一つである codon_usage() を用いて、//​B. subtilis// のコドン使用頻度 を解析しましょう。Step 0で作成したPerlスクリプトに、codon_usage()関数を使用する 一行を書き足して下さい。 codon_usage()関数には、$gb を引数として渡します。
  
-====== Step1: Examples of standard function usage (1): Analyzing of codon usage among entire genes. ​ ====== +<code perl>
- +
-In the G-language System, there are several functions set for genome analysis. Now, let’s analyze codon usage for B.subtilis, using one of the standard functions “codon usage()”. Please rewrite a line using the codon usage() function in the Perl script you have created in Step0. +
   use G;    use G; 
-  $gb = new G("​bsub.gbk"​); ​+  $gb = new G("​bsub"​); ​
   codon_usage($gb); ​   codon_usage($gb); ​
 +</​code>​
  
-If you execute the sript, codon usage percentage should be shown on the display, and the following codon table should be displayed.+上記スクリプトを実行すると、コドン使用頻度がディスプレイに出力される とともに、 以下のようなコドンテーブルが表示されるはずです。
  
 {{http://​www.g-language.org/​data/​haruo/​codon_table.gif}} {{http://​www.g-language.org/​data/​haruo/​codon_table.gif}}
  
-This is the chart of the calculation of the frequency of synonym codons in the B.subtilis ​genome. Each amino acids sum of synonym codons frequancy equals one. For example, for phenylalanine(code:F), the percentage of TTC is 0.315 compared to 0.685 for TTT. Of the two synonym codons, it heavily uses TTT. Of the three synonym codons that exist, Isoleucine(code ​:i) heavily uses ATT. As you can see, there is a pattern in which each amino acid is biased upon a peculiar codon.+これは、//​B. subtilis// ゲノム全体で同義コドンの頻度を計算した結果を表にしたものです。 各アミノ酸における同義コドンの頻度を合計すると 1 になります。 例えば、フェニルアラニン(略号 ​: F )では、TTTの頻度 0.685 に対してTTC の頻度は ​0.315 と、2つある同義コドンのうち ​TTT を多用し、 イソロイシン(略号 ​I )では3つある同義コドンのうち ​ATT を多用している といったように、各アミノ酸で特定のコドンを偏って使用する傾向がみられます。
  
  
  
  
-=== Excercise 1: === 
  
-Compare and examine the deflection of each amino acids synonym codon usage for mycoplasma genitalium (“mgen.gbk”) and B.subtilis.  +=== 課題1: ===
->​[Hint] ​ Rewrite the line $gb->new G("​bsub.gbk"​);​ in the above script.+
  
 +//​Mycoplasma genitalium//​("​mgen"​)における各アミノ酸の同義コドン使用の偏りと //B. subtilis// のそれとを比較検討してみてください。
  
 +[ヒント] 上記スクリプトの $gb->​new G("​bsub"​);​ の行を書き換えます。
  
 +====== Step2 -標準関数の使用例(2) : 遺伝子毎のコドン使用頻度の解析 ​ ======
  
-====== Step2 Examples of standard function usage(2: Analyzing of codon usage for each gene  ======+G-language System の標準関数には、多彩なオプションが用意されています。 
 +codon_usage()関数は、以下のオプションを持ちます。
  
-The standard functions for the G-language System has several options.+^option^description^ 
 +|-CDSid | コドン使用頻度を計算するCDSのIDを指定。デフォルトは全遺伝子で計算する。| 
 +|-output | 出力先を指定。'​stdout'​はディスプレイ出力、'​f'​はファイル出力。デフォルトは '​stdout'​。| 
 +|-filename | 出力ファイル名を指定。デフォルトは '​codon_usage.csv'​。|
  
-The function “codon usage()” has the following options.+オプションは
  
-^option^description^ +<code perl> 
-|-CDSid | specifies the ID for CDS in codon usage calculations. Calculates all genes for default.| +  ​codon_usage($gb, ​-output=>'​f'​, -filename=>'​bsub_CodonUsage.csv');  
-|-output ​| specifies the output point. “stdout” outputs to the display“f” ouputs to a file. The default is “stdout”.| +</​code>​ 
-|-filename ​| specifies the output file name. The default is “codon_usage.csv”.|+ 
 +のように、"​-"​ をオプション名の頭に付け、"​=>"​ で値と結びます。
  
-The option, as you can see in the following example, puts “-” in front of the name of the option and “=>​”ties it with the value.+Step 1 ではゲノム全体としてのコドン使用頻度を計算しましたが、今度は ある特定の遺伝子のコドン使用頻度を計算してみましょう。
  
-In Step 1, we calculated codon usage percentage in the whole genome universe, but now lets try calculating codon usage percentage in a certain gene. 
  
-Please rewrite the script in Step one to the following example.+Step 1 で作成したスクリプトを以下のように書き換えて下さい。
  
 +<code perl>
   use G;    use G; 
-  $gb = new G("​bsub.gbk"​); ​+  $gb = new G("​bsub"​); ​
   codon_usage($gb,​ -CDSid=>'​CDS113'​); ​   codon_usage($gb,​ -CDSid=>'​CDS113'​); ​
 +</​code>​
  
-CDS113” corresponds with the gene (tufA) that codes with the elongation factor ​(TU, EF-Tu). If you execute the above script, the codon usage percentage for the tufA gene should be shown on the display like the following example.+'CDS113'​は、伸長因子(elongation factor ​Tu, EF-Tu)をコードする遺伝子(//​tufA//​)に対応しています。 上記スクリプトを実行すると、以下に示すような //tufA// 遺伝子のコドン使用頻度がディスプレイに出力されるはずです。
  
 + 
   / -> taa -> 1   ​1.000 ​   / -> taa -> 1   ​1.000 ​
   A -> gca -> 2   ​0.074 ​   A -> gca -> 2   ​0.074 ​
Line 161: Line 172:
   Y -> tat -> 2   ​0.182 ​   Y -> tat -> 2   ​0.182 ​
   total -> 397    total -> 397 
 + 
 +左から順に
  
-It shows from the left, the abbreviation of the amino acid -> the codon -> the codon sum -> percentage of synonym codons. +アミノ酸の略号 ​-> コドン ​-> コドンの計数値 ​-> 同義コドンの頻度 ​ 
-You can tell from this output, the deflection of synonym codons for the tufA gene, differs greatly from the pattern of the entire genome universe. For example, of the two synonym codons it possesses, phenylalanine (code: F) uses only TTC as a synonym codon. Of the four synonym codons it possesses, alanine (code :A) only uses GCT+('/'​は終止コドンを意味します)  
 +を表しています。 この出力結果から、//​tufA// 遺伝子における同義コドン使用の偏りは、 遺伝子全体の傾向とは大きく異なっていることがわかります。例えば、 フェニルアラニン(略号 ​: F )では2つある同義コドンのうち ​TTC のみを使用し、 アラニン(略号 ​: A )では4つある同義コドンのうち ​GCT を多用しています。
  
  
  
  
 +=== 課題2 :  ===
 +DNA複製開始にかかわっているDnaA タンパクをコードする遺伝子(//​dnaA//​)のコドン使用頻度 を計算し、先程の//​tufA//​ 遺伝子の出力結果と比較してみましょう。 //dnaA// 遺伝子の CDS ID は、'​CDS1'​です。
  
-=== Excercise 2: ===+[ヒント] 上記スクリプトの codon_usage($gb,​ -CDSid=>'​CDS113'​);​ の行を書き換えます。
  
-Please calculate the codon usage percentage for the gene  (dnaA), witch codes DnaA protein and relates to DNA replication. +====== Step 3 ゲノムデータへのアクセス ​ ====== 
->Hint: rewrite ​ the line “codon_usage($gb, -CDSid=>'​CDS113'​);​” in the above script.+G-language System 起動時に読み込まれたデータは、全て ​$gb の中に格納されています。 ここでは、$gb に格納されている各種ゲノム情報へのアクセスの仕方を簡単に説明します。
  
  
 +詳細については
  
 +  perldoc G.pm  [ENTER] ​
  
-====== Step 3 Access to genome data  ====== +を実行し、G.pm のperldocドキュメンテーション([[http://​www.g-language.org/​documentation/​1.7.1/​G.html#​SYNOPSIS|Prelude-manual]])を参照して下さい。
-The data read into the G-lanbuage System upon mobilization,​ is saved inside “$gb”. +
- Now, we will explain simply how to access to each genome data inside “$gb”. +
-For further explanations,​ use perldoc ​command to view the manuals, ​  +
- +
-  perldoc G [ENTER] +
- +
-and refer to the [[http://​www.g-language.org/​documentation/​1.7.1/​G.html#​SYNOPSIS|perldoc documentation of G.pm]]+
-Now, I will show a part of the data file (“bsub.gbk”) that we have used.+
  
 +さて、以下に今回使用したデータファイル("​bsub"​)の一部を示します。
    
   LOCUS       ​AL009126 ​ 4214814 bp          circular ​ BCT       ​10-MAY-1999 ​   LOCUS       ​AL009126 ​ 4214814 bp          circular ​ BCT       ​10-MAY-1999 ​
   DEFINITION ​ Bacillus subtilis complete genome. ​   DEFINITION ​ Bacillus subtilis complete genome. ​
-  ​...skip...+  ​(中略) ​
   FEATURES ​            ​Location/​Qualifiers ​   FEATURES ​            ​Location/​Qualifiers ​
      ​source ​         1..4214814 ​      ​source ​         1..4214814 ​
Line 214: Line 225:
                      ​ADLAAEALKDIIPSSKPKVITIKEIQRVVGQQFNIKLEDFKAKKRTKSVAFPRQIAMY ​                      ​ADLAAEALKDIIPSSKPKVITIKEIQRVVGQQFNIKLEDFKAKKRTKSVAFPRQIAMY ​
                      ​LSREMTDSSLPKIGEEFGGRDHTTVIHAHEKISKLLADDEQLQQHVKEIKEQLK" ​                      ​LSREMTDSSLPKIGEEFGGRDHTTVIHAHEKISKLLADDEQLQQHVKEIKEQLK" ​
-  ​...skip...+  ​(中略) ​
   BASE COUNT  1187757 a 919167 c 915023 g1192867 t    BASE COUNT  1187757 a 919167 c 915023 g1192867 t 
   ORIGIN ​         ORIGIN ​      
         1 atctttttcg gcttttttta gtatccacag aggttatcga caacattttc acattaccaa ​         1 atctttttcg gcttttttta gtatccacag aggttatcga caacattttc acattaccaa ​
-  ​...skip...+  ​(中略) ​
   4214761 ttacggaaaa aagacaaatt caaacaattt gcccctaaaa tcacgcatgt ggat    4214761 ttacggaaaa aagacaaatt caaacaattt gcccctaaaa tcacgcatgt ggat 
   //    // 
 + 
 +$gb は
  
-$gb has the following structures. +LOCUS, HEADER, FEATURE1, FEATURE2, ... , FEATURE8444,​ CDS1, CDS2, ... , CDS4100, SEQ  
->LOCUS, HEADER, FEATURE1, FEATURE2, ... , FEATURE8444,​ CDS1, CDS2, ... , CDS4100, SEQ  +などの構造体を持ちます。
-For example, information for each CDS is inside structures named CDS1, CDS2, …, CDS4100(CDS+num.). For information for each structure, you access hierarchically like below. +
->​$gb->​{CDS480}->​{gene}  +
- +
-All base sequences from Origin onward, are inside +
->​$gb->​{SEQ}”+
  
 +例えば、各CDSの情報は CDS1, CDS2, ... , CDS4100(CDS+番号) という名前の 構造体に入っており、それぞれの情報には
  
 +<code perl>
 +  $gb->​{CDS480}->​{gene} ​
 +</​code>​
 +のように階層的にアクセスします。
  
 +また、ORIGIN以降の全塩基配列は
 +<code perl>
 +  $gb->​{SEQ}  ​
 +</​code>​
 +の中に入っています。
  
-=== Excercise 3:  === 
- 
-In the script written in Step 0, rewrite the following line that outputs the beginning and ending position for ‘CDS1’, and execute the file. 
  
 +=== 課題3 :   ===
 +Step 0で作成したスクリプトに、'​CDS1'​の開始位置と終了位置を出力する 次の一行を書き込んで実行してください。
 +<code perl>
   print "​$gb->​{CDS1}->​{start}..$gb->​{CDS1}->​{end}"; ​   print "​$gb->​{CDS1}->​{start}..$gb->​{CDS1}->​{end}"; ​
 +</​code>​
 +そして、出力結果が上記データファイルに一致することを確認してください。
  
-Confirm the outcome corresponds to the data file above.+====== Step 4-より高度な解析のために ======
  
-====== Step 4For further analysis ​ ======+G-language System にはゲノム解析関数が標準で多数用意されており、それらの 標準関数のみでも幅広い解析を行うことが可能です。しかし、実際の研究においては、 より高度な解析を行う場面も想定されます。そのためには、ある程度のプログラミング 能力は不可欠です。Perl初心者は、まずはPerlのテキスト本などを参考にして下さい。
  
-The G-language System ​has many gene analyzing functions as a standard, and each standard function in its own is capable of analyzing extensivelyBut in actual research, it is assumed that even more complex analyzing situations will occurFor this, a certain level of programming skills is requiredFor perl beginners, please reference the texts for “beginners session” and “newcomers study session”.+G-language System ​はゲノム解析のための関数だけでなく、ゲノムデータベースを 扱い易くするためのプラットフォームを提供します。そのプラットフォームとは、 $gb というG-language System のインスタンスから呼び出せる関数であり、 遺伝子毎の処理、開始コドン・終止コドン周辺の処理、イントロン・エキソン処理 など多岐に渡ります。 詳しくは、G.pm のperldocドキュメンテーション([[http://​www.g-language.org/​documentation/​1.7.1/​G.html#​SYNOPSIS|Prelude-manual]] 
 +)を参照して下さい。
  
-The G-language System not only supplies functions for genome analyzing, but provides a platform to easily handle genome data bases. The platform, is a function that is possible to be summoned upon an instance in the G-language System called $gb. It has a broad array such as processing each gene, processing the perimeter of initiation codons and stop codons and processing intron exon. For further explanation,​ please refer to the [[http://​www.g-language.org/​documentation/​1.7.1/​G.html#​SYNOPSIS|perldoc documentation of G.pm]]. 
  
-$gb->​cds() ​relays all CDS object names stored inside ​$gb in a sequence. For example, the script made in Question2 which analyzes codon usage percentage for the DnaA gene, should get the same result as above, even if you rewrite ​$gb->​cds() ​like the following.+$gb->​cds() ​は、$gb に格納されている全CDSのオブジェクト名を配列で返します。 例えば、課題2で作成した//​dnaA//​ 遺伝子のコドン使用頻度解析用のスクリプトは、 ​$gb->​cds() ​を使って以下のように書き換えても同じ結果が得られるはずです。
  
 +<code perl>
   use G;    use G; 
-  $gb = new G("​bsub.gbk"​); ​+  $gb = new G("​bsub"​); ​
        
   foreach $cds ($gb->​cds()){ ​   foreach $cds ($gb->​cds()){ ​
Line 257: Line 278:
     }      } 
   }    } 
 +</​code>​
  
-Now, let me explain the script. +では、スクリプトの説明をしましょう。 
-(1) The foreach ​line has the following structure.+(1) foreach文は次のような構造をしています。
  
 +<code perl>
   foreach $variable (@array){ ​   foreach $variable (@array){ ​
-       some process here.+       #some process here.
    ​} ​    ​} ​
 +</​code>​
  
-From the top, the element of the sequence is substituted with a variable, and is processed each time there is a substitution. Therefore,  +配列の要素が先頭から順に変数に代入され、代入されるたびに処理が行われます。よって
-“foreach $cds ($gb->​cds()){” means to substitute sequence element(the object name of CDS)  to a variable called $cds in order and process it. This is the basic way to process by each gene in the G-language System.+
  
-(2)With perl you can use a strong expression called regular expression. A common way to use this is to ask “does this regular expression match a certain word sequence?​” +<code perl> 
-This is written “variable=~/​regular expression/.+   ​foreach $cds ($gb->​cds()){  
 +       #処理  
 +   }  
 +</code>
  
-  if($gb->​{$cds}->​{gene} =~ /​dnaA/​){ ​+は、配列の要素(CDSのオブジェクト名)を順次 $cds という変数に代入して処理せよ という意味です。これは、G-language Systemにおいて遺伝子毎の処理をする基本的な方法の一つです。 
 + 
 +(2) Perlでは正規表現と呼ばれる強力な表現を使うことができます。よくある使い方としては、 「ある正規表現は、ある文字列にマッチするか?」というものです。これは、変数 =~ /​正規表現/​ と記述します。 
 + 
 +<code perl> 
 +   if($gb->​{$cds}->​{gene} =~ /​dnaA/​){ ​
         codon_usage($gb,​ -CDSid=>​$cds); ​         codon_usage($gb,​ -CDSid=>​$cds); ​
    ​} ​    ​} ​
-In the script above, it means if a gene($gb->​{$cds}->​{gene}) matches “dnaA”, it is to calculate the codon usage in the CDS +</​code>​ 
- + 
 +は、もし遺伝子名($gb->​{$cds}->​{gene})が"​dnaA"​にマッチするなら、そのCDSのコドン使用頻度を計算せよ という意味です。 
 + 
 +ここで示した例は非常に簡単なものですが、より複雑な解析を効率よく容易に行うことができます。
tutorialcodonusagejapanese.1188210416.txt.gz · Last modified: 2014/01/18 07:44 (external edit)