バイオインフォマティクス
バイオインフォマティクス（英語：bioinformatics）または生命情報科学（せいめいじょうほうかがく）は、生命科学と情報科学の融合分野のひとつで、DNAやRNA、タンパク質の構造などの生命が持っている「情報」といえるものを情報科学や統計学などのアルゴリズムを用いて分析することで生命について解き明かしていく学問である。機械学習による遺伝子領域予測や、タンパク質構造予測、次世代シーケンサーを利用したゲノム解析など、大きな計算能力を要求される課題が多く存在するため、スーパーコンピュータの重要な応用領域の一つとして認識されている。
主な研究対象分野に、遺伝子予測、遺伝子機能予測、遺伝子分類、配列アラインメント、ゲノムアセンブリ、タンパク質構造アラインメント、タンパク質構造予測、遺伝子発現解析、タンパク質間相互作用の予測、進化のモデリングなどがある。
近年多くの生物を対象に実施されているゲノムプロジェクトによって大量の情報が得られる一方、それらの情報から生物学的な意味を抽出することが困難であることが広く認識されるようになり、バイオインフォマティクスの重要性が注目されている。
この一方遺伝子情報は核酸の配列というデジタル情報に近い性格を持っているために、コンピュータとの親和性が高いことが本分野の発展の理由になっている。
さらにマイクロアレイなどの網羅的な解析技術の発展に伴って、遺伝子発現のプロファイリング、クラスタリング、アノテーション（注釈）、大量のデータを視覚的に表現する手法などが重要になってきている。こういった個別の遺伝子、タンパク質の解析等から更に一歩進み、生命を遺伝子やタンパク質のネットワークとして捉え、その総体をシステムとして理解しようとするシステム生物学という分野もある。
たとえばヒトゲノム計画では、ある配列断片から順番に配列を解読する手法が考えられていたが、クレイグ・ベンターらによるショットガン法により遥かに高効率で解読が進められるようになった。ショットガン法はゲノム配列をバラバラな短い断片に分断してそれぞれを解読し、その後同一の配列を重複する領域として並べ替えることによってゲノム配列を再現するが、多くの断片がある中で正しい並び方を決定することはコンピュータの計算能力がなければ不可能である。このような元の長い配列を再現する計算は配列アセンブリングと呼ばれ、バイオインフォマティクスの中でも重要なテーマの一つとなっている。
バイオインフォマティクスの手法として多用されるものの一つが相同性検索である。なかでもBLASTは相同性検索プログラムとして多用されている。このプログラムは配列（シーケンス）の断片を問い合わせ情報として与えられると、その配列に最も類似した配列を NCBI (GenBank) などの配列データベース中から検索する。検索結果は、クローニングした遺伝子の部分情報から遺伝子全体の配列を予測したり、構造が未知のタンパク質の二次構造を予測したり、解読されたゲノムの中から遺伝子を検出してその機能を予測するなどの研究の基盤となる。
ゲノミクス研究の初期は遺伝子予測などがバイオインフォマティクスの主要な対象であった。しかし、最近はゲノムからの転写物の総体であるトランスクリプトーム、トランスクリプトーム（の一部）が翻訳されたタンパク質の総体であるプロテオーム、タンパク質の二次産物として合成される糖鎖の総体であるグライコーム、更に、ゲノムからの直接、転写・翻訳された実体ではなく、代謝ネットワーク（代謝マップ）によって生じた代謝産物をも含めた総体を考えるメタボローム、生物個体の表現形の総体であるフェノームなど、生物学全体を研究対象とする科学に拡大・発展しつつある。
バイオインフォマティクスの基本的なワークフローは、以下のようなものである。このいずれの段階でもコンピュータは使用される。その形態はパーソナルコンピュータ (PC) を利用したスクリプトによる小規模なシーケンスデータ加工から、産業技術総合研究所生命情報工学研究センターなどによる IBM Blue Gene のような20TFlopsのスーパーコンピュータから大規模なコンピュータ・クラスターやグリッド・コンピューティングを用いたタンパク質の立体構造解析（タンパク質構造予測）まで様々である。
バイオインフォマティクス研究には、それぞれの目的に応じたプログラムの作成が欠かせない。プログラミング言語としては一般的な科学分野と同じように、いわゆる「重い」計算（タンパク質の二次構造、三次構造の予測——タンパク質構造予測などはその一例）を行なうときにはC等の比較的低レベルな処理を書ける高級言語も用いられるが、塩基配列と言う巨大な「文字列」を扱う局面が多いため、テキスト処理を得意とする言語であるPerlの利用が盛んである。
Perlは、正規表現等の強力な文字列処理機能を持っているため配列解析に有効なだけでなく、プログラミングのトレーニングを積んでいないことが多い生物学出身の研究者にも比較的容易に習得できるという長所を有する。更に、早い時期から生物学的データの加工に用いることのできるbioperlなどのライブラリが整備されたため、いっそう有用となった。ある配列の公開配列データベース（NCBI GenBank など）からの取得、GenBankフォーマットやEMBLフォーマットで記述されたファイルからの情報抽出、BLASTの自動化等はきわめて容易に行える環境が整っている。
研究用プログラムの開発に使われる言語としては他に以下のようなものがあげられる。これらの殆どにそれぞれバイオインフォマティクス用のライブラリが開発されている。
生物学研究に用いられる主なデータベースは、以下のようなものが挙げられる（カッコ内は例）：
データはフラットファイル（一般的なテキストファイル）に比較的単純な形で保存されているケースも多いが、研究が本格化してデータ量が増大してくると、より効率的な利用を図るために関係データベース管理システム (RDBMS) やXMLなどを利用したより高度な管理が図られることが多い。生物学の研究においては、複数の公共データベースからのデータを使ったデータマイニングが非常に重要度を増しているため、データの相互利用と言う観点からも、XML、Webサービスなどの標準的技術の利用は今後も進んで行くと思われる。この考えを更に進め、セマンティック・ウェブ関連の技術（RDFやOWLなど）を利用した、コンピュータによるデータの相互利用を模索する動きもある。BioPaxプロジェクトなどはその一例である。
バイオインフォマティクスで扱うデータは、一次元の文字列（シーケンス全般）から、三次元構造のマトリクス (PDB) 、計算機科学におけるグラフ（ネットワークデータ全般）、遺伝子オントロジーのような有向非巡回グラフ (DAG; directed acyclic graph) と言った非常に多岐にわたるデータ構造を持つ。従って、それらを有機的に結びつけ、有効に活用するためには、最新の情報関連技術が不可欠である。
日本語を母語とする人々にとっては、日本語でいろいろなデータベースのサービスを提供している以下のようなサイトが便利である。バイオインフォマティクスの一環として、非常に多くのソフトウェアが開発され公開されている。多くのソフトウェアがオープンソースとされており、研究者は自由に利用することができる。
広く知られた解析用ソフトウェアとしては例えば以下のようなものがある。
データベースを基盤として必要とするソフトウェアは、開発元がWebブラウザから利用できるウェブアプリケーションとして公開している場合も多い。