HCRProbeDesign
Overview
HCRProbeDesign is a command-line and Python package for designing HCR v3.0 split-initiator probe pairs from a target FASTA sequence. It tiles target sequences, filters by GC content, melting temperature, homopolymers, and hairpins, and can optionally enforce genome uniqueness with Bowtie2.
Key tools:
designProbes: primary probe design CLI.designProbesBatch: batch probe design for multi-record FASTA inputs.fetchMouseIndex: download, install, and register the mm10 Bowtie2 index.buildGenomeIndex: build and register a new reference genome index.listReferences: display installed reference genomes and default parameters.
Documentation: https://www.gofflab.org/HCRProbeDesign/
Installation
Prerequisites
- Python >= 3.6
- Bowtie2 (
bowtie2andbowtie2-build) for genome masking and index building - Python dependencies are installed via
pip(primer3-py, biopython, beautifulsoup4, pysam, zipfile36, pyyaml)
Install from PyPI
pip install hcrprobedesign
Install from source
git clone https://github.com/gofflab/HCRProbeDesign.git
cd HCRProbeDesign
# Optional: use the provided conda environment
conda env create -f environment.yaml
conda activate HCRProbeDesign
# Install the package
pip install -e .
Data directory
HCRProbeDesign stores configuration and Bowtie2 indices in a persistent user data directory
at ~/.hcrprobedesign/ so they survive package upgrades. Override the location with the
HCRPROBEDESIGN_DATA_DIR environment variable.
Adding a new reference genome
HCRProbeDesign keeps Bowtie2 index paths in ~/.hcrprobedesign/HCRconfig.yaml. The buildGenomeIndex
utility builds an index and registers it automatically.
buildGenomeIndex --species zebrafish --fasta /path/to/genome.fa --threads 8
Notes:
--fastacan be repeated and can point to a directory; all.fa,.fasta, or.fnafiles inside will be used.- By default, indices are written under
~/.hcrprobedesign/indices/and the config is updated. - Use
--indices-dirto write indices elsewhere and--configto update a specific config file. - Use
--forceto overwrite an existing index or config entry.
If you are working with mouse (mm10), you can use the prebuilt index:
fetchMouseIndex
This updates HCRconfig.yaml so designProbes --species mouse works out of the box.
Listing installed references
To see which reference genomes are registered and ready to use:
listReferences
This prints each registered species, its Bowtie2 index location, whether the index files
are present on disk, the --species flag to use, and the current default parameters.
Usage instructions
1) Prepare a FASTA file
designProbes reads the first FASTA record in the input file. Use designProbesBatch for multi-record inputs.
>MyTarget
ACGTACGTACGTACGTACGTACGTACGTACGT
2) Run probe design
Before running designProbes with genome masking (default), register a reference species with
buildGenomeIndex or fetchMouseIndex. You can also supply --index directly or skip genome
masking with --no-genomemask.
designProbes targets.fa --species mouse --channel B1 --output probes.tsv --idt probes.idt
Batch mode example:
designProbesBatch targets.fa --species mouse --channel B1 --output probes.tsv --idt probes.idt
To override the channel per record in batch mode, add channel= to the FASTA header:
>MyTarget channel=B2
ACGTACGTACGTACGTACGT
Common flags:
--no-genomemask: skip Bowtie2 genome masking (faster, but no uniqueness check).--index /path/to/index: override the Bowtie2 index path.--tileSize 52,--minGC,--maxGC,--maxProbes: tune probe selection.
Outputs:
- Probe designs are written to
--output(stdout by default). --idtwrites an IDT-friendly TSV for ordering.- Bowtie2 genome masking writes a SAM file named
{targetName}.samin the working directory.
Metadata
Release files for hcrprobedesign 0.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hcrprobedesign-0.3.5.tar.gz | 43.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hcrprobedesign-0.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.5 kB
Release files / hcrprobedesign-0.3.5.tar.gz
| Download URL | hcrprobedesign-0.3.5.tar.gz |
|---|---|
| Size | 43.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45369d6de66f1e3de48ca19281cf72bd05a89e97bde9697b8c6830b5a2882572
|
|
BLAKE2b-256 checksum How to use checksums |
95dee85bc39de0f6d2c3f26fc90e9248b6f070589f20322bf538574897f5f731
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.13
|
Release files / hcrprobedesign-0.3.5-py3-none-any.whl
| Download URL | hcrprobedesign-0.3.5-py3-none-any.whl |
|---|---|
| Size | 41.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60ac13d5df2e6741fce56eaad0d974aa75d76d6c26163bb2fcfc0211d25ebcbb
|
|
BLAKE2b-256 checksum How to use checksums |
4252cf2485f4048f23a156d8726bfd90ba4266106961d753edb7ab8856ca7339
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.13
|