barcodesDB
A database of DNA barcodes

About barcodesDB

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.
Open K-mer Lookup →

Generate Barcodes

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.
Open Generate Barcodes →

Motif Filters

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.

Visit the lab website →