Topics
- BLAT vs. BLAT (BLATとBLATの比較) BLAST
- BLAT で配列が全く見つからない、あるいは期待したマッチングが得られない
- BLAT や In-Silico PCR で chr_alt や chr_fix など複数のマッチングが見つかるが、期待されるのは一つだけ
- BLAT use restrictions
- BLAT ソースとドキュメントのダウンロード
- Web ベース BLAT パラメータをコマンドラインで再作成する方法
- BLAT のソースとドキュメントはどのように入手できますか?2883>
- -ooc フラグの使用
- BLAT のパーセント同一性とスコア計算の再現
- BLAT “I’m feeling lucky” 検索結果の再現
- BLAT を短い配列に対して最大の感度で使用
- BLAT ALL genomes
- BLAT All genomes: 2883>
- gfServer/gfClientを使ったWebベースのBLAT結果の近似値
- StandaloneまたはgfServer/gfClient結果の開始位置が一つずれる
目次に戻る
BLAT vs. BLAT
BLATとBLASTの違いは何ですか?
BLATはBLASTと同じアライメントツールですが、構造が違っています。 DNAの場合、BLATはゲノム全体のインデックスをメモリに保持することで動作します。 従って、BLAT の対象となるデータベースは GenBank 配列の集合ではなく、全ゲノムをアセンブルして得られたインデックスである。 デフォルトでは、インデックスには繰り返しに大きく関与するものを除く、すべての重複しない11-merが含まれ、使用するRAMは1ギガバイト未満です。 このようにサイズが小さいため、BLATはBLASTよりもはるかに簡単にミラーリングすることができます。 DNAのBLATは、長さ40塩基以上の95%以上の類似性のある配列を素早く見つけるように設計されている。 より発散する配列や短い配列のアラインメントを見逃す可能性があります。 (スタンドアロン Blat のデフォルト設定と期待される動作は、BLAT のグラフィカルバージョンとは若干異なります。)
タンパク質に関して、BLAT は 11-mersではなく 4-mers を使い、20 アミノ酸長以上でクエリーに対して 80% 以上の類似性を持つタンパク質シーケンスを見つけます。 タンパク質のインデックスは2ギガバイトを少し超えるRAMを必要とする。 実際には、進化の過程で配列が分岐しているため、DNA BLATはヒトと霊長類の間でよく機能し、タンパク質BLATは地球上の脊椎動物やさらに以前の生物で保存されたタンパク質によく一致するものを見つけ続けている。 ヒトの場合、タンパク質ブラットはDNAブラットよりはるかに優れた遺伝子ファミリー(パラログ)を見出すことができる。 ただし、NCBIのBLASTやpsi-BLASTでは、より離れた場所のマッチングを見つけることができる。
実用的な観点からは、BLATはBLASTよりもいくつかの利点を持っている。
- 速度(キューがない。 相同性深度は劣るが、秒単位で応答が得られる
- 同時に多数のクエリをFastaフォーマットで送信できる
- 5つの便利な出力ソートオプション
- UCSCブラウザへのダイレクトリンク
- an option to launch later as a part of the custom track
BLAT は、ゲノム内の配列の位置を調べたり、mRNA のエキソン構造を決定するのによく使用されます。 が、熟練したユーザーは、自分のLinuxサーバーにコマンドラインのBlatをインストールすることで、大規模なバッチジョブの実行や内部パラメータの感度の変更を行うことができます。
BLAT can’t find a sequence or not all expected matches
ゲノムにあるはずの配列がBLATで見つからない。
まず、使用しているゲノムのバージョンが正しいかどうか確認してください。 例えば、現在広く使われているヒトゲノムには2つのバージョン(hg19とhg38)があり、あなたの配列はどちらか一方にしか含まれていないかもしれません。
cDNA 配列のスプライスサイトの上にある非常に短い配列は、ゲノムに存在しないため見つけることができません。 このような場合は、In-Silico PCRを使用し、ターゲットとなる遺伝子セットを選択してみてください。 BLATはクエリの最も反復性の高い部分をスキップし、マッチの数を制限しているため、これらの反復配列のマッチが欠落することになります。 つまり、1本の染色体あたり最大32ヶ所のマッチが返されることになります。
繰り返し配列の場合、しばしば self-chain track を使って他のマッチを見つけることができますが、それは他のマッチが十分に長くて具体的である場合に限られます。 配列が 30 bp 未満の場合は、”Short match” トラックを使用して、特定の場所に配列が存在するかどうかを確認できます。 BLATの実行ファイルとゲノムの.2bitファイルを自分のマシンにダウンロードし、コマンドラインからBLATを使用するしかありません。 詳しくはBLATのソースとドキュメントのダウンロードを参照してください。 BLAT のコマンドライン版を使用する場合、repMatch オプションを大きな値に設定し、繰り返し領域のマッチングを向上させることができます。
この現象は、hg38のような新しいゲノム解析で、alternate配列やfix配列を持つ配列を検索した場合に発生することが多いです。 これらのアセンブリの品質を向上させるために、キュレーターはMHC領域などのいくつかの重要な遺伝子座に複数のバージョンを追加しています。 また、参照配列を変更せずにエラーを解決するための修正配列も追加しています。
固定配列やalt配列がある染色体位置にマッチする配列をblatやisPCRすると、参照染色体上にマッチする配列(例:chr1)、パッチ配列上にマッチする配列(例:chr1_KN196472v1_fix)が表示されることになります。 ヒトのゲノムでは、参照配列と代替配列が同時に含まれることはないため、ほとんどの場合、パッチヒットは無視しても大丈夫です。
BLAT usage restrictions
Blat サーバーから、サーバー使用制限を超えたという警告を受け取りました。 UCSC Blat サーバーの使用パラメータについて教えてください。
Blat サーバーへの需要が高いため、プログラムによる BLAT ツールへの問い合わせや大規模なバッチクエリを行うユーザーへのサービスを制限しています。 プログラムによるBLATの使用は、最大で15秒に1回、1日あたり5,000ヒット以下に制限されています。 バッチクエリーは25配列以下に制限してください。
大量のBLATを必要とするユーザーには、ローカル用にBLATツールをダウンロードすることをお勧めします。 詳細は、BLATソースとドキュメントのダウンロードをご参照ください。 ドキュメントはありますか?
BLATのソースと実行ファイルは、学術的、非営利的、個人的な使用のために自由に利用可能です。
BLAT のソースは http://hgdownload.soe.ucsc.edu/admin/ (最新の jksrci*.zip ソースツリーの /kent/src/blat にあります) からダウンロードすることができます。 BLAT の実行ファイルについては、http://hgdownload.soe.ucsc.edu/admin/exe/ に行き、マシンタイプを選択してください。
BLAT プログラムの仕様に関するドキュメントは、ここにあります。 コマンドラインBLATはクエリ配列のUヌクレオチドへのマッチを返さないことに注意してください。
Replicating web-based Blat parameters in command-line version
I’m setting up my own Blat server and would like to use the same parameter values as the UCSC web-based Blat server used.
HgBLAT/gfServer とスタンドアロン、コマンドラインの Blat ではほとんど小さな相違点があると予想されます。 pslReps と pslCDnaFilter ユーティリティを使用すると、最適なマッチングを見つけることができます。 ウェブベースのBlatは、最小カットオフスコアを20として寛容に調整されており、ほとんどのアラインメントが表示されます。 どのフィルタリングパラメータが実験や解析に最も適しているかを判断することをお勧めします。 多くの場合、これらの設定はウェブベースのBlatの設定とは異なり、より厳しいものとなるでしょう。 このことを念頭に置いて、ウェブベースの Blat の検索結果に近づけるために、以下の設定を使用してください:
注意:gfServer/gfClient のアプローチが、スタンドアロンの Blat よりもウェブ結果の近似度が高い場合があります。
standalone Blat:
- Blat search:
blat -stepSize=5 -repMatch=2253 -minScore=20 -minIdentity=0 database.2bit query.fa output.psl
- Note: Web の結果を複製するには、PSL 出力が使用されるべきです。 BLAT は、別の出力形式(blast8 など)を若干異なる方法で処理するため、特に短いアラインメントでは、結果にわずかな違いが生じることがあります。 さらに、クエリー配列はすべてのUヌクレオチドをTヌクレオチドに変換するか、”-q=rna “フラグを使用してWeb-BLATと一致させる必要があります。
faToTwoBit:
- ソフトマスキングを使って、BLAT入力用にファスタ形式から2ビット形式へ変換しています。
gfServer(UCSCのWebベースのBLATサーバはこのように設定されています):
- BLATサーバ(PCR可能):
gfServer start blatMachine portX -stepSize=5 -log=untrans.log database.2bit
- translated BLAT server:
gfServer start blatMachine portY -trans -mask -log=trans.log database.2bit
DNA/DNAおよびDNA/RNAマッチを有効にするにはhost、portおよびtwoBitファイルのみが必要とされます。 未翻訳のBlat (gfClient) とPCR (webPcr) は同じポートを使用します。 翻訳されたBlat(タンパク質検索またはタンパク質空間での翻訳検索)を有効にするには、別のポートに別のBlatサーバが必要です。
gfClient:
- Set -minScore=0 and -minIdentity=0.This will result some low-scoring, generally spurious hits, but for interactive use that is enough easy to ignore them (because results are sorted by score) and sometimes the low-scoring hits come with handy.It will be a convenient for.
repMatchに関するメモ:
- gfServer dna matchesのデフォルト設定は: repMatch = 1024 * (tileSize/stepSize).
- Blat dna matchesのデフォルト設定は: repMatch = 1024 (if tileSize=11). dna matchのデフォルト設定は: repMatch = 1024 (if tileSize=11).
- ウェブベースの結果と同等のコマンドライン結果を得るには、BLAT を使用する際に repMatch を指定する必要があります。
当社のウェブベース Blat が表示するスコアと一致率を複製する方法の詳細については、こちらの BLAT FAQ を参照してください。
BLAT、gfServer、gfClientで利用できるパラメータの詳細については、BLAT仕様書を参照してください。
-oocフラグの使用
-oocフラグは何をするのか
BLATで-oocオプション、例えば-ooc=11.oocを使うとRepete-masking sequenceと同様に検索速度が速くなる。 11.ooc ファイルには、ゲノム配列の中で過剰発現していると判断された配列が含まれています。 検索速度を向上させるため、ゲノムに対してアライメントを行う際に、これらの配列を使用しないようにします。
11.ooc ファイルを使用しないことにより、アライメント時間が増加しますが、感度が若干向上します。 これは、短い配列や質の悪い配列をアライメントする場合に重要な場合があります。
要約すると、特定の配列が見つからず、余分な処理時間に余裕がある場合、特定の状況が使用することを保証するならば、11.ooc ファイルを使用せずに BLAT を実行するとよいかもしれません。
Replicating web-based Blat percent identity and score calculations
Using my own command-line Blat server, how can I replicate the percent identity and score calculations produced by web-based Blat?
コマンドライン Blat には、パーセント ID とスコアを表示するオプションは存在しません。 しかし、計算を含むスクリプトは作成されています。
- ソースツリーから perl スクリプトを表示します。
pslScore.pl
- 対応するCプログラムを表示する。
psl.c
ソースコードの入手方法については、ソースコードライセンスとダウンロードに関する FAQ を参照してください。
Replicating web-based Blat “I’m feeling lucky” search results
How do I generate the same search results as web-based Blat’s “I’m feeling lucky” option using command-line Blat.
I’m feeling lucky Blat 検索コードは、クエリーページで選択したソート出力オプションに基づいて結果を並べ替えます。 それから、最初のクエリ配列の最高得点のアライメントを返します。
query, start または chrom, start で結果をソートしている場合、I’m feeling lucky の結果の生成は簡単です:これらの列で出力ファイルをソートし、トップの結果を選択します。
スコアを含むソート オプションを複製するには、最初に PSL 出力ファイルの各結果のスコアを計算し、次にスコアまたは他の組み合わせ (たとえば、「query, score」および「chrom, score」) によって結果をソートする必要があります。 スコアの計算については、Web ベースの Blat のパーセント ID およびスコア計算の再現のセクションを参照してください。
あるいは、ゲノム ブラウザのソース コードで利用できる pslReps
または pslCDnaFilter
プログラムを使用して Blat PSL 出力をフィルタリングしてみてはいかがでしょう。 ソースコードの入手については、ソースコードライセンスとダウンロードに関するFAQをご参照ください。
Using BLAT for short sequences with maximum sensitivity
BLAT for short sequences with maximum sensitivityはどのように設定すればよいですか。
これらの条件に対して、スタンドアロン BLAT と gfServer/gfClient を設定するためのガイドラインを以下に示します。
- 一致を保証する最短クエリーサイズを求める公式は、(一致するタイルが使いすぎとしてマークされていない場合)次のようになります。 2 * stepSize + tileSize – 1
たとえば、stepSizeを5、tileSizeを11に設定すると、クエリーがターゲットと完全に一致する場合、クエリーサイズ2 * 5 + 11 – 1 = 20 bpのマッチが検出されます。
stepSizeパラメータは1からtileSizeまで、
tileSizeパラメータは6から15までの範囲で設定できます。 タンパク質の場合、範囲は低くなります。
minMatch=1の場合(例., タンパク質)、最低保証一致長は次の通りです:1 * stepSize + tileSize – 1
注:ヒットには「最小ラッキーサイズ」も存在します。 これはBLATが見つけることができる最小のヒットである。 この最小ラッキーサイズは、stepSize + tileSizeという式で計算できる。 たとえば、tileSizeを11、stepSizeを5とすると、16塩基より小さいヒットは報告されません。 - -fineを使ってみてください。
- repMatchに大きな値(例: -repMatch = 1000000)を使うと、タイルが使いすぎとしてマークされる可能性を減らすことができます。
- .ooc ファイルを使用しない。
- -fastMap を使用しない。
- masking コマンドライン オプションを使用しない。
以上の変更により BLAT はより敏感になりますが、速度が落ち、メモリ使用量は増加します。
出力のフィルタリングに関する注意: -minScoreパラメータ値をクエリーサイズの2分の1以上に増加させても、それ以上の効果はありません。 そのため、Genome BrowserのソースコードにあるpslReps
またはpslCDnaFilter
のプログラムを使って、希望するサイズ、スコア、カバレッジ、クオリティでフィルタリングしてください。 ソースコードの入手については、ソースコードライセンスとダウンロードに関する FAQ を参照してください。
Blat ALL genomes
How do I blat queries for the default genome assemblies of all organisms?
BLAT is designed to find sequence similarity between query and target sequences quickly. 一般に BLAT は、単一のターゲットゲノムにおける配列の相同性のある場所を見つけたり、mRNA のエクソン構造を決定するために使用されます。 BLAT は、UCSC Genome Browser でホストされている生物のデフォルトアセンブリのすべてに対して、クエリ配列を比較することもできます。
Genome ドロップダウン リストの上にある “Search ALL” チェックボックスを選択すると、すべての生物のデフォルト アセンブリのゲノムを検索することができます。 また、接続されているハブの Blat サーバーも検索します。つまり、ユーザーが作成したアセンブリハブを検索することができます。 結果ページには、全生物およびクエリ配列との相同性リストが表示されます。 ミスマッチやギャップを含むアラインメント全体のスコアが20以上でなければ、Blatの出力には表示されません。 アセンブリリストのリンクをクリックすると、そのアセンブリの配列相同性スコアが表示される新しいページに移動します。 No matches found
My Blat ALL results display assemblies with hits, but clicking into them reports no matches
In the Blat ALL results page, the “Hits” column is not representing alignments, instead it creates tile hits.このページでは、ヒットしたアセンブリが表示されません。 タイルヒットは、ターゲットで見つかった11塩基のkmerマッチで、必ずしもアラインメントに成功しているわけではありません。 Assembly’ リンクをクリックすると、そのゲノムの完全な Blat alignment が行われ、20 bp 未満の alignment score は no matches found と表示されます。
Blat ALL ユーティリティに配列を送信すると、配列はサーバー内のインデックスと比較されます。 インデックスが構築された後、アライメントの最初のステップは、クエリー(検索)配列を読み、すべての11merを抽出し、現在メモリ内のゲノム11-merインデックスでそれらを検索します。 そこで見つかったマッチが、Blat ALLの結果ページに表示される最初の “ヒット “となります。 次のステップでは、互いに重なる、あるいはある距離内にあるヒットを探し、ターゲットとクエリーのヒット位置間の配列を整列させようとします。
たとえば、2つの11塩基タイルヒットが完全に整列すると、22というスコアになります。 これは最低限必要なスコア20(Blat ALL genomes参照)を超えており、アライメントとして報告されるでしょう。 しかし、ギャップやミスマッチ、オーバーラップの可能性(BLAT仕様のステップサイズ参照)に対するペナルティがあり、これら全てによってスコアが20以下になる可能性があります。 その場合、Blat ALLは2つの「ヒット」を報告しますが、アセンブリをクリックしてもマッチがないことを報告します。 これは、Blat ALL によって報告されたヒット数がわずか (1 ~ 3) の場合によく発生します。
Approximating web-based Blat results using gfServer/gfClient
多くの場合、gfServer/gfClient を使用して、スタンドアロンの Blat では見つけることができない Web ベースの Blat 結果の近似または再現を提供します。 この方法は、Genome BrowserのWebベースのBlatで使用されているBlatサーバーを模倣しています。 次の例では、hg19 gfServer をセットアップし、クエリーを作成する方法を紹介します。 まず、OSにあったユーティリティをダウンロードし、実行権限を与えます:
#For linuxrsync -a rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/blat/ ./#For MacOSrsync -a rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/macOSX.x86_64/blat/ ./chmod +x gfServer gfClient blat
次に、.2bitゲノム(この例ではhg19)をダウンロードし、ローカルマシンとポート1234を指定してgfServerutilityをweb Blatパラメータで実行します:
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bit./gfServer start 127.0.0.1 1234 -stepSize=5 hg19.2bit
しばらくするとgfServerは初期化されて問い合わせの受信が可能になります。
./gfClient -minScore=20 -minIdentity=0 127.0.0.1 1234 . input.fa out.psl
出力ファイルout.psl
は、Web上のBlatに非常に近い結果が得られるはずです。
Standalone or gfServer/gfClient results start positions off by one
My standalone Blat results or gfServer/gfClient Blat results have a startposition as one less than what I see the web Blat results
This is caused to how we store internal coordinates in the Genome Browser.This shows to have the startposition as one as one as one. デフォルトの Blat 出力タイプのハイパーリンクは、内部座標データ構造の結果を表示します。 これらの内部座標は、ゼロ ベースの開始点と 1 ベースの終了点を持っています。
Web Blat で出力タイプを psl に変更すると、スタンドアロン Blat および gfServer/gfClient 手続きと同じゼロベースのハーフオープン座標の結果が表示されるようになります。