blastdbcmd2019
localBLASTのblastdbcmdを使って配列エントリの特定の領域を取得する
以前書いたブログエントリを現状に合わせて見直して再掲載シリーズ、blastdbcmd版。
新規なモデル生物では、ゲノム配列が公開されていても多くの場合染色体ごとに配列が一本につながっていない。 どうなっているかというと、scaffoldという単位でゲノム断片配列が記述されている。
そういった場合でも、コマンドラインで使用する際のNCBI BLASTをローカルにインストールした際に一緒にインストールされるmakeblastdb
というプログラムを使ってインデックスを作成、同じくインストールされているblastdbcmd
を使ってエントリ名(-entry
)と領域(-range
)を指定することで、その領域の塩基配列を取得することが可能である。
makeblastdb -in hoge.fa -dbtype nucl -hash_index -parse_seqids
blastdbcmd -db hoge.fa -entry scaffold001 -range 2000-2500
このコマンドでは、一行目でhoge.fa
ファイル(FASTA形式)に対してインデックスを作成、二行目でscaffold001
の2000塩基から2500塩基までの配列を抽出する例を示している。
通常のmakeblastdb
のオプションに加えて、-parse_seqids
が加わっている点に注意。
ちなみにBono本だと、p135あたりにmakeblastdb
とblastdbcmd
に関する解説がある。