mkprobes is the combinatorial FISH probe-design toolkit used to build SOLAR
probesets (splint/padlock, STARmap-style). It provides a CLI covering the full
workflow, from a reference to an orderable oligo pool:
0. project mkprobes init scaffold a project
1. dataset mkprobes prepare | ingest reference (mouse/human) | any species
2. targets mkprobes chkgenes / convert-to-transcripts
3. codebook mkprobes make-codebook
4. probes mkprobes run-panel candidates -> screen -> construct, all targets
5. panel QC mkprobes filter-genes
6. assembly mkprobes assemble -> orderable oligos
Start with Getting started,
which walks through all of it. mkprobes --help prints the same order, and
every command takes --help.
This repository was extracted from
chaichontat/fishtools (commit
cd91ef7, "Add standalone mkprobes package"; extracted 2026-08-20). The full
pre-extraction development history remains browsable there under
fishtools/mkprobes/, which is now frozen legacy — all probe-design
development happens here. The MHD codebook matrices (src/mkprobes/data/mhd/)
and the splint/padlock header/footer table
(src/mkprobes/data/headerfooter.csv) were vendored from the same repository
(static/ and data/).
- Python ≥ 3.12
- External tools on
PATHfor dataset preparation and screening: Bowtie 2, Jellyfish, and (for final panel assembly) RepeatMasker. All are available via bioconda.
With uv (external tools must already be on PATH):
uv sync --extra dev
source .venv/bin/activate
mkprobes --helpOr with conda/mamba — one environment containing the package and the external tools (bowtie2, jellyfish, gffread) from bioconda:
mamba env create -f environment.yml
conda activate mkprobes
mkprobes --helpSee the installation docs for details.
With the environment activated:
pip install -e ".[dev]"
pytest- The experimental
pickerandreadoutsnotebooks from the legacy package are excluded (import-time side effects, stale dependencies). - Project-specific panel generation and assembly drivers are retained under
scripts/. They are distributed in the source archive, not installed as console commands.scripts/generate_mhd_matrices.pyis the (scratch) generator for the vendored MHD matrices.