Metadata-Version: 2.4
Name: oligominer
Version: 0.0.1.dev1
Summary: Python package for genome-scale design of oligo probes for DNA/RNA FISH.
Project-URL: homepage, https://oligominer.org
Project-URL: source, https://github.com/beliveau-lab/OligoMiner2
Author-email: Conor Camplisson <conor@oligominer.org>
License-File: LICENSE
Requires-Python: <3.12,>=3.8
Requires-Dist: biopython
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: primer3-py
Requires-Dist: pyfaidx
Requires-Dist: pyranges
Requires-Dist: scikit-learn
Requires-Dist: xgboost==2.1.1
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: mike; extra == 'dev'
Requires-Dist: mkdocs; extra == 'dev'
Requires-Dist: mkdocs-gen-files; extra == 'dev'
Requires-Dist: mkdocs-jupyter; extra == 'dev'
Requires-Dist: mkdocs-literate-nav; extra == 'dev'
Requires-Dist: mkdocs-material; extra == 'dev'
Requires-Dist: mkdocs-section-index; extra == 'dev'
Requires-Dist: mkdocstrings[python]; extra == 'dev'
Requires-Dist: notebook; extra == 'dev'
Requires-Dist: pymdown-extensions; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Description-Content-Type: text/markdown

# OligoMiner2


> [!WARNING]
> This package is under active development.
> Until the first stable release (`v1.0.0`), the API may change without notice.
> Expect breaking changes in minor releases, and pin your dependency to a specific version if you use it in production.

**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

1. **Mine** candidate probes from FASTA sequences, filtering by melting
   temperature, GC content, length, homopolymer runs, and prohibited
   subsequences.
2. **Align** candidates against a reference genome with Bowtie2 to identify
   off-target binding sites.
3. **Score** specificity using k-mer frequency analysis (Jellyfish) and
   thermodynamic duplex stability predictions (NUPACK / XGBoost).

## Quick start

```python
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](https://oligominer.org/).


## License

OligoMiner2 is open-source software. See [LICENSE](LICENSE) for details.
