Pack overlapping DNA motifs into a sequence-length limit. Dense Arrays selects an arrangement and returns the sequence and each motif's position, so you can inspect the overlaps or generate further solutions. Choose single- or double-strand placement, require motif groups, or constrain positions.
The package also renders saved placements as images and video. Watch the worked playback to see how four motifs share sequence space.
First array
With Python 3.12 or later and uv, run from a source checkout:
uv sync --frozen
uv run dense-arrays optimize \
--motif ACGTTGCAAGTCCTGA \
--motif AGTCCTGATCGTACCG \
--motif TCGTACCGATGCTTAG \
--motif ATGCTTAGGACGTTCA \
--length 40 --strands double
The search considers both strands. One optimal arrangement packs all four 16-base motifs into 40 bases:
ACGTTGCAAGTCCTGATCGTACCGATGCTTAGGACGTTCA
In this orientation, the motifs start at 0, 8, 16, and 24. The solver may return the reverse-complement arrangement. The quickstart explains these offsets and shows Python use and bounded enumeration of further solutions.
Documentation
- Create and read your first array.
- Set positional and regulator constraints.
- Render saved placements as images or video.
- Understand the packing method.
- Look up Python interfaces.
- Update an existing caller.
The documentation index also routes integrators and contributors to the relevant interfaces and checks.
Citation
If you use Dense Arrays in your research, please cite:
Andreani V, South EJ, Dunlop MJ (2024). Generating information-dense promoter sequences with optimal string packing. PLOS Computational Biology 20(7): e1012276. doi:10.1371/journal.pcbi.1012276.
Record the package version or commit alongside your results.
Contribute
Development covers local checks and documentation builds. Report bugs and follow the security policy for vulnerabilities. Dense Arrays is available under the MIT license.
Metadata
Release files for dense-arrays 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dense_arrays-0.2.1.tar.gz | 152.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dense_arrays-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 242.2 kB
Release files / dense_arrays-0.2.1.tar.gz
| Download URL | dense_arrays-0.2.1.tar.gz |
|---|---|
| Size | 152.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e2f1b5a5f47787550450f1e9113c846b49568bc9f1911536f15d419b4e10d8b
|
|
BLAKE2b-256 checksum How to use checksums |
429fb0fb366916c16a5276e6e7aed09e7f81a8528709d70f040a916fd265858d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency logRelease files / dense_arrays-0.2.1-py3-none-any.whl
| Download URL | dense_arrays-0.2.1-py3-none-any.whl |
|---|---|
| Size | 90.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fca19d6b7c949e579a349bcd8bb8e2c3bda695fc0011e00950c969e537b3d95e
|
|
BLAKE2b-256 checksum How to use checksums |
aaf61d89922c9c5c4d185c3fc663e57634a6a6eedcb5a9b64e7f90aa62150fe6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.
Transparency log