grid_engineを用いて並列blast

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
grid_engineを用いて並列blast [2018/05/08 01:08] – 作成 133.11.222.89grid_engineを用いて並列blast [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1
行 1: 行 1:
-====== 前準備 ====== 
- 
-準備として、query側のfastaを複数ファイルに分割しておくとよい。分割ファイル一つ一つのサイズが大きいとノード間の処理性能差が出やすくなってしまうため、多めの分割を行う。普段は600分割で実行したらいい感じだった。fastaの分割方法→[[fastaファイルを任意の個数のファイルに分割|fastasplit]] 
- 
-====== 1. データベース作成 ====== 
- 
-通常の手順で検索を受ける側のfastaファイルのデータベースを作成する。 
-<code bash>makeblastdb -in Danio_rerio.GRCz11.pep.all.fa -dbtype prot</code> 
- 
-====== 2. 各ノードにtemporaryフォルダを作成しdbをコピー ====== 
- 
-Grid engineシステムはジョブが全てのサーバーに振り分けられるため、各サーバーがローカルのdbファイルにアクセスできるよう''~/work/tmp''のようなフォルダを作成しコピーする。 
-<code bash> 
-for i in ~/files/*/kijima.yusuke/work/; do mkdir $i/tmp_zDB; done #各サーバーの''ユーザー/work/''ディレクトリ内に一時フォルダを作成 
-for i in ~/files/*/kijima.yusuke/work/tmp_zDB; do cp Danio_rerio.GRCz11.pep.all.fa* $i; done #作成したdbを各サーバーの一時フォルダにコピー。ここでは単純なforループでコピーしているが、実際はgrid engineを使用した。大きなファイルだとgrid engineを使用したほうが速い。 
-</code> 
- 
-====== 3. シェルスクリプトの作成 ====== 
- 
-分割したfastaファイルそれぞれに関してBLASTを行うシェルスクリプトを作成。今回のような単一のコマンドを実行する際はこれはいらないかもしれないが、TOPHAT~Cufflinksを並列で最後まで走らせたいときなどはシェルで書くしかない。 
-<code bash> 
-#!/bin/bash 
-blastp -db ~/work/tmp_zDB/Danio_rerio.GRCz11.pep.all.fa -query $1 -outfmt 6 -num_threads 1  -out ./${1##*/}.blast 
-</code> 
- 
-====== 4. 実行 ====== 
- 
-forループで分割したfasta一つ一つに対し並列でBLASTを実行。 
-<code bash> 
-for i in ~/files/m48/kijima.yusuke/work/ZebraVsCarp/carp/split/carp_genes.fa_chunk_0000*; do runGE-1cpu-4gb "bash ~/files/m48/kijima.yusuke/work/ZebraVsCarp/script_memo/carp_to_zebra_blast.bash $i"; done 
-</code> 
- 
- 
  
  • grid_engineを用いて並列blast.1525741737.txt.gz
  • 最終更新: 2018/05/08 01:08
  • by 133.11.222.89