シーケンスデータにはキメラ配列が入り込むことがあります。特に複数の生物種が含まれるメタゲノムデータではキメラ配列除去が必須です。メタゲノム解析ではOTUクラスタリングに含まれていることも多く、意識せずキメラ配列除去を行っていることもありますが、キメラ配列除去のみを行う機会がありましたので、調べた内容をまとめてみようと思います。
UCHIME
NCBI にて 16S rRNA シーケンスデータからのキメラ配列除去についての記事を見つけ、Uchime2_ref を使っていたので採用しました。Uchime2_ref はデータベース配列に対してアライメントを行い、キメラ配列を見つけるモードになります。
UCHIME アルゴリズムが使えるツール
複数手段があったので特徴を記載します。
UCHIME
ページは USEARCH の中にありますが、UCHIME のみ単体でダウンロードできました。USEARCH、VSEARCH と違い、出力形式の種類が少ないようです。キメラ配列を決定した後は、キメラ配列ではなかった配列を元ファイルから ID で取り出します。
USEARCH
USEARCH は解析の他、ファイルの加工などもできて大変便利です。UCHIME にはない出力形式が選べ、キメラ配列判定にならなかった配列の出力が可能です。データベース配列のデータ量が大きいと使えないなど 32bit 版には制限があります。なお 64bit 版は有償になります。
VSEARCH
USEARCH の代替えソフトです。USEARCH 32bit 版では計算しきれないデータ量も解決してくれることがあります。必須オプションにデフォルト値を設定してくれていたり、コマンド操作がより簡易になっている気がします。
UCHIME で気を付けたい点
OTU クラスタリングをする際は推奨されない
クラスタリングをせずに解析するときに使いました。
クラスタリングしてキメラ除去も行いたいときは、USEARCH であれば、cluster_otus コマンドに組み込まれているキメラ除去を用いたほうが上手くいきます。
-strand plus
プラス(センス鎖)方向のみのアライメントしか行わないので、データベースの配列に reverse complement も追加する必要があります。USEARCH の-strandオプションはプラスしか設定できないのに必須オプションなので、付けないと動きません。
max length
データベース配列、入力配列ともにツールに設定された最大サイズを超える配列は処理しません。オプション値で設定できますが USEARCH にはありません。ログに出力されるので、そこで確認ができます。(バージョンによって異なる可能性があるので、試した際に確認した数値は割愛します)