Tujuan dari proyek ini adalah untuk menciptakan alternatif terhadap alat USEARCH yang dikembangkan oleh Robert C. Edgar (2010). Alat baru ini harus:
Kami telah menerapkan alat yang disebut VSEARCH yang mendukung deteksi chimera berbasis de novo dan referensi, pengelompokan, dereplikasi full-length dan awalan, rereplikasi, komplemen balik, masking, penyelarasan global berpasangan semua vs semua, pencarian penyelarasan tepat dan global, pengocokan, subsampling dan penyortiran. Ini juga mendukung analisis file FASTQ, pemfilteran, konversi, dan penggabungan pembacaan berpasangan.
VSEARCH adalah singkatan dari pencarian vektor, karena alat ini memanfaatkan paralelisme dalam bentuk vektorisasi SIMD serta beberapa thread untuk melakukan penyelarasan akurat dengan kecepatan tinggi. VSEARCH menggunakan global aligner yang optimal (pemrograman dinamis penuh Needleman-Wunsch), berbeda dengan USEARCH yang secara default menggunakan heuristic seed dan extend aligner. Hal ini biasanya menghasilkan penyelarasan yang lebih akurat dan peningkatan sensitivitas (recall) secara keseluruhan dengan VSEARCH, terutama untuk penyelarasan dengan celah.
Biner VSEARCH disediakan untuk GNU/Linux pada lima arsitektur prosesor 64-bit: x86_64, POWER8 (ppc64le), ARMv8 (aarch64), RISC-V 64-bit little-endian (riscv64), dan MIPS 64-bit little-endian ( mips64el). Biner juga disediakan untuk macOS (versi 10.9 Mavericks atau lebih baru) pada Intel (x86_64) dan Apple Silicon (ARMv8), serta Windows (64-bit, versi 7 atau lebih tinggi, pada x86_64). VSEARCH berisi kode SIMD asli untuk tiga arsitektur prosesor (SSE2/SSSE3, AltiVec/VMX/VSX, Neon). Selain itu, VSEARCH menggunakan perpustakaan SIMD Everywhere (SIMDe) untuk memungkinkan pembangunan pada riscv64, mips64el, dan arsitektur little-endian lainnya, namun kinerjanya mungkin lebih rendah daripada implementasi asli.
CPUOS | GNU/Linux | macOS | jendela |
---|---|---|---|
x86_64 | ✔ | ✔ | ✔ |
ARMv8 | ✔ | ✔ | |
KEKUATAN8 | ✔ | ||
RISC-V 64 LE | ✔ | ||
MIPS 64 LE | tidak diuji |
Berbagai paket, plugin dan wrapper untuk VSEARCH juga tersedia dari sumber lain - lihat di bawah.
Kode sumber dikompilasi dengan benar dengan gcc
(versi 4.8.5 hingga 14.0) dan llvm-clang
(3.8 hingga 19.0). Kode sumber juga harus dikompilasi pada sistem FreeBSD dan NetBSD.
VSEARCH dapat langsung membaca input query dan file database yang dikompresi menggunakan gzip (.gz) dan bzip2 (.bz2) jika perpustakaan zlib dan bzip2 tersedia.
Sebagian besar perintah dan opsi berbasis nukleotida di USEARCH versi 7 didukung, serta beberapa di versi 8. Nama opsi yang sama seperti di USEARCH versi 7 telah digunakan untuk membuat VSEARCH hampir menjadi pengganti drop-in. VSEARCH tidak mendukung rangkaian asam amino atau penyelarasan lokal. Fitur-fitur ini mungkin ditambahkan di masa mendatang.
Jika Anda tidak dapat menemukan jawabannya dalam dokumentasi VSEARCH, silakan kunjungi Forum Web VSEARCH untuk mengirimkan pertanyaan atau memulai diskusi.
Pada contoh di bawah, VSEARCH akan mengidentifikasi urutan dalam file database.fsa yang setidaknya 90% identik pada untai plus dengan urutan kueri dalam file queries.fsa dan menulis hasilnya ke file alnout.txt.
./vsearch --usearch_global queries.fsa --db database.fsa --id 0.9 --alnout alnout.txt
Distribusi sumber Untuk mengunduh distribusi sumber dari rilis dan membangun executable serta dokumentasinya, gunakan perintah berikut:
wget https://github.com/torognes/vsearch/archive/v2.29.1.tar.gz
tar xzf v2.29.1.tar.gz
cd vsearch-2.29.1
./autogen.sh
./configure CFLAGS="-O3" CXXFLAGS="-O3"
make ARFLAGS="cr"
sudo make install
Anda dapat menyesuaikan direktori instalasi menggunakan opsi --prefix=DIR
untuk configure
. Jika pustaka kompresi zlib dan/atau bzip2 diinstal pada sistem, pustaka tersebut akan terdeteksi secara otomatis dan dukungan untuk file terkompresi akan disertakan dalam vsearch (lihat bagian Ketergantungan di bawah). Dukungan untuk file terkompresi mungkin dinonaktifkan menggunakan opsi --disable-zlib
dan --disable-bzip2
untuk configure
. Versi PDF dari manual ini akan dibuat dari file manual vsearch.1
jika ps2pdf
tersedia, kecuali jika dinonaktifkan menggunakan opsi --disable-pdfman
untuk configure
. Disarankan untuk menjalankan konfigurasi dengan opsi CFLAGS="-O3"
dan CXXFLAGS="-O3"
. Opsi lain mungkin juga diterapkan pada configure
, jalankan configure -h
untuk melihat semuanya. Autoconf GNU (versi 2.63 atau lebih baru), automake, dan kompiler GCC C++ ( g++
) diperlukan untuk membangun vsearch. Versi 3.82 atau lebih make
mungkin diperlukan di Linux, sedangkan versi 3.81 cukup di macOS.
Untuk membangun VSEARCH di Debian dan distribusi Linux serupa (Ubuntu dll), Anda memerlukan paket berikut: autoconf, automake, g++, ghostscript, groff, libbz2-dev, make, zlib1g-dev. Sertakan libsimde-dev untuk dibangun di atas riscv64 atau mips64el.
Untuk membangun VSEARCH di Fedora dan distribusi Linux serupa (RHEL, Centos dll) Anda memerlukan paket berikut: autoconf, automake, bzip2-devel, gcc-c++, ghostscript, groff-base, make, zlib-devel.
Daripada mengunduh distribusi sumber sebagai arsip terkompresi, Anda dapat mengkloning repo dan membuatnya seperti yang ditunjukkan di bawah ini. Opsi untuk configure
seperti dijelaskan di atas masih valid.
git clone https://github.com/torognes/vsearch.git
cd vsearch
./autogen.sh
./configure CFLAGS="-O3" CXXFLAGS="-O3"
make ARFLAGS="cr"
sudo make install
Distribusi biner : Dimulai dengan versi 1.4.0, file distribusi biner yang berisi biner yang telah dikompilasi sebelumnya serta dokumentasinya akan tersedia sebagai bagian dari setiap rilis. Eksekusi yang disertakan mencakup dukungan untuk file input yang dikompresi oleh zlib dan bzip2 (dengan file biasanya diakhiri dengan .gz
atau .bz2
).
Distribusi biner disediakan untuk sistem x86-64 yang menjalankan GNU/Linux, macOS (versi 10.7 atau lebih tinggi) atau Windows (64-bit, versi 7 atau lebih tinggi), sistem AMDv8 (aarch64) 64-bit yang menjalankan GNU/Linux atau macOS, sebagai serta POWER8 (ppc64le), RISC-V little-endian 64-bit (risv64), dan MIPS little-endian 64-bit (mips64el) sistem yang menjalankan GNU/Linux. Biner macOS universal juga disediakan. Selain itu, biner x86_64 yang dibuat untuk distribusi linux RHEL 7 dan CentOS 7 yang dihentikan juga disediakan. Biner Linux lainnya dibangun di Debian 11 (oldstable, Bullseye). Biner statis tersedia untuk semua arsitektur Linux kecuali x86_64, ini dapat digunakan pada sistem yang tidak menginstal semua perpustakaan yang diperlukan. Biner Windows dibangun dengan kompilasi silang menggunakan Mingw-w64.
Unduh executable yang sesuai untuk sistem Anda menggunakan perintah berikut jika Anda menggunakan sistem Linux atau macOS:
wget https://github.com/torognes/vsearch/releases/download/v{VERSION}/vsearch-{VERSION}-{OS}-{ARCH}.tar.gz
tar xzf vsearch-{VERSION}-{OS}-{ARCH}.tar.gz
Ganti {VERSION}
dengan nomor versi VSEARCH (misalnya 2.29.1
), {OS}
dengan sistem operasi target ( linux
atau macos
), dan {ARCH}
dengan arsitektur ( x86_64
, aarch64
, ppc64le
, riscv64
, atau mips64el
). Anda dapat menambahkan -static
setelah {ARCH}
untuk mendapatkan versi yang dikompilasi secara statis untuk Linux (kecuali x86_64). Nama biner untuk distribusi Linux RHEL 7 dan CentOS 7 diakhiri dengan -ubi7
.
Atau, jika Anda menggunakan Windows, unduh dan ekstrak (unzip) isi file ini:
https://github.com/torognes/vsearch/releases/download/v{VERSION}/vsearch-{VERSION}-win-x86_64.zip
Linux dan Mac : Anda sekarang akan memiliki distribusi biner dalam folder bernama vsearch-{VERSION}-{OS}-{ARCH}
di mana Anda akan menemukan tiga subfolder bin
, man
dan doc
. Kami merekomendasikan untuk membuat salinan atau tautan simbolik ke bin/vsearch
biner vsearch di folder yang disertakan dalam $PATH
Anda, dan salinan atau tautan simbolik ke halaman manual vsearch man/vsearch.1
di folder yang disertakan dalam $MANPATH
Anda . Versi PDF dari manual ini tersedia di doc/vsearch_manual.pdf
.
Windows : Anda sekarang akan memiliki distribusi biner dalam folder bernama vsearch-{VERSION}-win-x86_64
. Vsearch yang dapat dieksekusi disebut vsearch.exe
. Manual dalam format PDF disebut vsearch_manual.pdf
. Jika Anda ingin dapat memanggil vsearch.exe
dari jendela prompt perintah mana pun, Anda dapat meletakkan VSEARCH yang dapat dieksekusi di folder (misalnya C:Users<yourname>bin
), dan menambahkan folder baru ke Path
pengguna : buka jendela Environment Variables
dengan mencarinya di menu Start, Edit
variabel pengguna, tambahkan ;C:Users<yourname>bin
di akhir variabel Path
, dan simpan perubahan Anda. Distribusi windows juga menyertakan file libbz2.dll
dan zlib1.dll
yang diperlukan untuk membaca file input terkompresi. DLL ini diperoleh untuk mingw-w64 dari platform MSYS2.
Dokumentasi: Panduan pengguna VSEARCH tersedia di folder man
dalam bentuk halaman manual. Versi pdf (vsearch_manual.pdf) akan dibuat oleh make
. Untuk menginstal halaman manual secara manual, salin file vsearch.1
atau buat tautan simbolik ke vsearch.1
di folder yang disertakan dalam $MANPATH
Anda. Manual dalam kedua format juga tersedia dengan distribusi biner. Manual dalam bentuk PDF (vsearch_manual.pdf) juga terlampir pada rilis terbaru.
Paket Conda Berkat tim BioConda, kini ada paket vssearch di Conda.
Paket Debian Berkat tim Debian Med, kini ada paket vssearch di Debian.
Paket port FreeBSD Berkat Jason Bacon, paket port FreeBSD vsearch tersedia. Instal paket biner dengan pkg install vsearch
, atau buat dari sumber dengan pengoptimalan tambahan.
Galaxy wrapper Berkat kerja keras para anggota Intergalactic Utilities Commission, VSEARCH kini menjadi bagian dari Galaxy ToolShed.
Paket Homebrew Berkat Torsten Seeman, paket vsearch untuk Homebrew telah dibuat.
Paket pkgsrc Berkat Jason Bacon, paket pkgsrc vsearch tersedia untuk NetBSD dan sistem mirip UNIX lainnya. Instal paket biner dengan pkgin install vsearch
, atau bangun dari sumber dengan optimasi tambahan.
Plugin QIIME 2 Berkat tim QIIME 2, kini ada plugin bernama q2-vsearch untuk QIIME 2.
Dengan perintah from-uc
di biom 2.1.5 atau yang lebih baru, data dalam file .uc
yang dihasilkan oleh vsearch dapat diubah menjadi file biom yang dapat dibaca oleh QIIME dan perangkat lunak lainnya. Hal ini dijelaskan di sini.
Harap dicatat bahwa VSEARCH versi 2.2.0 dan yang lebih baru dapat langsung menampilkan tabel OTU dalam format biom 1.0 serta format klasik dan mothur.
Silakan lihat makalah untuk detailnya:
Rognes T, Flouri T, Nichols B, Quince C, Mahé F. (2016) VSEARCH: alat sumber terbuka serbaguna untuk metagenomik. RekanJ 4:e2584 doi: 10.7717/peerj.2584
Kompilasi VSEARCH memerlukan GCC ( g++
) atau clang
, make
dan autotools ( ui-auto
pada distribusi berbasis Debian). Secara opsional, file header untuk dua pustaka opsional berikut diperlukan jika dukungan untuk file input FASTA dan FASTQ terkompresi gzip dan bzip2 diperlukan:
zlib.h
, tersedia sebagai zlib1g-dev
pada distribusi berbasis Debian) (opsional)bzlib.h
, tersedia sebagai libbz2-dev
pada distribusi berbasis Debian) (opsional)VSEARCH akan secara otomatis memeriksa apakah perpustakaan ini tersedia dan memuatnya secara dinamis.
Di Windows, perpustakaan ini disebut zlib1.dll
dan libbz2.dll
. DLL ini disertakan dengan distribusi rilis vssearch 2.29.1 dan yang lebih baru.
Untuk membuat file PDF dengan manual diperlukan alat ps2pdf. Itu adalah bagian dari paket ghostscript
.
Kode VSEARCH memiliki lisensi ganda baik di bawah Lisensi Publik Umum GNU versi 3 atau di bawah lisensi klausa 2 BSD. Silakan lihat LICENSE.txt untuk detailnya.
VSEARCH menyertakan kode dari beberapa proyek lainnya. Kami berterima kasih kepada penulis karena telah menyediakan kode sumbernya.
VSEARCH menyertakan kode dari proyek CityHash Google oleh Geoff Pike dan Jyrki Alakuijala, menyediakan beberapa fungsi hash luar biasa yang tersedia di bawah lisensi MIT.
VSEARCH menyertakan kode yang berasal dari program DUST Tatusov dan Lipman yang ada dalam domain publik.
VSEARCH menyertakan kode domain publik yang ditulis oleh Alexander Peslyak untuk algoritma intisari pesan MD5.
VSEARCH menyertakan kode domain publik yang ditulis oleh Steve Reid dan lainnya untuk algoritma intisari pesan SHA1.
Distribusi VSEARCH menyertakan kode dari GNU Autoconf yang biasanya tersedia di bawah Lisensi Publik Umum GNU, namun dapat didistribusikan dengan pengecualian skrip konfigurasi autoconf khusus.
VSEARCH mungkin menyertakan kode dari hak cipta perpustakaan zlib Jean-loup Gailly dan Mark Adler, yang didistribusikan di bawah lisensi zlib.
VSEARCH mungkin menyertakan kode dari hak cipta perpustakaan bzip2 Julian R. Seward, didistribusikan di bawah lisensi gaya BSD.
Kode ini sebagian besar ditulis dalam C++.
Mengajukan | Keterangan |
---|---|
align_simd.cc | Penyelarasan global paralel SIMD dari 1 kueri dengan 8 urutan database |
semuapasangan.cc | Penyelarasan berpasangan global optimal semua vs semua (tanpa heuristik) |
arch.cc | Kode khusus arsitektur (Mac/Linux) |
atribut.cc | Ekstraksi dan pencetakan atribut di header FASTA |
bitmap.cc | Implementasi bitmap |
chimera.cc | Deteksi khayalan |
kota.cc | Kode CityHash |
cluster.cc | Pengelompokan (cluster_fast dan cluster_smallmem) |
cpu.cc | Kode bergantung pada fitur CPU tertentu (misalnya ssse3) |
potong.cc | Pemotongan situs pembatasan |
db.cc | Menangani pembacaan file database, akses, dll |
dbhash.cc | Hashing basis data untuk pencarian yang tepat |
dbindex.cc | Mengindeks database dengan mengidentifikasi kmer unik dalam urutannya |
derep.cc | Dereplikasi, berdurasi penuh |
derep_prefix.cc | Dereplikasi, awalan |
derep_smallmem.cc | Dereplikasi, penggunaan memori kecil |
dynlibs.cc | Pemuatan dinamis perpustakaan kompresi |
estats.cc | Menghasilkan statistik untuk perintah fastq_eestats |
fasta.cc | Pengurai file FASTA |
fasta2fastq.cc | Konversi FASTA ke FASTQ |
fastq.cc | Pengurai file FASTQ |
fastq_chars.cc | Statistik CEPATQ |
fastq_join.cc | FASTQ berpasangan membaca bergabung |
fastqops.cc | Statistik file FASTQ dll |
fastx.cc | Deteksi file FASTA dan FASTQ, pembungkus untuk parser FASTA dan FASTQ |
filter.cc | Memangkas dan memfilter urutan dalam file FASTA dan FASTQ |
getseq.cc | Ekstraksi urutan berdasarkan label header |
kmerhash.cc | Hash untuk kmers digunakan dengan penggabungan baca berpasangan |
linmemalign.cc | Penyelaras urutan global memori linier |
peta.cc | Berbagai array pemetaan karakter |
topeng.cc | Penutup (DEBU) |
md5.c | Intisari pesan MD5 |
gabunganpasangan.cc | Penggabungan baca berpasangan |
minheap.cc | Implementasi minheap untuk daftar kecocokan kmer teratas |
msa.cc | Penyelarasan beberapa urutan sederhana dan perhitungan urutan konsensus untuk cluster |
orientasi.cc | Orientasikan arah urutan berdasarkan database referensi |
otutable.cc | Hasilkan tabel OTU dalam berbagai format |
ulangi.cc | Replikasi ulang |
hasil.cc | Hasil output dalam berbagai format (alnout, userout, blast6, uc) |
pencarian.cc | Menerapkan pencarian menggunakan penyelarasan global |
pencarian_exact.cc | Fungsi pencarian yang tepat |
searchcore.cc | Fungsi pencarian inti untuk pencarian, pengelompokan, dan deteksi chimera |
sff_convert.cc | Konversi file SFF ke FASTQ |
sha1.c | Intisari pesan SHA1 |
showalign.cc | Hasilkan penyelarasan dengan cara yang dapat dibaca manusia dengan menggunakan string CIGAR dan urutannya |
shuffle.cc | Urutan acak |
sintax.cc | Klasifikasi taksonomi menggunakan metode Sintax |
sortir berdasarkan panjang.cc | Kode untuk mengurutkan berdasarkan panjangnya |
sortir berdasarkan ukuran.cc | Kode untuk mengurutkan berdasarkan ukuran (kelimpahan) |
subsampel.cc | Subsampling dibaca dari file FASTA |
pajak.cc | Penguraian informasi taksonomi |
udb.cc | Penanganan file basis data UDB |
unik.cc | Temukan kmer unik secara berurutan |
bidang pengguna.cc | Kode untuk mengurai argumen opsi userfields |
util.cc | Berbagai fungsi utilitas umum |
vssearch.cc | File program utama, inisialisasi umum, membaca argumen dan mem-parsing opsi, menulis info. |
utils/maps.cc | Utilitas, peta untuk pengkodean nukleotida |
utils/seqcmp.cc | Utilitas, perbandingan urutan |
VSEARCH dapat dikompilasi dengan integrasi zlib atau bzip2 yang memungkinkannya membaca file FASTA terkompresi. Perpustakaan zlib dan bzip2 diperlukan untuk ini.
Semua laporan bug sangat dihargai. Anda dapat mengirimkan laporan bug di sini di GitHub sebagai masalah (lebih disukai), Anda dapat memposting pesan di Forum Web VSEARCH atau Anda dapat mengirim email ke [email protected].
VSEARCH dirancang untuk rangkaian yang agak pendek, dan akan lambat bila rangkaian lebih panjang dari sekitar 5.000 bp. Hal ini karena ia selalu melakukan penyelarasan global yang optimal pada urutan yang dipilih.
Kontributor utama VSEARCH:
Terima kasih khusus kepada orang-orang berikut untuk patch, saran, akses komputer, dll:
Silakan kutip publikasi berikut jika Anda menggunakan VSEARCH:
Rognes T, Flouri T, Nichols B, Quince C, Mahé F. (2016) VSEARCH: alat sumber terbuka serbaguna untuk metagenomik. RekanJ 4:e2584. doi: 10.7717/peerj.2584
Harap dicatat bahwa mengutip salah satu algoritma yang mendasarinya, misalnya UCHIME, mungkin juga tepat.
Kumpulan data uji (ditemukan dalam repositori data vssearch terpisah) diperoleh dari proyek BioMarks (Logares et al. 2014), proyek TARA OCEANS (Karsenti et al. 2011) dan Basis Data Referensi Ribosomal Protist (PR 2 ) (Guillou et al.2013).
Edgar RC (2010) Pencarian dan pengelompokan lipat lebih cepat dari BLAST. Bioinformatika , 26 (19): 2460-2461. doi:10.1093/bioinformatika/btq461
Edgar RC (2016) SINTAX: pengklasifikasi taksonomi non-Bayesian sederhana untuk barisan 16S dan ITS. bioRxiv . doi:10.1101/074161
Edgar RC (2016) UNOISE2: peningkatan koreksi kesalahan untuk Illumina 16S dan pengurutan amplikon ITS. bioRxiv . doi:10.1101/081257
Edgar RC, Flyvbjerg H (2015) Pemfilteran kesalahan, perakitan pasangan, dan koreksi kesalahan untuk pembacaan sekuensing generasi berikutnya. Bioinformatika , 31 (21): 3476-3482. doi:10.1093/bioinformatika/btv401
Edgar RC, Haas BJ, Clemente JC, Quince C, Knight R (2011) UCHIME meningkatkan sensitivitas dan kecepatan deteksi chimera. Bioinformatika , 27 (16): 2194-2200. doi:10.1093/bioinformatika/btr381
Guillou L, Bachar D, Audic S, Bass D, Berney C, Bittner L, Boutte C, Burgaud G, de Vargas C, Decelle J, del Campo J, Dolan J, Dunthorn M, Edvardsen B, Holzmann M, Kooistra W, Lara E, Lebescot N, Logares R, Mahé F, Massana R, Montresor M, Morard R, Bukan F, Pawlowski J, Probert I, Sauvadet AL, Siano R, Stoeck T, Vaulot D, Zimmermann P & Christen R (2013) Basis data Referensi Ribosom Protist (PR2): katalog urutan rRNA Sub-Unit Kecil eukariota uniseluler dengan taksonomi yang dikurasi. Penelitian Asam Nukleat , 41 (D1), D597-D604. doi:10.1093/nar/gks1160
Karsenti E, González Acinas S, Bork P, Bowler C, de Vargas C, Raes J, Sullivan MB, Arendt D, Benzoni F, Claverie JM, Follows M, Jaillon O, Gorsky G, Hingamp P, Iudicone D, Kandels-Lewis S, Krzic U, Not F, Ogata H, Pesant S, Reynaud EG, Sardet C, Sieracki ME, Speich S, Velayoudon D, Weissenbach J, Wincker P & Tara Oceans Consortium (2011) Pendekatan holistik terhadap biologi ekosistem laut. Biologi PLoS , 9(10), e1001177. doi:10.1371/journal.pbio.1001177
Logares R, Audic S, Bass D, Bittner L, Boutte C, Christen R, Claverie JM, Decelle J, Dolan JR, Dunthorn M, Edvardsen B, Gobet A, Kooistra WHCF, Mahé F, Not F, Ogata H, Pawlowski J , Pernice MC, Romac S, Shalchian-Tabrizi K, Simon N, Stoeck T, Santini S, Siano R, Wincker P, Zingone A, Richards T, de Vargas C & Massana R (2014) Pola kumpulan komunitas yang langka dan melimpah pada eukariota mikroba planktonik laut pesisir. Biologi Saat Ini , 24(8), 813-821. doi:10.1016/j.cub.2014.02.050
Rognes T (2011) Pencarian database Smith-Waterman yang lebih cepat dengan paralelisasi SIMD antar-urutan. BMC Bioinformatika , 12: 221. doi:10.1186/1471-2105-12-221