参照してください: https://github.com/DominikBuchner/BOLDigger3
www.boldsystems.org の COI データベースに対して .fasta ファイルをクエリするさらに優れた Python プログラム
DNA メタバーコーディング データセットは多くの場合、数百の操作分類単位 (OTU) で構成されており、分類学的割り当てのためにデータベースに対してクエリを実行する必要があります。 Barcode of Life Data システム (BOLD) は、生物学者の間でこの目的で広く使用されているデータベースです。ただし、BOLD のオンライン プラットフォームでは、ユーザーが一度に識別できる配列のバッチは 50 配列に制限されています。さらに、BOLD の API を使用しても、プライベート データや初期リリース データへのアクセスが提供されないため、この問題は完全には解決されません。
BOLDigger の後継である BOLDigger2 は、これらの制限を克服することを目的としています。純粋な Python プログラムとして、BOLDigger2 は以下を提供します。
これらの機能を活用することで、BOLDigger2 は OTU 識別プロセスを合理化し、より効率的かつ包括的なものにします。
identify
を使用します。これにより、パイプラインへの直接実装が可能になります。identify
関数は、識別される FASTA ファイルへのパスという 1 つの引数のみを受け入れます。すべての結果が同じフォルダーに保存されます。BOLDigger2 には Python バージョン 3.10 以降が必要ですが、コマンド ラインで pip を使用して簡単にインストールできます。
pip install boldigger2
このコマンドは、BOLDigger2 とそのすべての依存関係をインストールします。
識別機能を実行するには、次のコマンドを使用します。
boldigger2 identify PATH_TO_FASTA
バイオインフォマティクス パイプラインの識別機能を自動化するために、BOLD 認証情報をオプションの引数として直接渡すこともできます。
boldigger2 identify PATH_TO_FASTA -username USERNAME -password PASSWORD
ユーザー固有のニーズに合わせて実装されたしきい値をカスタマイズするには、しきい値を追加の (順序付き) 引数として渡すことができます。異なる分類レベル (種、属、科、目、綱) に対して、最大 5 つの異なるしきい値を渡すことができます。通過しなかったしきい値はデフォルトで置き換えられますが、BOLDigger2 はこれについても通知します。
boldigger2 identify PATH_TO_FASTA -thresholds 99 97
出力:
19:16:16: Default thresholds changed!
19:16:16: Species: 99, Genus: 97, Family: 90, Order: 85, Class: 50
19:16:16: Trying to log in.
BOLD username:
BOLDigger2 はユーザー名とパスワードの入力を要求し、識別を実行します。
新しいバージョンがリリースされたら、次のように入力して BOLDigger2 を更新できます。
pip install --upgrade boldigger2
Buchner D、Leese F (2020) BOLDigger – Barcode of Life Data システムを使用してシーケンスを識別および整理するための Python パッケージ。メタバーコーディングとメタゲノミクス 4: e53535。 https://doi.org/10.3897/mbmg.4.53535
BOLDigger2 アルゴリズムは次のフローチャートに従って動作します。
太字にログインします:
種レベルのバーコードのダウンロード リンクを生成します。
トップ 100 ヒットをダウンロード:
"top_100_hits_unsorted"
を使用して HDF ストレージに保存します。種レベルのヒットがない配列を特定する:
すべてのレコードのダウンロード リンクを生成します。
すべてのレコードのトップ 100 ヒットをダウンロード:
"top_100_hits_unsorted"
を使用して HDF ストレージに保存します。トップヒットを並べ替えて保存:
"top_100_hits_sorted"
を使用して HDF ストレージに保存します。追加データを保存:
"top_100_hits_additional_data"
を使用して HDF ストレージに保存します。追加データを Excel にエクスポート:
トップヒットを計算して保存する:
identification_result.xlsx
) と Parquet 形式 ( identification_result.parquet.snappy
) の両方で保存します。分類レベルのさまざまなしきい値 (97%: 種レベル、95%: 属レベル、90%: 科レベル、85%: 目レベル、<85% および >= 50: 分類レベル) を使用して、最適なヒットを見つけます。 。すべてのヒットのしきい値を決定した後、しきい値を超える最も一般的なヒットが選択されます。しきい値を下回るすべてのヒットについては、分類学的解像度がそれに応じて調整されることに注意してください (たとえば、96% のヒットの場合、種レベルの情報は破棄され、属レベルの情報が最低分類レベルとして使用されます)。
BOLDigger2 アルゴリズムは次のように機能します。
最大類似度の特定: 現在検討中の上位 100 ヒットの中から最大類似度値を見つけます。
しきい値の設定: しきい値をこの最大類似度レベルに設定します。このしきい値を下回る類似性を持つすべてのヒットを削除します。たとえば、最も高いヒットの類似性が 100% の場合、しきい値は 97% に設定され、このしきい値を下回るヒットはすべて一時的に削除されます。
分類と並べ替え: 個々の分類をすべて数えて、量の多い順に並べ替えます。
欠損データをフィルターする: 欠損データを含むすべての分類を削除します。たとえば、最も一般的なヒットが「節足動物 --> 昆虫綱」で、類似度は 100% ですが、目、科、属、種の値が欠落しているとします。
共通ヒットの特定: 欠損値がない最も一般的なヒットを探します。
Return Hit : 欠損値のないヒットが見つかった場合は、そのヒットを返します。
しきい値の調整: 欠損値のないヒットが見つからない場合は、しきい値を次の高いレベルに上げ、ヒットが見つかるまでプロセスを繰り返します。
BOLDigger2 は、特定の条件を強調表示するフラグ システムを採用し、選択されたヒットの不確実性の程度を示します。現在、5 つのフラグが実装されており、必要に応じて更新される可能性があります。
逆 BIN 分類: このフラグは、選択した一致を表す上位 100 ヒットのすべてが逆 BIN 分類を使用する場合に発生します。逆 BIN 分類法では、種情報が不足している BOLD に登録された配列に種名が割り当てられるため、不確実性が生じる可能性があります。
異なる分類情報: 選択したしきい値を超える異なる分類情報を持つエントリが 2 つ以上ある場合 (例: 97% を超える 2 種)、このフラグがトリガーされ、不一致の可能性が示唆されます。
プライベートまたは早期リリース データ: トップ ヒットを表す上位 100 ヒットがすべてプライベート ヒットまたは早期リリース ヒットである場合、このフラグが立てられ、データへのアクセスが制限されていることを示します。
Unique Hit : このフラグは、上位ヒットの結果が上位 100 ヒットの中で固有のヒットを表しており、さらなる精査が必要な可能性があることを示します。
複数の BIN : 選択した種レベルのヒットが複数の BIN で構成されている場合、このフラグが立てられ、分類学的割り当ての潜在的な複雑性が示唆されます。
これらのフラグが存在する場合、フラグが立てられたすべてのヒットを詳しく調べて、選択したヒットの不確実性をよりよく理解し、対処することをお勧めします。