Wildcard letters indicating degenerate positions in the primer are supported. See IUPAC codes for details.
The algorithm uses a fast and exact method; there are no heuristics, so all matches meeting the accept criteria are guaranteed to be found. Alignments are global; all letters of the database sequence must be aligned to a letter in the query sequence. Gaps are not permitted, except for terminal gaps in the query sequence.
Note that it is the longer sequence (genome, chromosome, gene etc.) that is the query; the database contains the oligos. The name of the command (search_oligodb) is intended to remind you of this, just in case you're used to doing it the other way around, as with some other local aligners like BLAST.
Termination options are supported. By default, termination is disabled, equivalent to -maxaccepts 0 -maxrejects 0. In other words, by default the entire database is searched.
Accept options are supported. By default, -maxdiffs 2 is assumed and other accept criteria are not used.
The query file may be in FASTA or FASTQ format.
A database file must be specified using the ‑db option and must be in FASTA format.
The -strand option is required for nucleotide databases.
Multithreading is supported.
Standard output files
usearch -search_oligodb human_genome.fa -db probes.fa
-strand both \
-userout out.txt -userfields query+target+qstrand+diffs+tlo+thi+trowdots