henhaobio
Sign in

bioRxivBioinformaticsPreprint

Rsearch: An R interface to VSEARCH supporting visualization and parameter tuning

Cassandra StamsaasiD, Torbjørn RognesiD, Knut RudiiD, Lars Gustav SnipeniD, Hilde VinjeiD

PDFDOICode

Abstract

Background: We present Rsearch, an R package that integrates the core functionality of VSEARCH into the R environment and extends it with visualization, parameter optimization, and conversion tools for compatibility with other R packages. By making VSEARCH directly accessible in R, Rsearch lowers the barrier for using VSEARCH and integrating it with downstream statistical and ecological analyses. Results: Comparative analysis with DADA2 using mock community data showed that both pipelines produced relative abundance profiles highly correlated with the expected composition. Compared to DADA2, Rsearch identified fewer OTUs, but these were more consistently prevalent across samples. In contrast, DADA2 appeared to overestimate diversity by splitting sequences into an excessive number of OTUs. In terms of computational performance, vs_cluster_unoise implemented in Rsearch was the fastest of all the clustering and denoising methods, while other Rsearch functions showed runtimes comparable to DADA2. In addition, Rsearch provides functions for systematic optimization of trimming and filtering parameters, an important feature for users who may not otherwise have a clear strategy for parameter selection. The package also includes functions to ensure compatibility with other R packages such as phyloseq. Conclusions: Rsearch offers a practical and accessible framework for analysing metabarcoding data within a single analytical environment and is freely available from The Comprehensive R Archive Network, with the development version hosted on GitHub (https://github.com/CassandraHjo/Rsearch).

In-depth summary

Claude Opus 5.5 · xhigh effort · 8 Nov 2026 · from the full text of version 1 (16 Sept 2026) · CC BY 4.0

Rsearch runs VSEARCH from R with quality plots, trimming optimizers and phyloseq conversion; on a 16S mock community it matched DADA2's abundance accuracy with fewer, more prevalent OTUs.

VSEARCH is a fast, multithreaded, cross-platform metabarcoding tool, but as a command-line program it can be a barrier for researchers not used to terminal scripting. Rsearch runs it from R, keeps outputs as R objects, adds plotting and trimming-optimization functions that VSEARCH lacks, and unlike DADA2 (denoising only, no built-in trimming optimizer) lets users choose identity clustering or UNOISE denoising.

Key results

  1. ShownOn a 16S V3-V4 mock community (ZymoBIOMICS standard), Rsearch and DADA2 both gave relative abundance profiles that closely matched the expected composition, and they kept similar numbers of reads.

    Pearson r between observed and expected relative abundance was near 0.99 for vs_cluster_size at every identity threshold above 90% and for vs_cluster_unoise, and DADA2 reached the same level (Table 2; 15 samples, centroids matched at 99% identity). Both pipelines kept about 1 100 000 reads and discarded about 300 000, mostly at chimera removal. · A worked example and comparison with DADA2 using…; A worked example and comparison with DADA2 using…

  2. ShownRsearch returned fewer OTUs than DADA2, and its OTUs were present more consistently across the 15 samples. Every sample contains the same 10 16S variants, so an ideal pipeline would find 10 OTUs, each present in all 15.

    vs_cluster_unoise gave 33 OTUs; DADA2 (truncLen 250/220) gave 3 977 OTUs before and 121 after chimera removal. At every threshold, vs_cluster_size had more OTUs at prevalence 15 than at prevalence 1, while vs_cluster_unoise had about equal numbers at the two; in DADA2 most OTUs occurred in one sample and 11 occurred in all 15. Every method had at least eight OTUs in all samples. · A worked example and comparison with DADA2 using…

  3. SuggestedDADA2 split most mock reference sequences across multiple OTUs, whereas Rsearch rarely over-split but merged some sequences under identity clustering. The authors read this as DADA2 inflating diversity and Rsearch being more conservative.

    Centroids mapped at 99% identity, all hits kept: vs_cluster_size over-split nothing except one case at 99% identity, and its over-merging fell with identity, stabilising at 95 to 98%; vs_cluster_unoise over-split three and over-merged none. DADA2 over-merged none but over-split all 10 reference sequences before chimera removal and eight after. All pipelines left a substantial fraction of OTUs unassigned. · A worked example and comparison with DADA2 using…; A worked example and comparison with DADA2 using…; Discussion

  4. SuggestedWith a single thread, the vs_cluster_unoise pipeline was the fastest; vs_cluster_size pipelines took about as long as DADA2. Running VSEARCH through R adds overhead compared with calling it directly.

    15 mock samples (about 1.4 million read pairs), five runs, R 4.5.1 on macOS (Apple Silicon) and Windows 11, single-threaded because DADA2 does not multithread on Windows. vs_cluster_size took longer at higher identity; DADA2 was faster on macOS than Windows. No pipeline runtime values are given in the main text; the R overhead was seen against direct terminal runs of VSEARCH. · Runtime analysis; A worked example and comparison with DADA2 using…; Discussion

  5. ShownThe timed new functions (plot_base_quality, vs_merging_lengths and the two trimming optimizers) ran in seconds to under a minute, and vs_optimize_truncee_rate picked the same truncee_rate (0.01) on the first sample of every sequencing run.

    Medians over five iterations on about 68 000 paired-end reads: plot_base_quality 1.8 s (2.2 s with overlap box), vs_merging_lengths 2.8 s, vs_optimize_truncqual 47.8 s, vs_optimize_truncee_rate 49.8 s. On the first sample of each run the optimizer chose 0.01; at baseline more than 80% of pairs merged (some near 90%). · Runtime analysis; New functions provided by Rsearch; A worked example and comparison with DADA2 using…

Methods, data and reproducibility

Wraps VSEARCH commands as R functions that take and return R data structures or files, and adds functions for read-quality plots, merge-length statistics, truncee_rate/truncqual optimization, custom SINTAX databases, taxonomy trees and phyloseq conversion. Compared with DADA2 on a 16S V3-V4 mock community for abundance correlation, OTU prevalence, over-merging/over-splitting and single-threaded runtime.

  • ZymoBIOMICS Microbial Community Standard (D6300) mock community, 16S rRNA gene V3-V4 amplicons, paired-end; about 1.4 million read pairs, median 75 000 per sample · bacteria (eight species, 10 16S rRNA gene variants) · n = 15 samples · SRA PRJNA1321533
  • FASTQ dataset used to time the new Rsearch functions (five iterations) · n = approximately 68 000 paired-end reads
Methods & tools
Rsearch, VSEARCH (2.30.0 or later), DADA2, phyloseq, ggplot2, UNOISE (vs_cluster_unoise), UCHIME de novo (vs_uchime_denovo), SINTAX, R 4.5.1, ZymoBIOMICS Microbial Community Standard D6300
Software & environment
R 4.5.1 used for benchmarks; requires VSEARCH 2.30.0 or later and the phyloseq R package; released on CRAN (install.packages("Rsearch")) under GNU GPL; stated to be platform independent.
Assay conditions & compute
Single-threaded runs in R 4.5.1 on an Apple Silicon (ARM64) Mac with macOS Sequoia 15.6.1 and on Windows 11 Enterprise with a 13th Gen Intel Core i5-1345U (1.60 GHz) and 16 GB RAM; function timings are medians of five iterations.
Reproducibility gaps
Sample handling, DNA extraction, sequencing, demultiplexing and primer trimming are described by citation to earlier papers (Philip et al.; Nilsen et al.) rather than in this text; pipeline runtime values are not given in the main text.
Limitations (6)
  • Running VSEARCH through R adds runtime overhead compared with calling VSEARCH directly in the terminal. · stated by the authors
  • All pipelines left a substantial fraction of OTUs unassigned when matched at 99% identity against only the mock reference sequences; the authors suggest contamination or sequencing errors as possible causes. · stated by the authors
  • Identity clustering (vs_cluster_size) in Rsearch showed some consistent over-merging, collapsing distinct reference sequences into one OTU. · stated by the authors
  • The authors found nothing in DADA2's documentation or source code to explain why so many DADA2 OTUs were removed at the chimera-removal step. · stated by the authors
  • The evaluation rests on a single mock community (eight bacterial species, 15 samples, one V3-V4 amplicon). No high-diversity environmental dataset was tested, although eDNA is the stated motivation. · noted in this summary
  • The main text describes pipeline runtimes only qualitatively, and they were measured single-threaded, so VSEARCH's multithreaded speed is not assessed. · noted in this summary

Read this if you analyse 16S or other metabarcoding amplicons in R and want VSEARCH clustering or UNOISE denoising, data-driven trimming thresholds and phyloseq hand-off without leaving R.

Citations
1

Reproducibility ledger

Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.

Sign in to file a reproducibility report.

Similarity Map
SelectedSame fieldCross-field
THISAndersen '18Kumar '25Foster '17Stamsaas '26Kapoor '26Zinger '21
57% semantic matchBioinformatics
Kasper Skytte Andersen, Rasmus Hansen Kirkegaard, Søren Michael Karst+1 more·bioRxiv·Apr 11, 2018· 731 citations