プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

BLASTローカルアラインメントアルゴリズムとは?仕組みと種類を解説

BLASTアルゴリズムの概要

BLAST(Basic Local Alignment Search Tool)は、1990年頃にAltschul、Gish、Millerらによって、米国国立生物工学情報センター(NCBI)で開発されたアルゴリズムです。塩基配列やアミノ酸配列の間の機能的・進化的な関係を導き出すために用いられ、遺伝子ファミリーのメンバーを同定する際にも役立ちます。

NCBIが提供するBLASTデータベース

NCBIのウェブサイトでは、複数の一般的なBLASTデータベースが公開されており、内容に応じて核酸データベースとタンパク質データベースに分類されています。さらにNCBIは、ベクター配列のスクリーニング用データベース、複数の生物種に対応したゲノムデータベース、トレースデータベースなど、特殊用途向けのBLASTデータベースも提供しています。

BLASTの仕組み:ヒューリスティックな探索手法

BLASTはヒューリスティック(発見的)なアプローチを用いて、クエリ配列とデータベースとの間の最適なローカルアラインメント(局所的な類似領域)を見つけ出します。検索速度を向上させるため、比較対象の配列を「ワード」と呼ばれる断片に分割し、まずこれらのワード同士の一致を探索することから始めます。

ワード(k-tuple)とは

BLASTにおいて、ワードはk-tupleとして扱われます。DNA塩基配列の場合、1つのワードは通常11塩基で構成され、タンパク質配列の場合は通常3アミノ酸からなります。BLASTは近傍ワード(ほぼ一致するワード)のハッシュテーブルを作成し、「近さ」の閾値は統計的な手法に基づいて設定されます。探索は完全一致から近傍ワードへと進められていきます。

統計的手法による高品質アラインメントの検出

良好なアラインメントには複数の近似一致が含まれるはずだという前提のもと、統計的手法によってどの一致が重要であるかを判断できます。ハッシュ法を利用することで、O(n)の線形時間でマッチを見つけることが可能です。両方向へマッチを伸長していくことで、高スコアのセグメントペア(HSP)を多数含む高品質なアラインメントを検出します。

BLASTの種類とバリエーション

BLASTアルゴリズムにはいくつかのバージョンや拡張版が存在します。たとえば、MEGABLAST、Discontinuous MEGABLAST、BLASTNはいずれも核酸配列の同定に使用できます。

MEGABLAST

MEGABLASTは、非常に類似性の高い配列間の長いアラインメントを効率的に検出するために特別に設計されたツールです。そのため、クエリ配列と同一のマッチを探す場合に最も適しています。

ワードサイズと検索感度

BLAST検索の感度を左右する重要なパラメータの一つが、初期ワードの長さ(ワードサイズ)です。BLASTNではワードサイズを変更でき、デフォルト値から最小7まで下げることで検索感度を高めることができます。このため、異なる生物種由来の類似核酸配列に対するアラインメントの検出において、BLASTNはMEGABLASTよりも優れた性能を発揮します。

BLASTPとPSI-BLAST

標準的なタンパク質間検索(BLASTP)は、クエリとなるアミノ酸配列の同定と、タンパク質データベース内の相同配列の検索の両方に使用されます。PSI-BLAST(Position-Specific Iterated BLAST)は、より高い感度を実現するために開発されたタンパク質類似性検索手法であり、進化的に非常に離れた関係にあるタンパク質の発見に有効です。

PHI-BLAST

PHI-BLAST(Pattern-Hit Initiated BLAST)は、限定されたタンパク質パターン検索を実行できるツールです。ユーザーが定義したパターンを含み、かつそのパターンの近傍においてクエリ配列と類似しているタンパク質を検索する目的で設計されています。

  1. 情報セキュリティにおけるRSAアルゴリズムとは?仕組みと特徴を徹底解説

    RSAアルゴリズムとはRSAは、開発者のRon Rivest(ロナルド・リベスト)、Adi Shamir(アディ・シャミア)、Leonard Adleman(レナード・アドルマン)の3名の頭文字を取った名称です。彼らは公開鍵暗号技術の先駆者であり、RSAは機密情報の安全な伝送を実現するための公開鍵暗号方式として広く知られています。特にインターネット上でデータをやり取りする際の標準的な暗号化手法として採用されています。非対称暗号としてのRSARivest-Shamir-Adleman(RSA)暗号アルゴリズムは非対称暗号(公開鍵暗号)アルゴリズムの一種で、多くの製品やサービスで幅広く利用されてい

  2. C#で使えるエスケープシーケンス一覧!サンプルコード付きで解説

    エスケープシーケンスとは、文字列の中で特殊な意味を持つ制御文字を表現するための記法です。C#では、バックスラッシュ(\)に続けて特定の文字を組み合わせることで、警告音やタブ、改行などを簡単に扱うことができます。以下は、C#で代表的なエスケープ文字を実際に出力するサンプルコードです。サンプルコードusing System; using System.Collections.Generic; class Demo { static void Main() { // ベル文字(警告音)を出力 Console.WriteLine(Warning! + \u0