前回の記事では、NCBIのウェブ版のblastnの機能を用いて、簡易的にNGSで得た配列が本当にその生物由来のものかを判定してみた。では、NCBIのウェブ版のblastnの機能を用いて、簡易的にNGSで得た配列が本当にその生物由来のものかを判定してみた。では、NCBIのウェブ版のblastnの機能を用いて、簡易的にNGSで得た配列が本当にその生物由来のものかを判定してみた。
しかし、この方法では、単離培養されていない微生物の配列も含まれてきてしまう。ざっくりと判定するにはいいが、本格的に系統樹の作成やコミュニティー構造解析などを見据えて分類群を割り当てたい場合は、単離培養されている微生物の既知配列との相同性をチェックするのが望ましいだろう。
僕の場合、窒素循環に関連する遺伝子を持つ微生物を調べているので、単離培養していて本当にその機能があるかまで確認されている微生物の遺伝子配列を用いるのが一番良い。
これまでそういった解析をするためにFungeneというツールを使っていたのだが、単離培養されていないenrichment culture cloneの配列も割り当てられてきてしまっていた。また、どういった基準でそのデータベースに入っている配列を選んだかもわからなかったため、自分で論文検索して配列を探そうとしていた矢先、Claidentというツールを知り合いの先生に紹介して頂いた。
Claidentの作成者は、「問い合わせ配列と最近隣配列との間の変異量<分類群内の最大変異量」という規準を考案し、これを実現するアルゴリズムQCauto法(Tanabe and Toju, 2013)が実装されている。
実は、僕はこれまでQIIME2やRのdada2パッケージ内にあるassignTaxonomyといった、機械学習による割り当て(※間違っている場合はツッコミ大歓迎)を採用してきたのだが、系統樹を描いてみると割り当てられた微生物の既知配列とときどき違う場所に出てきたりして、よりよい方法はないかと模索していたところだっ。そこで、Claidentを教えて頂いた。
インストール方法は、こちらを参照。
ちなみに、環境は、WSL Ubuntu20.04.5 LTS
インストール後に、早速割り当てを行おうとした(分類群割り当てのコードで参考にしたサイトはこちら。)
そこで、以下のコードでつまづいた。
clmakecachedb --blastdb=overall_class --numthreads=CPUコア数 代表配列ファイル名 overall_classの出力キャッシュファイル名
>>>sh: 1: blastn: not found
つまりblastnというコマンドがうまく指定されていないということらしい。
Claidentを紹介してくださった方や作成者の方に質問したところ、普段使用しているblastnと競合しないように、上記の方法でインストールしたblastnにはPATHが通らないようにしているらしい。
〈解決策〉
そこで.bashrcに、以下の文を入れてPATHを追加してみた。
PATH="$PATH":/usr/local/share/claident/bin/blastn
しかし、それでも通らなかった。WSLというのも関係しているのかもしれない。
そこで、以下のコードでncbi-blast+をインストールしたら通った。
sudo apt install ncbi-blast+
次に、以下のコードでつまづいた。
classigntax --taxdb=overall_class --maxpopposer=0.05 --minsoratio=19 overall_classによる近隣配列の取得結果 overall_classによる同定結果のファイル名
>>>both "overall_class" and "/overall_class" do not exist
今度はデータベースがうまく指定されていない。
〈解決策〉
作成者の方に聞くと、このコマンドは.claidentを認識しているのだが、その優先順位は、
「.claidentはカレントディレクトリが最優先、ホームディレクトリが2番目、/etc/claident/.claidentが3番目」
となっているとのことだった。
私は、Claidentをインストールしたディレクトリで作業しており、そこに.claidentが残っていて、これを最優先で認識してしまっていたらしい。
そこで、カレントディレクトリから.claidentを除くと、自分的に認識してほしかった/etc/claident/.claidentを認識してくれたようで、上記のコードがうまく動いた。
〈割り当ての結果とClaidentの欠点〉
で、割り当ててみた。unculturedやenvironmentalのサンプルをプログラミングではじいていると思っていたのだが、結局、DGGEのバンド由来のものが出てきてしまった(笑)
冒頭で、単離培養されたものじゃないとダメだ!みたいなことを言っていたのに、お恥ずかしい。
Claidentはこういった分類群が1番目にヒットしてしまうと、2番目、3番目…に単離培養されたものがヒットしていたとしても、わからない仕様になっているのが欠点だ(これはQIIME2でもRのdada2でもそうだが)。
また、単離培養された株の配列だけで分類群を割り当てたい我々にとっては、独自に作ったデータベースを使えないということも、少し使い勝手が悪い。
戦いは、次回へ持ち越しだ。ではまた。
Comments