請參閱:https://github.com/DominikBuchner/BOLDigger3
一個更好的 Python 程序,用於根據 www.boldsystems.org 的 COI 資料庫查詢 .fasta 文件
DNA 元條碼資料集通常包含數百個操作分類單元 (OTU),需要查詢資料庫以進行分類分配。生命資料條碼系統 (BOLD) 是生物學家廣泛使用的資料庫。然而,BOLD 的線上平台限制使用者一次只能識別 50 個序列的批次。此外,使用 BOLD 的 API 並不能完全解決這個問題,因為它不提供對私有和早期發布資料的存取。
BOLDigger2 是 BOLDigger 的後繼者,旨在克服這些限制。作為純 Python 程序,BOLDigger2 提供:
透過利用這些功能,BOLDigger2 簡化了 OTU 識別過程,使其更加高效和全面。
identify
,自動執行識別、附加資料下載和熱門命中的選擇。這使得能夠直接實施到管道中。identify
函數僅接受一個參數:要辨識的 FASTA 檔案的路徑。它將所有結果保存在同一資料夾中。BOLDigger2 需要 Python 3.10 或更高版本,並且可以在任何命令列中使用 pip 輕鬆安裝:
pip install boldigger2
此命令將安裝 BOLDigger2 及其所有相依性。
若要執行識別功能,請使用以下命令:
boldigger2 identify PATH_TO_FASTA
為了自動化生物資訊管道中的辨識功能,粗體憑證也可以直接作為可選參數傳遞
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 – 一個 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%,但缺少目、科、屬和物種的值。
識別常見命中:找出沒有缺失值最常見的命中。
傳回命中:如果找到沒有缺失值的命中,則傳回該命中。
閾值調整:如果沒有找到沒有缺失值的命中,則將閾值增加到下一個更高級別並重複該過程,直到找到命中。
BOLDigger2 採用標記系統來突顯某些條件,顯示所選命中的不確定性程度。目前,已實現五個標誌,可以根據需要進行更新:
反向 BIN 分類法:如果表示所選匹配的所有前 100 個命中都使用反向 BIN 分類法,則會引發此標誌。反向 BIN 分類法將物種名稱分配給 BOLD 上缺乏物種資訊的沉積序列,這可能會引入不確定性。
不同的分類資訊:如果有兩個或多個條目的不同分類資訊高於所選閾值(例如,兩個物種高於 97%),則會觸發此標誌,表明潛在的差異。
私人或早期發布資料:如果代表熱門點擊的所有前 100 個點擊都是私有或早期發布點擊,則將引發此標誌,表示對資料的存取有限。
唯一命中:此標誌指示最高命中結果代表前 100 個命中中的唯一命中,可能需要進一步審查。
多個 BIN :如果選定的物種級命中由多個 BIN 組成,則會升起此標誌,表明分類分配中存在潛在的複雜性。
鑑於這些標誌的存在,建議對所有標記的命中進行仔細檢查,以更好地理解和解決所選命中中的任何不確定性。