バイオインフォマティクスの基本的なワークフローは、以下のようなものである。
ハイ・スループットな実験手法によるデータの蓄積
目的に応じたデータの加工、標準化
解析(データマイニング、可視化、その他統計的手法による分析など)
このいずれの段階でもコンピュータは使用される。その形態はパーソナルコンピュータ (PC) を利用したスクリプトによる小規模なシーケンスデータ加工から、産業技術総合研究所生命情報工学研究センターなどによる IBM Blue Gene のような20TFlopsのスーパーコンピュータから大規模なコンピュータ・クラスターやグリッド・コンピューティングを用いたタンパク質の立体構造解析(タンパク質構造予測)まで様々である。
プログラミング言語 [編集]
バイオインフォマティクス研究には、それぞれの目的に応じたプログラムの作成が欠かせない。プログラミング言語としては一般的な科学分野と同じように、いわゆる「重い」計算(タンパク質の二次構造、三次構造の予測——タンパク質構造予測などはその一例)を行なうときにはC等の比較的低水準な言語も用いられるが、塩基配列と言う巨大な「文字列」を扱う局面が多いため、テキスト処理を得意とする言語であるPerlの利用が盛んである。
perlは、正規表現等の強力な文字列処理機能を持っているため配列解析に有効なだけでなく、プログラミングのトレーニングを積んでいないことが多い生物学出身の研究者にも比較的容易に習得できるという長所を有する。更に、早い時期から生物学的データの加工に用いることのできるbioperlなどのライブラリが整備されたため、いっそう有用となった。ある配列の公開配列データベース (NCBI GenBank など) からの取得、GenBankフォーマットやEMBLフォーマットで記述されたファイルからの情報抽出、BLASTの自動化等はきわめて容易に行える環境が整っている。
研究用プログラムの開発に使われる言語としては他に以下のようなものがあげられる。これらの殆どにそれぞれバイオインフォマティクス用のライブラリが開発されている。
C++ - C言語を元に新しいプログラミングパラダイムを取り入れて開発された言語。
Java - オブジェクト指向および仮想マシンという概念を取り入れた言語である。BioJava というパッケージが存在する。
Python - 汎用インタプリタ言語である。BioPythonというパッケージが存在する。
Ruby - Javaと同じくオブジェクト指向プログラミング言語である。BioRubyというパッケージが存在する。
R言語 - オブジェクト指向の数値解析言語。行列処理・文字列処理・グラフ機能に優れたフリーソフトウェア。FDA公認。CRANシステムで日々機能強化され、Bioconductorネットワークにパッケージが集約されている。
日本の物語
私たちの憲法
ハムスター
大気のお話
住宅用語
野菜事典
知って得証券語
南北朝時代
栃木の湯めぐり
蘭の世界紀行
空手道
歯周炎
植物園
銀行
商社
フェンシング
アパレル
映画祭
肝炎
お化け屋敷
データベース [編集]
生物学研究に用いられる主なデータベースは、以下のようなものが挙げられる(カッコ内は例):
配列データベース(DDBJ, EMBL, GenBank[1], Swiss-Prot[2])
立体構造データベース(PDB[3])
パスウェイ・ネットワークデータベース(KEGG[4], BIND)
マイクロアレイデータベース (ArrayExpress)
文献データベース(MEDLINE/PubMed[5])
オントロジーデータベース(遺伝子オントロジー)
データはフラットファイル(一般的なテキストファイル)に比較的単純な形で保存されているケースも多いが、研究が本格化してデータ量が増大してくると、より効率的な利用を図るために関係データベース管理システム (RDBMS) やXMLなどを利用したより高度な管理が図られることが多い。生物学の研究においては、複数の公共データベースからのデータを使ったデータマイニングが非常に重要度を増しているため、データの相互利用と言う観点からも、XML、Webサービスなどの標準的技術の利用は今後も進んで行くと思われる。この考えを更に進め、セマンティック・ウェブ関連の技術(RDFやOWLなど)を利用した、コンピュータによるデータの相互利用を模索する動きもある。BioPaxプロジェクトなどはその一例である。
バイオインフォマティクスで扱うデータは、一次元の文字列(シーケンス全般)から、三次元構造のマトリクス (PDB) 、計算機科学におけるグラフ(ネットワークデータ全般)、遺伝子オントロジーのような非循環有向グラフ (DAG; directed acyclic graph) と言った非常に多岐にわたるデータ構造を持つ。従って、それらを有機的に結びつけ、有効に活用するためには、最新の情報関連技術が不可欠である。
日本語を母語とする人々にとっては、日本語でいろいろなデータベースのサービスを提供している以下のようなサイトが便利である。
ゲノムネット
DDBJ 日本DNAデータバンク
PDBj 日本蛋白質構造データバンク
ソフトウェア [編集]
バイオインフォマティクスの一環として、非常に多くのソフトウェアが開発され公開されている。多くのソフトウェアがオープンソースとされており、研究者は自由に利用することができる。
広く知られた解析用ソフトウェアとしては例えば以下のようなものがある。
NCBI BLAST[6] - シーケンス・アライメントに用いられる代表的ソフトウェア。
HMMER - 隠れマルコフモデルを利用するためのパッケージ。モチーフ検索などに用いる。
Cytoscape - タンパク質・遺伝子ネットワーク可視化、マイニングのためのプラットフォーム。
Bioconductor - R言語(フリーウェア)用 ゲノムデータ解析パッケージ集のオープンソースプロジェクト。
データベースを基盤として必要とするソフトウェアは、開発元がWebブラウザから利用できるウェブアプリケーションとして公開している場合も多い。