Kazuharu Arakawa
gaou****@sfc*****
2007年 8月 30日 (木) 05:05:58 JST
g. 1.7.2をリリースしました。 重要な変更が二つあります。これまでのバージョンのキャッシュを クリアしないとうまく動作しない可能性がありますので、1.7.2を インストールしたらG-language シェルでclear_cacheコマンドを 実行してください。 1. 遺伝子番号指定の汎用化 いままで$gb->{FEATURE$i}と$gb->{CDS$i}で異なる情報を保持 していたのを、一つに統一しました。これにあわせて、 $gb->{$locus_tag}->{gene}や$gb->{$gene}->{type} などができるようになりました。 例えば大腸菌だと、以下の4つで同じデータにアクセスできます。 $gb->{FEATURE4}->{translation} $gb->{CDS2}->{translation} $gb->{thrA}->{translation} $gb->{b0002}->{translation} シェルで扱うときに画期的に便利です。 これに伴い、$gb->get_geneseq()や$gb->next_feature()などの Prelude系関数でも、遺伝子名を直接与えることが出来るように なりました。 $gb->get_geneseq("recA") という感じに使えます。 RAM使用量も減り、若干高速になっています。(いずれも数%程度) 2. $gb->find()の追加 $gbの中身をキーワード検索できるようになりました。結果は FEATURE IDのリストとして返ってきます。 例えば'RNA'と'tyrosine'に関係のあるfeatureを探したい場合、 @features = $gb->find('RNA', 'tyrosine'); とすれば@featuresにFEATURE IDが入ります。 特定のattributeに対して検索をすることもできます。 $gb->find(-type=>'CDS', -product=>'metabolism', 'subunit'); つまり、 foreach my $cds ($gb->find(-type=>'CDS')){ } は foreach my $cds ($gb->cds()){ } と同じです。 Perlなので、当然正規表現も使えます。 $gb->find(-type=>'CDS', -EC_number=>'^2.7.'); シェルの場合は、検索結果が見やすいかたちですぐに表示されます。お試しください。 ちなみにこれ、本質的な部分ではないですが、Bluebirdの周辺機能です。 #1.7.xはこのようにコア部分に手を入れるので、魅力的な機能が多くなりますが、 #ある程度不安定な可能性があることを承知の上で使って下さい。 #不具合やバグレポートは大歓迎です。 主な変更点は以下の通り。 http://www.g-language.org/wiki/changelog#v.1.7.2_2007.08.30 ===== v.1.7.2 2007.08.30 ===== *now requires DBD::SQLite. *fixed importing bugs in G::Seq::GCSkew. *fixed File::ShareDir related bugs in glang and g2s *fixed set_operon() to match the current RegulonDB format. (patch by Hiroyuki Nakamura. Thanx:) *fixed line-break problem for $gb->output() (in G::IO::GenBankO) *added -circular option to $gb->getseq(), $gb->get_gbkseq() (see help command for details) *$gb->get_cdsseq() correctly handles joined CDS entry which spans across the ends of circular chromosome *$gb->{CDS$n} is no longer separate: it is now an alias (reference or pointer) to corresponding $gb->{FEATURE$i}. *using the above, $gb->{locus_tag name} and $gb->{gene name} now works! For example, in E.coli, all of the following can access the same data. $gb->{FEATURE4}->{translation} $gb->{CDS2}->{translation} $gb->{thrA}->{translation} $gb->{b0002}->{translation} *fixes in G::Prelude to take advantage of the above. For example, the following now works: $gb->next_feature("thrA"); $gb->get_geneseq("thrA"); $gb->startcodon("thrA"); $gb->before_startcodon("thrA"); *added $gb->find(). This method allows to search within the genome database instance $gb. See help for details. Kazuharu Arakawa, Ph.D. Institute for Advanced Biosciences, Keio University 252-8520 Japan Tel/Fax: +81-466-47-5099