Einige Skripte zum Herunterladen von Bakterien- und Pilzgenomen vom NCBI, nachdem sie vor einiger Zeit ihr FTP umstrukturiert hatten.
Die Idee wurde schamlos aus Mick Watsons Kraken-Downloader-Skripten gestohlen, die auch in Micks GitHub-Repo zu finden sind. Allerdings sind Micks Skripte in Perl speziell für den eigentlichen Aufbau einer Kraken-Datenbank geschrieben (wie angekündigt).
Es handelt sich also um eine Reihe von Skripten, die sich auf das eigentliche Herunterladen des Genoms konzentrieren.
pip install ncbi-genome-download
Alternativ können Sie dieses Repository von GitHub klonen und dann ausführen (in einer virtuellen Python-Umgebung).
pip install .
Wenn dies bei älteren Python-Versionen fehlschlägt, versuchen Sie zunächst, Ihr pip
Tool zu aktualisieren:
pip install --upgrade pip
und führen Sie dann die Installation ncbi-genome-download
erneut aus.
Alternativ ist ncbi-genome-download
in conda
gepackt. Besuchen Sie die Anaconda/Miniconda-Site, um eine Distribution zu installieren (dringend empfohlen). Wenn das installiert ist, kann man Folgendes tun:
conda install -c bioconda ncbi-genome-download
ncbi-genome-download
wird nur auf Python-Versionen entwickelt und getestet, die noch aktiv vom Python-Projekt unterstützt werden. Im Moment sind das die Versionen 3.7, 3.8, 3.9, 3.10 und 3.11. Insbesondere wird kein Testversuch unter Python-Versionen durchgeführt, die älter als 3.7 sind.
Wenn Ihr System auf einer älteren Version von Python hängen bleibt, sollten Sie die Verwendung eines Tools wie Homebrew in Betracht ziehen, um eine aktuellere Version zu erhalten.
ncbi-genome-download
0.2.12 war die letzte Version, die Python 2 unterstützte.
Um alle bakteriellen RefSeq-Genome im GenBank-Format von NCBI herunterzuladen, führen Sie Folgendes aus:
NCBI-Genom-Download-Bakterien
Auch das Herunterladen mehrerer Gruppen ist möglich:
ncbi-genome-download Bakterien, Viren
Hinweis : Um alle verfügbaren Gruppen anzuzeigen, lesen Sie ncbi-genome-download --help
oder verwenden Sie einfach all
, um alle Gruppen zu überprüfen. Wenn Sie eine spezifischere Gruppe benennen, verringert sich die Downloadgröße und die Zeit, die zum Auffinden der herunterzuladenden Sequenzen benötigt wird.
Wenn Sie über eine einigermaßen schnelle Verbindung verfügen, können Sie versuchen, mehrere Downloads parallel auszuführen:
ncbi-genome-download Bakterien --parallel 4
Um alle GenBank-Genome von NCBI im GenBank-Format herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download – Abschnitt Genbank-Pilze
Um alle viralen RefSeq-Genome im FASTA-Format herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --formats fasta viral
Es ist möglich, mehrere Formate herunterzuladen, indem Sie eine Liste der Formate bereitstellen oder einfach alle Formate herunterladen:
ncbi-genome-download --formats fasta,assembly-report viral ncbi-genome-download – formatiert alles viral
Um nur abgeschlossene bakterielle RefSeq-Genome im GenBank-Format herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --assembly-levels vollständige Bakterien
Es ist möglich, mehrere Baugruppenebenen gleichzeitig herunterzuladen, indem Sie eine Liste bereitstellen:
ncbi-genome-download --assembly-levels abgeschlossen, Chromosomenbakterien
Um nur bakterielle Referenzgenome von RefSeq im GenBank-Format herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --refseq-categories Referenzbakterien
Um bakterielle RefSeq-Genome der Gattung Streptomyces herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --genera Streptomyces-Bakterien
Hinweis : Dies ist eine einfache Zeichenfolgenübereinstimmung mit dem Namen des Organismus, der nur von NCBI bereitgestellt wird.
Mit einem kleinen Trick können Sie dies auch nutzen, um Genome einer bestimmten Art herunterzuladen:
ncbi-genome-download --genera „Streptomyces coelicolor“-Bakterien
Hinweis : Die Anführungszeichen sind wichtig. Auch hier handelt es sich um eine einfache Zeichenfolgenübereinstimmung mit dem vom NCBI bereitgestellten Organismusnamen.
Auch mehrere Gattungen sind möglich:
ncbi-genome-download --Genera „Streptomyces coelicolor,Escherichia coli“-Bakterien
Sie können auch Gattungsnamen in eine Datei eingeben, einen Organismus pro Zeile, z. B.:
Streptomyces Amycolatopsis
Übergeben Sie dann den Pfad zu dieser Datei (z. B. my_genera.txt
) an die Option --genera
, etwa so:
ncbi-genome-download --genera my_genera.txt Bakterien
Hinweis : Der obige Befehl lädt alle Streptomyces- und Amycolatopsis- Genome von RefSeq herunter.
Mit der Option --fuzzy-genus
können Sie die Zeichenfolgenübereinstimmung unscharf machen. Dies kann nützlich sein, wenn Sie einen Wert in der Mitte des NCBI-Organismusnamens finden müssen, etwa so:
ncbi-genome-download --genera coelicolor --fuzzy-genus Bakterien
Hinweis : Der obige Befehl lädt alle Bakteriengenome, die „coelicolor“ an einer beliebigen Stelle in ihrem Organismusnamen enthalten, aus RefSeq herunter.
Um bakterielle RefSeq-Genome basierend auf ihrer NCBI-Arten-Taxonomie-ID herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --species-taxids 562 Bakterien
Hinweis : Der obige Befehl lädt alle RefSeq-Genome herunter, die zu Escherichia coli gehören.
Um ein bestimmtes bakterielles RefSeq-Genom basierend auf seiner NCBI-Taxonomie-ID herunterzuladen, führen Sie Folgendes aus:
ncbi-genome-download --taxids 511145 Bakterien
Hinweis : Mit dem obigen Befehl wird das RefSeq-Genom von Escherichia coli str heruntergeladen. K-12 Unterstr. MG1655 .
Es ist auch möglich, mehrere Arten von Taxiden oder Taxiden herunterzuladen, indem Sie die Nummern in einer durch Kommas getrennten Liste angeben:
ncbi-genome-download --taxids 9606,9685 --assembly-level chromosome wirbeltier_mammalian
Hinweis : Der obige Befehl lädt die Referenzgenome für Katze und Mensch herunter.
Darüber hinaus können Sie mehrere Artentaxis oder Taxids in eine Datei einfügen, eine pro Zeile, und diesen Dateinamen an die Parameter --species-taxids
bzw. --taxids
übergeben.
Angenommen, Sie hätten eine Datei my_taxids.txt
mit folgendem Inhalt:
9606
9685
Sie können die Referenzgenome für Katze und Mensch wie folgt herunterladen:
ncbi-genome-download --taxids my_taxids.txt --assembly-levels chromosom wirbeltier_mammalian
Es ist möglich, parallel zur Spiegelung des von NCBI verwendeten Layouts auch eine für Menschen lesbare Verzeichnisstruktur zu erstellen:
ncbi-genome-download – für Menschen lesbare Bakterien
Dabei werden Links verwendet, die auf die entsprechenden Dateien in der NCBI-Verzeichnisstruktur verweisen, wodurch Dateiplatz gespart wird. Beachten Sie, dass Links auf einigen Windows-Dateisystemen und einigen älteren Windows-Versionen nicht unterstützt werden.
Es ist auch möglich, einen vorherigen Download mit der Option --human-readable
erneut auszuführen. In diesem Fall lädt ncbi-genome-download
keine neuen Genomdateien herunter und erstellt lediglich eine für Menschen lesbare Verzeichnisstruktur. Beachten Sie, dass ein Dateidownload ausgelöst wird, wenn Dateien auf der NCBI-Seite geändert wurden.
Es gibt eine „Probelauf“-Option, um anzuzeigen, welche Erweiterungen aufgrund Ihrer Filter heruntergeladen werden würden:
ncbi-genome-download – Trockenlaufbakterien
Wenn Sie nach der Spalte „Beziehung zum Typmaterial“ der Baugruppenzusammenfassungsdatei filtern möchten, können Sie die Option --type-materials
verwenden. Mögliche Werte sind „any“, „all“, „type“, „reference“, „synonym“, „proxytype“ und/oder „neotype“. „Any“ schließt Baugruppen ohne definierten Bezug zum Typmaterialwert ein, „All“ lädt nur Baugruppen mit einem definierten Wert herunter. Es können mehrere Werte angegeben werden, getrennt durch Komma:
ncbi-genome-download --type-materials Typ, Referenz
Standardmäßig speichert ncbi-genome-download die Assembly-Zusammenfassungsdateien für die jeweiligen taxonomischen Gruppen einen Tag lang im Cache. Sie können die Verwendung der Cache-Datei überspringen, indem Sie die Option --no-cache
verwenden. Die Ausgabe von --help
zeigt auch das Cache-Verzeichnis an, falls Sie eine der zwischengespeicherten Dateien entfernen möchten.
Um einen Überblick über alle Optionen zu erhalten, führen Sie aus
ncbi-genome-download --help
Sie können es auch als Methodenaufruf verwenden:
ncbi_genome_download als ngdngd.download() importieren
Übergeben Sie die pythonisierten Schlüsselwortargumente wie oben oder im --help
beschrieben. Um taxonomische Gruppen wie Bakterien anzugeben, verwenden Sie das Schlüsselwort groups
. Um Dateiformate anzugeben, wie für die CLI-Option --format
, verwenden Sie file_formats
. Alle anderen Schlüsselwörter sollten mit den CLI-Optionen übereinstimmen, wobei -
in _
konvertiert wird. Beachten Sie, dass Listendaten weiterhin als Zeichenfolgen übergeben werden sollten, getrennt durch ein Komma, aber ohne Leerzeichen, genau wie in der Befehlszeile, da der Methodenaufruf der gleichen Logik wie die CLI folgt.
gimme_taxa.py
Mit diesem Skript können Sie herausfinden, welche TaxIDs an ngd
übergeben werden müssen, und eine einfache Datei mit einem Element pro Zeile schreiben, die an ngd übergeben werden soll. Es nutzt das ete3
Toolkit. Besuchen Sie daher die Website, um die Abhängigkeit zu installieren, falls diese noch nicht erfüllt ist.
Sie können die Datenbank mit einer bestimmten TaxID oder einem wissenschaftlichen Namen abfragen. Die Hauptfunktion des Skripts besteht darin, alle untergeordneten Taxa der angegebenen übergeordneten Taxa zurückzugeben. Das Skript verfügt über verschiedene Optionen, welche Informationen in die Ausgabe geschrieben werden.
Ein einfacher Aufruf könnte wie folgt aussehen:
# Alle Nachkommentaxa für Escherichia abrufen (Taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# Alternativ geben Sie einfach den Taxonnamen anpython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# Sie können mehrere Taxids und/oder angeben Namenspython gimme_taxa.py -o all_descendent_taxids.txt 561,Methanobrevibacter
Bei der ersten Verwendung wird standardmäßig eine kleine SQLite-Datenbank in Ihrem Home-Verzeichnis erstellt (ändern Sie den Speicherort mit dem Flag --database
). Sie können diese Datenbank aktualisieren, indem Sie das Flag --update
verwenden. Beachten Sie: Wenn sich die Datenbank nicht in Ihrem Home-Verzeichnis befindet, müssen Sie sie mit --database
angeben, sonst wird eine neue Datenbank in Ihrem Home-Verzeichnis erstellt.
So sehen Sie alle Hilfe:
Python gimme_taxa.py Python gimme_taxa.py -h Python gimme_taxa.py --help
Um das Skript gimme_taxa.py
mit der Option --taxids
von ncbi-genome-download
zu verwenden, müssen Sie gimme_taxa.py
mit der Option -j
aufrufen, etwa so:
gimme_taxa.py -j -o my_taxids.txt Escherichia ncbi-genome-download --taxids my_taxids.txt Bakterien
ncbi-genome-download
Sie können ncbi-genome-download
über die Zenodo-Hinterlegung unter DOI: 10.5281/zenodo.8192432 oder dem spezifischen DOI für die von Ihnen verwendete Version zitieren.
Der gesamte Code ist unter der Apache-Lizenz Version 2 verfügbar. Weitere Informationen finden Sie in der LICENSE
Datei.