barcodeEZ
barcodeEZ is a Python package for designing complex, combinatorial DNA barcode libraries for molecular cloning.
The package allows design and creation of a site-aware Barcodes object. It is built around sites, expandable positions, restriction-enzyme boundaries, optimized overhangs, and optional fixed sequences. barcodeEZ draws orthogonal barcode sequence from a prebuilt corpus, assembles forward and reverse oligos, screens them for unwanted sequence content, and exports a ready-to-order oligo pool.
What it does
- Design a library structure from restriction-enzyme boundaries — use the built-in default panel or supply your own enzymes.
- Add positions within each site for combinatorial, multi-position barcoding (up to 8 positions per site), with automatically assigned optimized internal overhangs.
- Generate barcodes of any length from a corpus of ~30,000 orthogonal 60-mers shipped with the package.
- Attach fixed sequences to either end of a site.
- Validate against restriction sites and undesired motifs, automatically swapping out any contaminated barcode.
- Inspect the whole design as a pandas DataFrame.
- Export a single-stranded oligo order form as CSV.
Installation
pip install barcodeEZ
The barcode corpus ships with the package; biopython and pandas are installed automatically.
A minimal example
from barcodeEZ import Barcodes
b = Barcodes(n_sites=2) # two barcoded sites, default enzymes
b.generate_barcodes(bc_len=20, n_barcodes=96)
b.validate() # screen + replace contaminated barcodes
b.write_order_form('library.csv') # export the oligo pool
API
All functionality is accessed through the Barcodes(n_sites, custom_enzymes=None) object. Methods return self and can be chained.
| Method | Purpose |
|---|---|
add_positions(*, n_per_site) |
Add combinatorial positions per site (call before generating) |
generate_barcodes(bc_len, n_barcodes) |
Draw barcodes and assemble oligos |
add_fixed_sequence(seq, site, side) |
Attach a fixed flanking sequence to a site |
validate(ignore_defaults=False, motifs=None) |
Screen and replace barcodes containing unwanted motifs |
view() |
Return the full library as a pandas DataFrame |
write_order_form(file, metadata=False) |
Export the oligo pool as CSV; metadata=True adds site, position, and barcode columns |
print_structure() |
Print the site/enzyme layout |
See the full documentation for parameter details and examples.
Requirements
- Python ≥ 3.10
- biopython ≥ 1.81, pandas (installed automatically with pip)
Metadata
Release files for barcodeEZ 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| barcodeez-1.0.0.tar.gz | 700.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| barcodeez-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / barcodeez-1.0.0.tar.gz
| Download URL | barcodeez-1.0.0.tar.gz |
|---|---|
| Size | 700.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ca4fe72c50bd0b612ef29ca78aa9ecabfa228f7155ee4b6fcf5c551ca202f2d
|
|
BLAKE2b-256 checksum How to use checksums |
f49c58896bb1345b379e04879a35e6591e09c12ce48b05cdc7081b0f511202f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / barcodeez-1.0.0-py3-none-any.whl
| Download URL | barcodeez-1.0.0-py3-none-any.whl |
|---|---|
| Size | 657.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0fd7708e3885d5e389c7984ac5b16d7e09711a595994731d93bf32ffda9a14f
|
|
BLAKE2b-256 checksum How to use checksums |
6e7a3aaebb48244deac49081812bfbf8dd47f19e26c1d9e868137db5339cf8b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|