OligoMiner2
Genome-scale oligonucleotide probe design for DNA and RNA FISH.
OligoMiner2 is a Python package for designing oligonucleotide probes used in fluorescence in situ hybridization (FISH) experiments. It takes a target genome or transcriptome as input and returns candidate probe sequences that are thermodynamically optimized and filtered for specificity.
The pipeline
- Mine candidate probes from FASTA sequences, filtering by melting temperature, GC content, length, homopolymer runs, sequence entropy, soft-masked repeats, and prohibited subsequences.
- Align candidates against a reference genome with Bowtie2 and reconstruct each alignment's duplex from the reference.
- Predict a binding probability for every reconstructed duplex, screening with a model and verifying the ones that could change a decision with exact NUPACK pDup. K-mer frequency analysis runs as a parallel track.
Targets
Probes can be mined against a genome, a transcriptome built from a genome and its annotation, or individual transcripts. Transcript-aware modes cover exon-exon junctions, regions that discriminate between isoforms, and introns.
Probe architectures
Beyond conventional single-oligo probes, the package designs padlock probes with split homology arms, and split architectures where one functional element spans two oligos binding adjacent sites -- HCR 3.0 split-initiator pairs and split-FISH bridge pairs. Both members of a pair are tracked as one targeting unit, so filtering cannot leave a half-probe in an order.
Synthetic domains -- barcodes, primer sites, amplifier initiators -- are appended through a domain layout, which places a sequence at a named slot rather than at an end.
Models
Duplex stability is predicted by one of four registered models, selected by name: a condition-aware physics-feature gradient-boosted model, a duplex BiLSTM, the PaintSHOP model, and the OligoMiner v1 classifier. The first two can be retrained on new data through the package.
Scale
K-mer counting dispatches between jellyfish and a pure-numpy backend. Alignment and duplex construction stream rather than loading a genome's alignments into memory, and every entry point resolves its core count from the scheduler's grant rather than from the machine size.
Quick start
from oligominer import mine_fasta
# mine candidate probes with default parameters
df = mine_fasta('genome.fa')
Documentation
Full documentation including API reference and example notebooks is available at the OligoMiner2 docs site.
License
OligoMiner2 is open-source software. See LICENSE for details.
Metadata
Release files for oligominer 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oligominer-0.0.4.tar.gz | 13.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oligominer-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.3 MB
Release files / oligominer-0.0.4.tar.gz
| Download URL | oligominer-0.0.4.tar.gz |
|---|---|
| Size | 13.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5af8a1dae00eb118f8abc7ed3925cd10bb69c389aff861f94cdb3973f35df408
|
|
BLAKE2b-256 checksum How to use checksums |
ef2d9e11a51636062323459690d665ba866fc1099c985016d31c76d9d5c35bfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / oligominer-0.0.4-py3-none-any.whl
| Download URL | oligominer-0.0.4-py3-none-any.whl |
|---|---|
| Size | 13.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b37e39f914b673ec912979347fae05d114a6d8d5936d4108ba4fab0d59ca09d
|
|
BLAKE2b-256 checksum How to use checksums |
73b125c425eef0fc02546b652ce62a5aa55bde8f4215080bcdc76255be5d9789
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|