3

私はこれがBLASTとバイオインフォマティクスに関連する非常に具体的な質問であることを知っていますが、ここに行きます:

スタンドアロンのBLAST(すでにダウンロードしてコマンドラインで実行してテスト済み)を使用して、DNA配列アラインメント(blastn)を実行しようとしています。自分のクエリファイル(fasta形式)と自分のデータベースファイル(fasta形式)の両方を提供できる必要があります。

重要なのは、プログラムが通常出力する詳細なレポートではなく、2つのフィールドのみを出力するようにすることです。アライメントの最高スコアとe値のみを出力したい。これが機能するようになったら、これを自分の制御プログラムでラップし、さまざまなクエリシーケンスで何度も自動的に実行して、スコアとe値をログに記録できるという考え方です。

私はこれがロングショットであることを知っていますが、誰かが私がこれを行うためにどのように取り組むことができるかについての考えを持っていますか?私にとっての2つのハードルは、自分のデータベースファイルを使用することと出力をカスタマイズすることです。

4

2 に答える 2

2

Yannick の回答では、必要な特定の出力を取得する方法について説明していblastallます。2 番目に懸念されるのは、独自のデータベース ファイルを使用することです。スタンドアロン BLAST は、これにも必要なツールを提供します。

に加えてblastall、 というプログラムのコピーも必要formatdbです。これを fasta 配列データベースに提供すると、BLAST 用に正しくフォーマットされます。ヌクレオチド データベースの場合は、次のコマンドを実行します。

formatdb -i input_database.fa -p F

これにより、作業ディレクトリ ( input_database.fa.nhrinput_database.fa.nininput_database.fa.nsq) に多数のファイルが作成されblastall、データベースの元の名前を使用してコマンドで使用できます (つまり、.n*接尾辞を省略します)。

HTH

PSformatdb -hはオプションの完全なリストを提供しますformatdb

于 2009-11-22T21:07:04.003 に答える
2

実際、それは簡単blastallです:あなたを助けるいくつかのコマンドラインオプションがあります:

  • クエリごとに最も強いヒットを 1 つだけ出力するには: -v 1 -b 1
  • 表形式で出力: -m 8

したがって、次のようなものを実行します。

blastall -p blastn -i queries.fasta -d database -v1 -b1 -m8 > resultTable.txt

ただし、テーブル出力にはいくつかの列があります。列の順序は覚えていませんが、cutツールを使用して目的の列のみを選択できます。たとえば、次のコマンドは、blastoutput から列 1、7、および 8 のみを選択します。

cut -d '\t' -f 1,7,8 < resultTable.txt

ヤニック

于 2009-11-22T16:13:29.610 に答える