Beberapa skrip untuk mendownload genom bakteri dan jamur dari NCBI setelah mereka merestrukturisasi FTP-nya beberapa waktu lalu.
Ide dicuri tanpa malu-malu dari skrip pengunduh Kraken milik Mick Watson yang juga dapat ditemukan di repo GitHub milik Mick. Namun, skrip Mick ditulis dalam Perl khusus untuk membangun database Kraken (seperti yang diiklankan).
Jadi ini adalah serangkaian skrip yang berfokus pada pengunduhan genom sebenarnya.
pip instal ncbi-genome-download
Alternatifnya, kloning repositori ini dari GitHub, lalu jalankan (dalam lingkungan virtual python)
pemasangan pip.
Jika ini gagal pada versi Python yang lebih lama, coba perbarui alat pip
Anda terlebih dahulu:
instalasi pip --upgrade pip
dan kemudian jalankan kembali instalasi ncbi-genome-download
.
Alternatifnya, ncbi-genome-download
dikemas dalam conda
. Rujuk situs Anaconda/miniconda untuk menginstal distribusi (sangat disarankan). Dengan menginstalnya, seseorang dapat melakukan:
conda install -c bioconda ncbi-genome-download
ncbi-genome-download
hanya dikembangkan dan diuji pada rilis Python yang masih dalam dukungan aktif oleh proyek Python. Saat ini, ini berarti versi 3.7, 3.8, 3.9, 3.10 dan 3.11. Secara khusus, tidak ada upaya pengujian dengan versi Python yang lebih lama dari 3.7.
Jika sistem Anda macet pada versi Python yang lebih lama, pertimbangkan untuk menggunakan alat seperti Homebrew untuk mendapatkan versi yang lebih mutakhir.
ncbi-genome-download
0.2.12 adalah versi terakhir yang mendukung Python 2.
Untuk mengunduh semua genom bakteri RefSeq dalam format GenBank dari NCBI, jalankan perintah berikut:
bakteri pengunduhan genom ncbi
Mengunduh beberapa grup juga dimungkinkan:
bakteri pengunduhan genom ncbi, virus
Catatan : Untuk melihat semua grup yang tersedia, lihat ncbi-genome-download --help
, atau cukup gunakan all
untuk memeriksa semua grup. Memberi nama pada grup yang lebih spesifik akan mengurangi ukuran download dan waktu yang dibutuhkan untuk menemukan urutan yang akan diunduh.
Jika koneksi Anda cukup cepat, Anda mungkin ingin mencoba menjalankan beberapa unduhan secara paralel:
bakteria ncbi-genome-download --parallel 4
Untuk mengunduh semua genom jamur GenBank dari NCBI dalam format GenBank, jalankan:
ncbi-genome-download --bagian genbank jamur
Untuk mengunduh semua genom virus RefSeq dalam format FASTA, jalankan:
ncbi-genome-download --format cepat viral
Anda dapat mengunduh berbagai format dengan menyediakan daftar format atau cukup mengunduh semua format:
ncbi-genome-download --format cepat, laporan perakitan viral ncbi-genome-download --format semua viral
Untuk mengunduh hanya genom bakteri RefSeq yang telah selesai dalam format GenBank, jalankan:
ncbi-genome-download --assembly-level bakteri lengkap
Dimungkinkan untuk mengunduh beberapa level perakitan sekaligus dengan menyediakan daftar:
ncbi-genome-download --level perakitan selesai, bakteri kromosom
Untuk mengunduh hanya genom referensi bakteri dari RefSeq dalam format GenBank, jalankan:
ncbi-genome-download --refseq-categories bakteri referensi
Untuk mengunduh genom bakteri RefSeq dari genus Streptomyces , jalankan:
ncbi-genome-download --genera bakteri Streptomyces
Catatan : Ini adalah pencocokan string sederhana pada nama organisme yang disediakan oleh NCBI saja.
Anda juga dapat menggunakan ini dengan sedikit trik untuk mengunduh genom spesies tertentu:
ncbi-genome-download --genera bakteri "Streptomyces coelicolor".
Catatan : Kutipan itu penting. Sekali lagi, ini adalah pencocokan string sederhana pada nama organisme yang disediakan oleh NCBI.
Beberapa genera juga dimungkinkan:
ncbi-genome-download --genera bakteri "Streptomyces coelicolor,Escherichia coli"
Anda juga dapat memasukkan nama genus ke dalam file, satu organisme per baris, misalnya:
Streptomyces Amicolatopsis
Lalu, teruskan path ke file tersebut (misalnya my_genera.txt
) ke opsi --genera
, seperti:
ncbi-genome-download --genera my_genera.txt bakteri
Catatan : Perintah di atas akan mengunduh semua genom Streptomyces dan Amycolatopsis dari RefSeq.
Anda dapat membuat pencocokan string menjadi fuzzy menggunakan opsi --fuzzy-genus
. Ini berguna jika Anda perlu mencocokkan nilai di tengah nama organisme NCBI, seperti:
ncbi-genome-download --genera coelicolor --genus fuzzy bakteri
Catatan : Perintah di atas akan mengunduh semua genom bakteri yang mengandung "coelicolor" di mana pun dalam nama organismenya dari RefSeq.
Untuk mengunduh genom bakteri RefSeq berdasarkan ID taksonomi spesies NCBI, jalankan:
ncbi-genome-download --species-taxids 562 bakteri
Catatan : Perintah di atas akan mengunduh semua genom RefSeq milik Escherichia coli .
Untuk mengunduh genom RefSeq bakteri tertentu berdasarkan ID taksonomi NCBI-nya, jalankan:
ncbi-genome-download --taxids 511145 bakteri
Catatan : Perintah di atas akan mengunduh genom RefSeq milik Escherichia coli str. Substr.K-12. MG1655 .
Dimungkinkan juga untuk mengunduh beberapa spesies taksi atau taksi dengan memberikan nomor dalam daftar yang dipisahkan koma:
ncbi-genome-download --taxids 9606,9685 --tingkat perakitan kromosom vertebrata_mamalian
Catatan : Perintah di atas akan mengunduh genom referensi untuk kucing dan manusia.
Selain itu, Anda dapat memasukkan beberapa spesies taxids atau taxids ke dalam sebuah file, satu per baris dan meneruskan nama file tersebut ke parameter --species-taxids
atau --taxids
.
Dengan asumsi Anda memiliki file my_taxids.txt
dengan konten berikut:
9606
9685
Anda dapat mendownload referensi genom kucing dan manusia seperti ini:
ncbi-genome-download --taxids my_taxids.txt --tingkat perakitan kromosom vertebrata_mamalian
Dimungkinkan juga untuk membuat struktur direktori yang dapat dibaca manusia secara paralel dengan mencerminkan tata letak yang digunakan oleh NCBI:
ncbi-genome-download --bakteri yang dapat dibaca manusia
Ini akan menggunakan link untuk menunjuk ke file yang sesuai dalam struktur direktori NCBI, sehingga menghemat ruang file. Perhatikan bahwa tautan tidak didukung pada beberapa sistem file Windows dan beberapa versi Windows yang lebih lama.
Dimungkinkan juga untuk menjalankan kembali unduhan sebelumnya dengan opsi --human-readable
. Dalam hal ini, ncbi-genome-download
tidak akan mengunduh file genom baru apa pun, dan hanya membuat struktur direktori yang dapat dibaca manusia. Perhatikan bahwa jika ada file yang diubah di sisi NCBI, pengunduhan file akan dipicu.
Ada opsi "dry-run" untuk menunjukkan aksesi mana yang akan diunduh, berdasarkan filter Anda:
ncbi-genome-download --bakteri kering
Jika Anda ingin memfilter kolom "hubungan dengan jenis material" pada file ringkasan perakitan, Anda dapat menggunakan opsi --type-materials
. Nilai yang mungkin adalah "any", "all", "type", "reference", "synonym", "proxytype", dan/atau "neotype". "apa pun" akan menyertakan rakitan yang tidak ada kaitannya dengan jenis nilai material yang ditentukan, "semua" hanya akan mengunduh rakitan dengan nilai yang ditentukan. Beberapa nilai dapat diberikan, dipisahkan dengan koma:
ncbi-genome-download --type-jenis bahan, referensi
Secara default, ncbi-genome-download menyimpan file ringkasan perakitan untuk masing-masing kelompok taksonomi selama satu hari. Anda dapat melewati penggunaan file cache dengan menggunakan opsi --no-cache
. Output dari --help
juga menunjukkan direktori cache, jika Anda ingin menghapus file cache mana pun.
Untuk mendapatkan ikhtisar semua opsi, jalankan
ncbi-genome-download --membantu
Anda juga dapat menggunakannya sebagai pemanggilan metode:
impor ncbi_genome_download sebagai ngdngd.download()
Berikan argumen kata kunci yang di-python seperti dijelaskan di atas atau di --help
. Untuk menentukan kelompok taksonomi, seperti bakteri , gunakan kata kunci groups
. Untuk menentukan format file, seperti opsi --format
CLI, gunakan file_formats
. Semua kata kunci lainnya harus cocok dengan opsi CLI, dengan -
dikonversi ke _
. Perhatikan bahwa karena pemanggilan metode mengikuti logika yang sama seperti CLI, data daftar tetap harus diteruskan sebagai string, dipisahkan dengan koma tetapi tanpa spasi, seperti pada baris perintah.
gimme_taxa.py
Skrip ini memungkinkan Anda mengetahui TaxID apa yang akan diteruskan ke ngd
, dan akan menulis file sederhana satu item per baris untuk diteruskan ke sana. Ini menggunakan toolkit ete3
, jadi rujuk ke situs mereka untuk menginstal ketergantungan jika belum puas.
Anda dapat menanyakan database menggunakan TaxID tertentu, atau nama ilmiah. Fungsi utama skrip ini adalah mengembalikan semua taksa anak dari taksa induk yang ditentukan. Skrip memiliki berbagai pilihan untuk informasi apa yang ditulis dalam output.
Doa dasar mungkin terlihat seperti:
# Ambil semua taksa keturunan untuk Escherichia (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# Alternatifnya, berikan saja takson namepython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# Anda dapat memberikan beberapa taksi dan/atau namapython gimme_taxa.py -o all_descendent_taxids.txt 561,Methanobrevibacter
Pada penggunaan pertama, database sqlite kecil akan dibuat di direktori home Anda secara default (ubah lokasi dengan flag --database
). Anda dapat memperbarui database ini dengan menggunakan tanda --update
. Perhatikan bahwa jika database tidak ada di direktori home Anda, Anda harus menentukannya dengan --database
atau database baru akan dibuat di direktori home Anda.
Untuk melihat semua bantuan:
python gimme_taxa.py python gimme_taxa.py -h python gimme_taxa.py --membantu
Untuk menggunakan skrip gimme_taxa.py
dengan opsi --taxids
ncbi-genome-download
, Anda perlu memanggil gimme_taxa.py
dengan opsi -j
, seperti ini:
gimme_taxa.py -j -o my_taxids.txt Escherichia ncbi-genome-download --taxids my_taxids.txt bakteri
ncbi-genome-download
Anda dapat mengutip ncbi-genome-download
melalui deposit Zenodo di bawah DOI: 10.5281/zenodo.8192432 atau DOI khusus untuk versi yang Anda gunakan.
Semua kode tersedia di bawah Lisensi Apache versi 2, lihat file LICENSE
untuk detailnya.