Bitte sehen Sie: https://github.com/DominikBuchner/BOLDigger3
Ein noch besseres Python-Programm zum Abfragen von .fasta-Dateien anhand der COI-Datenbank von www.boldsystems.org
DNA-Metabarcoding-Datensätze umfassen oft Hunderte von operativen taxonomischen Einheiten (OTUs), die eine Abfrage von Datenbanken zur taxonomischen Zuordnung erfordern. Das Barcode of Life Data System (BOLD) ist eine unter Biologen weit verbreitete Datenbank für diesen Zweck. Allerdings beschränkt die Online-Plattform von BOLD die Benutzer darauf, Chargen von jeweils nur 50 Sequenzen zu identifizieren. Darüber hinaus wird dieses Problem durch die Verwendung der BOLD-API nicht vollständig behoben, da sie keinen Zugriff auf private und früh veröffentlichte Daten ermöglicht.
BOLDigger2, der Nachfolger von BOLDigger, zielt darauf ab, diese Einschränkungen zu überwinden. Als reines Python-Programm bietet BOLDigger2:
Durch die Nutzung dieser Funktionen optimiert BOLDigger2 den Prozess der OTU-Identifizierung und macht ihn effizienter und umfassender.
identify
, die automatisch die Identifizierung, das Herunterladen zusätzlicher Daten und die Auswahl des Top-Treffers durchführt. Dies ermöglicht eine direkte Implementierung in Pipelines.identify
in BOLDigger2 akzeptiert nur ein einziges Argument: den Pfad zur zu identifizierenden FASTA-Datei. Alle Ergebnisse werden im selben Ordner gespeichert.BOLDigger2 erfordert Python Version 3.10 oder höher und kann einfach mit pip in jeder Befehlszeile installiert werden:
pip install boldigger2
Dieser Befehl installiert BOLDigger2 zusammen mit allen seinen Abhängigkeiten.
Um die Funktion „Identifizieren“ auszuführen, verwenden Sie den folgenden Befehl:
boldigger2 identify PATH_TO_FASTA
Um die Identifizierungsfunktion in bioinformatischen Pipelines zu automatisieren, können die BOLD-Anmeldeinformationen auch direkt als optionale Argumente übergeben werden
boldigger2 identify PATH_TO_FASTA -username USERNAME -password PASSWORD
Um die implementierten Schwellenwerte an benutzerspezifische Bedürfnisse anzupassen, können die Schwellenwerte als zusätzliches (geordnetes) Argument übergeben werden. Für die verschiedenen taxonomischen Ebenen (Art, Gattung, Familie, Ordnung, Klasse) können bis zu 5 verschiedene Schwellenwerte überschritten werden. Nicht überschrittene Schwellenwerte werden standardmäßig ersetzt, BOLDigger2 informiert Sie jedoch auch darüber.
boldigger2 identify PATH_TO_FASTA -thresholds 99 97
Ausgabe:
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 fordert Sie zur Eingabe Ihres Benutzernamens und Passworts auf und führt dann die Identifizierung durch.
Wenn eine neue Version veröffentlicht wird, können Sie BOLDigger2 aktualisieren, indem Sie Folgendes eingeben:
pip install --upgrade boldigger2
Buchner D, Leese F (2020) BOLDigger – ein Python-Paket zum Identifizieren und Organisieren von Sequenzen mit den Barcode of Life-Datensystemen. Metabarcoding und Metagenomik 4: e53535. https://doi.org/10.3897/mbmg.4.53535
Der BOLDigger2-Algorithmus arbeitet nach dem folgenden Flussdiagramm:
Melden Sie sich bei BOLD an:
Generieren Sie Download-Links für Barcodes auf Artenebene:
Top 100 Hits herunterladen:
"top_100_hits_unsorted"
in einem HDF-Speicher.Identifizieren Sie Sequenzen ohne Treffer auf Artenebene:
Download-Links für alle Datensätze generieren:
Laden Sie die Top 100 Hits für alle Rekorde herunter:
"top_100_hits_unsorted"
in einem HDF-Speicher.Top-Hits sortieren und speichern:
"top_100_hits_sorted"
.Zusätzliche Daten speichern:
"top_100_hits_additional_data"
im HDF-Speicher.Zusätzliche Daten nach Excel exportieren:
Top-Hits berechnen und speichern:
identification_result.xlsx
) als auch im Parquet-Format ( identification_result.parquet.snappy
) für eine schnelle Weiterverarbeitung.Verschiedene Schwellenwerte (97 %: Artenebene, 95 %: Gattungsebene, 90 %: Familienebene, 85 %: Ordnungsebene, <85 % und >= 50: Klassenebene) für die taxonomischen Ebenen werden verwendet, um den am besten passenden Treffer zu finden . Nachdem der Schwellenwert für alle Treffer ermittelt wurde, wird der häufigste Treffer oberhalb des Schwellenwerts ausgewählt. Beachten Sie, dass für alle Treffer unterhalb des Schwellenwerts die taxonomische Auflösung entsprechend angepasst wird (z. B. werden bei einem Treffer von 96 % die Informationen auf Artenebene verworfen und Informationen auf Gattungsebene als niedrigste taxonomische Ebene verwendet).
Der BOLDigger2-Algorithmus funktioniert wie folgt:
Identifizieren Sie die maximale Ähnlichkeit : Finden Sie den maximalen Ähnlichkeitswert unter den 100 derzeit berücksichtigten Top-Treffern.
Schwellenwert festlegen : Legen Sie den Schwellenwert auf diesen maximalen Ähnlichkeitsgrad fest. Entfernen Sie alle Treffer mit einer Ähnlichkeit unterhalb dieses Schwellenwerts. Wenn der höchste Treffer beispielsweise eine Ähnlichkeit von 100 % aufweist, wird der Schwellenwert auf 97 % festgelegt und alle Treffer unterhalb dieses Schwellenwerts werden vorübergehend entfernt.
Klassifizierung und Sortierung : Zählen Sie alle einzelnen Klassifizierungen und sortieren Sie sie nach Häufigkeit.
Fehlende Daten filtern : Löschen Sie alle Klassifizierungen, die fehlende Daten enthalten. Wenn der häufigste Treffer beispielsweise „Arthropoda -> Insecta“ mit einer Ähnlichkeit von 100 % ist, aber Werte für Ordnung, Familie, Gattung und Art fehlen.
Identifizieren Sie häufige Treffer : Suchen Sie nach dem häufigsten Treffer, bei dem keine Werte fehlen.
Treffer zurückgeben : Wenn ein Treffer ohne fehlende Werte gefunden wird, wird dieser Treffer zurückgegeben.
Schwellenwertanpassung : Wenn kein Treffer ohne fehlende Werte gefunden wird, erhöhen Sie den Schwellenwert auf die nächsthöhere Stufe und wiederholen Sie den Vorgang, bis ein Treffer gefunden wird.
BOLDigger2 verwendet ein Markierungssystem, um bestimmte Bedingungen hervorzuheben und einen Grad der Unsicherheit beim ausgewählten Treffer anzuzeigen. Derzeit sind fünf Flags implementiert, die bei Bedarf aktualisiert werden können:
Umgekehrte BIN-Taxonomie : Dieses Flag wird gesetzt, wenn alle Top-100-Treffer, die die ausgewählte Übereinstimmung repräsentieren, die umgekehrte BIN-Taxonomie verwenden. Die umgekehrte BIN-Taxonomie weist auf BOLD hinterlegten Sequenzen, denen Arteninformationen fehlen, Artennamen zu, was möglicherweise zu Unsicherheit führt.
Unterschiedliche taxonomische Informationen : Wenn es zwei oder mehr Einträge mit unterschiedlichen taxonomischen Informationen über dem ausgewählten Schwellenwert gibt (z. B. zwei Arten über 97 %), wird diese Markierung ausgelöst, was auf mögliche Diskrepanzen hinweist.
Private oder frühzeitig veröffentlichte Daten : Wenn alle Top-100-Treffer, die den Top-Treffer darstellen, private oder vorzeitig veröffentlichte Treffer sind, wird dieses Flag gesetzt, was auf einen eingeschränkten Zugriff auf Daten hinweist.
Einzigartiger Treffer : Dieses Flag zeigt an, dass das Top-Treffer-Ergebnis einen einzigartigen Treffer unter den Top-100-Treffern darstellt, der möglicherweise einer weiteren Prüfung bedarf.
Mehrere BINs : Wenn der ausgewählte Treffer auf Artenebene aus mehr als einer BIN besteht, wird diese Markierung gesetzt, was auf mögliche Komplexitäten bei der taxonomischen Zuordnung hindeutet.
Angesichts des Vorhandenseins dieser Flags ist es ratsam, eine genauere Untersuchung aller markierten Treffer durchzuführen, um etwaige Unsicherheiten im ausgewählten Treffer besser zu verstehen und zu beheben.