barcodesDB is a database of DNA barcodes — short k-mer sequences (k = 16, 17, 18)
that are absent from known reference genomes. Each barcode can serve as a molecular
tag, unique identifier, or probe with no exact match in the genomes used during
extraction. Queries are answered by a pre-computed bitmap index, returning a
simple presence or absence result without the need for sequence alignment.
The current release (v1.0) was constructed by
scanning 403,199 complete genome assemblies spanning the tree of life — 53,784 species,
1,023 Gbp — together with 215 Gbp of raw metagenomic sequencing from marine, soil, polar
and host-associated environments, recording every observed k-mer. Barcodes are
defined as k-mers with no occurrence in any of these sequences on either strand — termed
DNA primes — eliminating the possibility of off-target hybridization
or cross-reactivity with endogenous biological sequences. Details of the
construction and validation are described in the manuscript:
Derivation of oligonucleotide barcodes that are absent from natural sequences.
Because a barcode is defined by absence, it is only meaningful relative to the exact
data it was derived from. The database is rebuilt quarterly against a fresh snapshot,
and barcode counts fall with each release as more sequence space is observed — so cite
the version you used. See the
changelog for the full contents of every release.
K-mer Lookup
The K-mer Lookup tool accepts one or more k-mer sequences as input and returns a
membership determination for each query: present in a reference genome, or absent
and therefore available as a barcode.
Input: paste sequences into a text area (one per line) or upload a .txt file
Select k: choose k = 16, 17, or 18 (one length per request)
Optional Hamming distance: set a minimum number of substitutions a queried k-mer must be away from matched same-length database sequences
Optional motif filters: enable flagging or exclusion of sequences containing homopolymer runs, low-complexity regions, restriction enzyme sites, functional motifs, or custom patterns
Results: a table showing each k-mer, its presence/absence status, GC content, nucleotide composition (A/C/G/T counts), and any active motif annotations
Example
A batch of 50 candidate 16-mer sequences is pasted into the text area with k=16
selected. The tool returns a table with columns: k-mer, present/absent, GC%,
A/C/G/T counts. 42 are absent (available as barcodes), 8 are
present in one or more reference genomes. With motif filters
enabled in flag mode, 3 sequences are additionally annotated for homopolymer runs.
The Search Barcodes tool provides substring-based querying of the full barcode
database with GC content filtering and cursor-based pagination.
Search options: enter a substring (optional — leave empty for all barcodes), set GC% min/max, choose output length k, and toggle reverse-complement mode
Motif filters: expand the optional filters section to enable flagging or exclusion by homopolymer runs, low complexity, restriction sites, functional motifs, tandem repeats, or custom patterns
Results: a paginated table with k-mer, GC%, and A/C/G/T counts; each row also shows motif pass/fail and hit details when filters are active
Navigation: Previous / Next buttons and a page selector for jumping between cursor-based result pages
Export: download the current page as a TSV file
Client-side filters: refine results on the current page further with per-column filters (text search, GC range, nucleotide counts) and sorting
Example
A user types CGTAC in the substring field, sets GC range
to 40–60%, k=18, and clicks Search. The results table shows 340 matching barcodes
across 3 pages. Toggling reverse-complement mode returns an additional 290 matches
on the opposite strand. The combined page can be exported as TSV via the Download button.
The Generate Barcodes tool produces random DNA sequences matching user-specified
constraints on length, GC content, and motif composition. Generation is independent
of the database and does not query the bitmap index.
Parameters: set sequence length (k = 4–32), quantity (up to 10,000), and GC% min/max range
Optional substring constraint: require every generated sequence to contain a specific motif
Motif filters: expand the filter panel to exclude or flag sequences matching homopolymer, low-complexity, restriction site, functional motif, tandem repeat, or custom patterns
Results: generated sequences appear in a paginated table with GC% and nucleotide composition, plus a summary showing how many sequences were attempted, generated, and discarded by filters
Example
Set k=18, count=100, GC range 45–55%, enable the homopolymer filter (max run 4)
and restriction-site filter (EcoRI, BamHI) in exclude mode, then click Generate.
The output table lists 100 sequences meeting all constraints; a summary reports
that 12 candidates were discarded during generation due to filter violations.
The motif filter system allows users to flag or exclude sequences containing
specific nucleotide patterns. Filters are available across all three tools and
operate in either flag or exclude mode, selected via a dropdown.
Mode selector: choose Off, Flag only (annotate results), or Exclude (remove from returned candidates)
Homopolymer runs — consecutive repeats of a single base exceeding a configurable length threshold (checkbox + number input for max run length)
Low-complexity — sequences below a Shannon entropy threshold (checkbox + number input for minimum entropy)
Restriction enzyme sites — expandable list of 50 common restriction sites with individual checkboxes for each recognition sequence
Functional motifs — expandable list of 25 conserved sequence patterns (TATA box, poly-A signals, splice sites, etc.) with individual checkboxes
Tandem repeats — di-, tri-, and tetranucleotide repeats spanning three or more units (separate checkboxes for each repeat type)
Custom motifs — a text field to input any user-defined nucleotide pattern; both forward and reverse-complement strands are scanned
Results: when filters are active, the results table includes a Motif passes column (✓/✗) and a Motif hits column listing which filters were triggered for each sequence
Example
Set motif mode to Flag, check the homopolymer box with max run 4,
check the EcoRI site (GAATTC) in the restriction-site
list, type GATA in the custom motif field, then run a
search. The results table gains two columns: Motif passes and Motif hits.
Among 500 results, 18 show ✗ in Motif passes: 12 triggered the homopolymer filter,
4 the EcoRI filter, 2 the custom motif. Switching to Exclude mode
removes those 18 from the output, leaving 482 barcodes.
Motif filters are available in all three tools: K-mer Lookup, Search Barcodes, and Generate Barcodes.
barcodesDB was developed by the
Georgakopoulos-Soares Lab, a computational genomics research group.