From gaou @ sfc.keio.ac.jp Sat Sep 8 08:49:21 2007 From: gaou @ sfc.keio.ac.jp (Kazuharu Arakawa) Date: Sat, 8 Sep 2007 08:49:21 +0900 Subject: [Glang-devel] 1.7.3 released Message-ID: <17616C72-D65C-46AF-B095-D66D43E862C0@sfc.keio.ac.jp> g. 1.7.3リリースしました。多分結構不安定です。 BluebirdとOrochiを統合して、G::DB::BDB, G::DB::BDBIという名前の クラスを実装しました。BluebirdとOrochiの実装はとりあえず一段落、 という感じです。Bluebirdに関して詳しくは以下をご覧ください。 http://www.g-language.org/data/www.g-language.org/moin/moin.cgi/Bluebird_a4_c8_a4_cf 感覚的には、オブジェクト指向を敢えて使っていないActiveRecordパターン、 あるいはO/Rマッパーのようなもの、だと考えてもらっていいと思います。 アーキテクチャの変更としては、SQLiteをバックエンドに使うように なっています。 データベースのインストール、設定、などなど、面倒な作業は 一切不要です。db_saveとdb_loadがほぼsdb_save, sdb_loadと 同じように動くと思ってもらっていいです。 例えば、 $gb = new G("ecoli"); db_save($gb, "ecoli"); $gb = db_load("ecoli"); これだけで、二回目に読み込まれた$gbはBluebird型になっています。 全ての$gbの中でのメモリアクセスは、実メモリではなくデータベースに 向きます。 実メモリに取り込むには、 $gb = db_load("ecoli", "clone"); とします。 無限に深い多次元ハッシュを格納できます。もちろん、Gの構造体で ある必要は全くなく、むしろそうでない方が適しているはずです。 また、外部のデータベース、例えばEnsemblなんかも、普通に メモリで扱うのと同じように、構造体で扱えます。ダウンロードは せずに、あくまで構造体のポインタが外部データベースに飛ぶ 構造になっています。 例えば: $db = db_load("gene", -driver=>"mysql", -database=>"mus_musculus_core_46_36g", -host=>"ensembldb.ensembl.org", -port=>3306, -primarykey=>"gene_id"); say $db->{239967}->{status}; ある程度はキャッシングをしているので、今の段階でもそれなりに 高速です。(保存は時間がかかります) 基本的にこれからパフォーマンス向上やインタフェース改良しますので、 まだ仕様が変わる可能性があります。なので、ドキュメントはその辺が 確定次第追加します。 Changelogは以下の通り。 ===== v.1.7.3 2007.09.08 ===== *p, say, puts are moved to G::Messenger (from G::Shell::Log) and are exported by default. *fixed line-break bug for $gb->output() (in G::IO::GenBankO) introduced by the 1.7.2 update. *made $gb->cds() depend on $gb->feature() *G::DB::BDB (codename: Bluebird and Orochi) implemented. Something like following works now:) $db = db_load("gene", -driver=>"mysql", -database=>"mus_musculus_core_46_36g", -host=>"ensembldb.ensembl.org", -port=>3306, -primarykey=>"gene_id"); say $db->{239967}->{status}; exported methods are: db_dbi db_exists db_path db_set_path db_save db_load most work just like sdb in G::DB::SDB. *G::DB::GDBI, G::DB::GDBAPI (previous versions of Orochi) are removed. From gaou @ sfc.keio.ac.jp Sat Sep 8 21:03:03 2007 From: gaou @ sfc.keio.ac.jp (Kazuharu Arakawa) Date: Sat, 8 Sep 2007 21:03:03 +0900 Subject: [Glang-devel] 1.7.4 released Message-ID: <31B2DE61-97BF-4923-AEFF-AB96A718B132@sfc.keio.ac.jp> g. 1.7.4リリースしました。 G::Prelude, G::Skylineなど重要なモジュールの名前を変更しています。 以前のバージョンの仮想メモリと互換性がないので、Shellで clear_cacheして下さい。 コアモジュールのクラス構造を整理し、BioperlとBluebirdまわりの バグをフィックスしました。BioPerlまわりは結構バグがありましたが、 ようやくgcskew($bio_seqio_instance)みたいに問題なく出来るように なっているはずです。 Infinityも着々と準備中です。 ===== v.1.7.4 2007.09.09 ===== *G::Prelude is renamed to G::IO::Handler *G::Skyline is renamed to G::IO *moved G::IO::Bioperl::convert to G::IO::_bp2gb. removed G::IO::Bioperl. *bug with BioPerl instances fixed. *G::DB::BDBI is renamed to G::DB::Handler *G::DB::Boranch is merged with G::DB::SDB and is removed. *minor modifications to G::DB::BDB Kazuharu Arakawa, Ph.D. Institute for Advanced Biosciences, Keio University 252-8520 Japan Tel/Fax: +81-466-47-5099 From gaou @ sfc.keio.ac.jp Fri Sep 14 21:51:40 2007 From: gaou @ sfc.keio.ac.jp (Kazuharu Arakawa) Date: Fri, 14 Sep 2007 21:51:40 +0900 Subject: [Glang-devel] G::Tools::PBS Message-ID: <85788D4C-2AFB-4832-9AD8-2357F54A25AE@sfc.keio.ac.jp> g. Inspireの実装に伴い、あまり誰も使っていないと思われる G::Tools::PBS (PBSによる分散処理の単純なwrapper)を 削除したいと思います。異論あるかたは返信ください。 あとは極端に使用頻度が低い以下のモジュールの削除も検討 しています。異論がある場合返信ください。 G::Tools::EPCR G::Tools::H2v G::SystemsBiology::DotEのBio::ECellへの移行も検討中です。 Kazuharu Arakawa, Ph.D. Institute for Advanced Biosciences, Keio University 252-8520 Japan Tel/Fax: +81-466-47-5099 From gaou @ sfc.keio.ac.jp Thu Sep 27 00:48:55 2007 From: gaou @ sfc.keio.ac.jp (Kazuharu Arakawa) Date: Thu, 27 Sep 2007 00:48:55 +0900 Subject: [Glang-devel] 1.7.5 released Message-ID: <11D988FA-63E5-4A0D-82AE-D4D6D3583E70@sfc.keio.ac.jp> g. 1.7.5リリースしました。 リファクタリングが中心です。1.8.x系は基本的にインラインドキュメント の整備とコード最適化にする予定なので、大規模な変更は1.7.x系で すませたいと思っています。 主な変更点は以下の通り。 ===== v.1.7.5 2007.09.26 ===== *added $gb->around_startcodon() and $gb->around_stopcodon() *removed G::Seq::Eliminate::eliminate_pat(). try the following instead: foreach $cds ($gb->cds()){ next if ($gb->around_startcodon($cds, 50, 50) =~ /pattern/); } *removed G::Seq::Eliminate::valid_CDS(). try the following instead: foreach $cds ($gb->cds()){ my $genelength = length($gb->get_geneseq($cds)) next if ($genelength > 10000 || $genelength < 20); } *moved G::Seq::Eliminate::eliminate_atg to G::Seq::Util::filter_cds_by_atg. G::Seq::Eliminate is deprecated. *removed maskseq, pasteseq, cds_echo, print_gene_function_list, atgcon from G::Seq::Util *removed find_identical_gene, pseudo_atg from G::Seq::ORF *fixed new G("file", "longest orf annotation"); *moved and rewritten longest_ORF to G::Seq::Util. G::Seq::ORF is now removed. *G::Tools::(PBS|H2v|EPCR) are now deprecated. *G::System::STeP is now deprecated. Kazuharu Arakawa, Ph.D. Institute for Advanced Biosciences, Keio University 252-8520 Japan Tel/Fax: +81-466-47-5099