=begin $Id: BioRuby.rd.ja,v 1.10 2004/08/23 23:41:29 k Exp $ Copyright (C) 2001, 2002 KATAYAMA Toshiaki = BioRuby プロジェクト BioRuby は、Bioinformatics で必要とされる、データベースの検索、データの 取得とパース、配列解析からパスウェイ解析まで様々な計算、などに必要となる 様々な機能を Ruby 言語で実装し、簡単に扱えるようにするプロジェクトです。 他の先行プロジェクトとしては BioPerl, BioPython, BioJava など様々なもの があります。完成度では歴史の長い BioPerl が最も充実していると思いますが、 BioPerl は配列主体の複雑な構造で、データセンターでの利用が主に想定されて いるように思えますし、そもそも Perl で複雑なデータ構造を扱うとソースコー ドが読みづらくなります。この結果、メンテナンスや改良が難しくなります。他 のプロジェクトにもそれぞれ利点があると思いますが、いずれにしても後発で開 発の途中段階にあることを考えれば、自分の使いやすい言語で必要な機能を実装 して行っても十分に追い付けると思います。 BioRuby では、シンプルで強力な Ruby 言語のアドバンテージを生かし、分かり やすいコードでエンドユーザに必要な機能を実装していきたいと思います。特に Ruby のあらゆるオブジェクトという発想は、モノを扱う生物学にも素直に当て はめやすいコンセプトですし、トライ&エラーで作業を進める事ができるインター プリタ言語は C や Java と比べてウェットなラボの研究者にも馴染みやすいと 思います。 また、Ruby では Perl 譲りの強力な文字列処理に加え、Perl の後づけの OO に よるオマジナイや、頻出する local, my などが不要で、複雑なデータ構造もク ラスですっきりと表現できるため、本質的な部分に専念してコーディングするこ とができます。これにより、開発の効率も高くなるため、他のプロジェクトが手 掛けていない領域にもいち早く取り組んでいけると思います。 さらに、Ruby 自体が日本で開発された言語であるのに加え BioRuby も日本初の オープンな Bio* プロジェクトです。このため、情報が日本語で得られ、開発も 日本語で行なえる点、KEGG など日本独自のシステムへの対応なども行ないやす い点も BioRuby のメリットでしょう。 BioRuby のウェブサイト (()) で、最新のお知らせ、 ソースの入手方法、メーリングリストなどの情報と、他のドキュメントやコメン トなどの情報が得られます。 == 使い方 BioRuby を使うスクリプトの中で require 'bio' としてください。 全てのクラスは module Bio の下に追加されますが、必要に応じて include Bio とすることで、Bio:: を省いて各クラスを使う事ができます。 == BioRuby の概略 bio.rb を require すると、以下のクラスや定数などが使えるようになります。 現在実装されている主な機能は、 * アミノ酸配列や塩基配列の、翻訳やウィンドウサーチなどを含む操作、 スプライシングなどを表す GenBank 形式の location フォーマットの処理 * BLAST/FASTA などを用いた相同性検索 * ゲノムネット (()) の検索とデータ取得 * GenBank や KEGG など様々なデータベースの細かいパース * PubMed/MEDLINE などの引用文献データの取得と整形 * パスウェイ解析に必要なグラフと2項関係の操作 などです。詳しい使用方法については、個々のクラスに関するドキュメントや、 チュートリアルを参照して下さい。 他に、まだ未統合ですが C 言語による、クラスタリングや Smith-Waterman ア ルゴリズムの実装なども行なわれています。 === クラス階層 class Object ファイル レベル |- class String | `- class Bio::Sequence bio/sequence.rb stable | |- class Bio::Sequence::AA bio/sequence.rb stable | `- class Bio::Sequence::NA bio/sequence.rb stable |- class Bio::Location bio/location.rb stable |- class Bio::Locations bio/location.rb stable |- class Bio::Feature bio/feature.rb stable |- class Bio::Features bio/feature.rb stable |- class Bio::Reference bio/reference.rb stable |- class Bio::References bio/reference.rb stable |- class Bio::Pathway bio/pathway.rb stable |- class Bio::Relation bio/pathway.rb stable |- class Bio::FlatFile bio/io/flatfile.rb stable |- class Bio::Registry bio/io/registry.rb beta |- class Bio::Fetch bio/io/fetch.rb stable |- class Bio::SQL bio/io/sql.rb beta |- class Bio::DBGET bio/io/dbget.rb stable |- class Bio::PubMed bio/io/pubmed.rb stable |- class Bio::BRDB bio/io/brdb.rb alpha |- class Bio::Fasta bio/appl/fasta.rb stable |- class Bio::Fasta::Report::* bio/appl/fasta/*.rb stable |- class Bio::Blast bio/appl/blast.rb stable |- class Bio::Blast::Report::* bio/appl/blast/*.rb stable |- class Bio::DB bio/db.rb stable | |- class Bio::FastaFormat bio/db/fasta.rb stable | |- class Bio::NCBIDB bio/db.rb stable | | |- class Bio::GenBank bio/db/genbank/genbank.rb stable | | | |- class Bio::GenPept bio/db/genbank/genpept.rb stable | | | |- class Bio::RefSeq bio/db/genbank/refseq.rb stable | | | `- class Bio::DDBJ bio/db/genbank/ddbj.rb stable | | |- class Bio::MEDLINE bio/db/medline.rb stable | | |- class Bio::LITDB bio/db/litdb.rb stable | | `- class Bio::KEGGDB bio/db.rb beta | | |- class Bio::AAindex bio/db/aaindex.rb beta | | | |- class Bio::AAindex1 bio/db/aaindex.rb beta | | | `- class Bio::AAindex2 bio/db/aaindex.rb beta | | |- class Bio::KEGG::GENES bio/db/kegg/genes.rb stable | | |- class Bio::KEGG::GENOME bio/db/kegg/genome.rb stable | | |- class Bio::KEGG::BRITE bio/db/kegg/brite.rb alpha | | |- class Bio::KEGG::CELL bio/db/kegg/cell.rb beta | | |- class Bio::KEGG::ENZYME bio/db/kegg/enzyme.rb alpha | | `- class Bio::KEGG::COMPOUND bio/db/kegg/compound.rb alpha | `- class Bio::EMBLDB bio/db.rb stable | |- class Bio::EMBL bio/db/embl/embl.rb beta | |- class Bio::SPTR bio/db/embl/sptr.rb beta | | |- class Bio::SwissProt bio/db/embl/swissprot.rb beta | | `- class Bio::TrEMBL bio/db/embl/swissprot.rb beta | |- class Bio::PROSITE bio/db/prosite.rb beta | `- class Bio::TRANSFAC bio/db/transfac.rb beta | |- class Bio::TFMATRIX bio/db/transfac.rb beta | |- class Bio::TFSITE bio/db/transfac.rb beta | |- class Bio::TFFACTOR bio/db/transfac.rb beta | |- class Bio::TFCELL bio/db/transfac.rb beta | |- class Bio::TFCLASS bio/db/transfac.rb beta | `- class Bio::TFGENE bio/db/transfac.rb beta |- class Bio::KEGG::DBname bio/db/kegg/keggtab.rb beta |- class Bio::KEGG::Keggtab bio/db/kegg/keggtab.rb beta |- class Bio::KEGG::Microarray bio/db/kegg/microarray.rb alpha `- class Bio::KEGG::Microarrays bio/db/kegg/microarray.rb alpha === 標準クラスへのメソッド追加 class Matrix bio/matrix.rb alpha class Vector bio/matrix.rb alpha class String bio/extend.rb beta class Array bio/extend.rb beta === 定数と名前空間の階層 module Bio ファイル タイプ |- AAindex bio/db/aaindex.rb class |- AAindex1 bio/db/aaindex.rb class |- AAindex2 bio/db/aaindex.rb class |- AminoAcid bio/data/aa.rb constant |- AminoAcid_weight bio/data/aa.rb constant |- BIORUBY_VERSION bio.rb constant |- Blast bio/appl/blast.rb class | `- Report::* bio/appl/blast/*.rb class |- BRDB bio/io/brdb.rb class |- CodonTable bio/data/codontable.rb constant |- DB bio/db.rb class |- DBGET bio/io/dbget.rb class |- DDBJ bio/db/genbank/ddbj.rb class |- EMBL_COMMON bio/db/embl.rb module |- EMBL bio/db/embl/embl.rb class |- EMBLDB bio/db.rb class |- Fasta bio/appl/fasta.rb class | `- Report::* bio/appl/fasta/*.rb class |- FastaFormat bio/db/fasta.rb class |- FastaNumericFormat bio/db/fasta.rb class |- Fetch bio/io/fetch.rb class |- FlatFile bio/io/flatfile.rb class |- GENBANK_COMMON bio/db/genbank.rb module |- GenBank bio/db/genbank/genbank.rb class |- GenPept bio/db/genbank/genpept.rb class |- KEGG bio/db/kegg/ class | |- BRITE bio/db/kegg/brite.rb class | |- CELL bio/db/kegg/cell.rb class | |- COMPOUND bio/db/kegg/compound.rb class | |- ENZYME bio/db/kegg/enzyme.rb class | |- GENES bio/db/kegg/genes.rb class | |- GENOME bio/db/kegg/genome.rb class | |- Keggtab bio/db/kegg/keggtab.rb class | |- DBname bio/db/kegg/keggtab.rb class | |- Microarray bio/db/kegg/microarray.rb class | `- Microarrays bio/db/kegg/microarray.rb class |- KEGGDB bio/db.rb class |- KEGGORG bio/data/keggorg.rb constant |- LITDB bio/db/litdb.rb class |- Location bio/location.rb class |- Locations bio/location.rb class |- MEDLINE bio/db/medline.rb class |- NCBIDB bio/db.rb class |- NucleicAcid bio/data/na.rb constant |- NucleicAcid_weight bio/data/na.rb constant |- Pathway bio/pathway.rb class |- PROSITE bio/db/prosite.rb class |- PubMed bio/io/pubmed.rb class |- Reference bio/reference.rb class |- RefSeq bio/db/genbank/refseq.rb class |- Registry bio/db/registry.rb class |- Relation bio/pathway.rb class |- Seq bio/sequence.rb class | |- AA bio/sequence.rb class | `- NA bio/sequence.rb class |- Sequence bio/sequence.rb class | |- AA bio/sequence.rb class | `- NA bio/sequence.rb class |- SwissProt bio/db/embl/swissprot.rb class |- SPTR bio/db/embl/sptr.rb class |- SQL bio/io/sql.rb class |- TFCELL bio/db/transfac.rb class |- TFCLASS bio/db/transfac.rb class |- TFFACTOR bio/db/transfac.rb class |- TFGENE bio/db/transfac.rb class |- TFMATRIX bio/db/transfac.rb class |- TFSITE bio/db/transfac.rb class |- TRANSFAC bio/db/transfac.rb class `- TrEMBL bio/db/embl/trembl.rb class === ファイル階層 BioRuby のファイル構成については Design.rd.ja を参照してください。 =end