モデル植物としてはゲノムデータがあまり完璧でない植物を研究対象にしているためBlast検索も外部データベースサイトに頼らず自分でシークエンスデータをあちこちから集めてきて自分仕様のBlastサーバを立てている。
これまでのところ、まあ自分で見るだけだからとある程度手を抜いてサーチ結果はテキスト形式で落としてきて眺めていたのだが、やはりNCBIのサイトのようにグラフィカルにアライメントを表示できたりすると便利だろうな、ということで自前サーバでああいうグラフィカル表示ができないものかと模索した。
まずはBlast結果をxml形式で書き出し、それをうまい具合にHTMLに乗せるといいようで、まずはそういうツールがないか探してみたところ、blast2htmlというまんまのネーミングのpythonスクリプトを見つけた。
github.com
こいつをサーバにゴニョゴニョと組み込んでみたところうまい具合に表示できるようになった。pythonからpythonを呼び出すにはimportを使うのが良いのだが、引数がついているこのスクリプトはちょっと扱いにくく、最後の手段subprocessでどうにか組み込むことに成功した。
こんな感じ
入り口はシンプルに。NCBIのサイトのように複雑なオプション指定はできないが、まあいらんだろ。必要になったら随時加えていくだけさ。