Skip to main content

Probe Design tool for Hybridization Chain Reaction

Project description

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 (bowtie2 and bowtie2-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 .

Adding a new reference genome

HCRProbeDesign keeps Bowtie2 index paths in HCRconfig.yaml. The buildGenomeIndex utility builds an index and registers it automatically.

buildGenomeIndex --species zebrafish --fasta /path/to/genome.fa --threads 8

Notes:

  • --fasta can be repeated and can point to a directory; all .fa, .fasta, or .fna files inside will be used.
  • By default, indices are written under the package indices/ directory and the config is updated.
  • Use --indices-dir to write indices elsewhere and --config to update a specific config file.
  • Use --force to 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).
  • --idt writes an IDT-friendly TSV for ordering.
  • Bowtie2 genome masking writes a SAM file named {targetName}.sam in the working directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hcrprobedesign-0.3.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hcrprobedesign-0.3.0-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file hcrprobedesign-0.3.0.tar.gz.

File metadata

  • Download URL: hcrprobedesign-0.3.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.10

File hashes

Hashes for hcrprobedesign-0.3.0.tar.gz
Algorithm Hash digest
SHA256 49e463bf8ea2b7c64b83a27e4a27334e7d3d9af71c63e0407a3608d392dbcf31
MD5 34df04de3290832521c7a17e7c249d05
BLAKE2b-256 3b0c2bb41d7eb913325a1ffe213c6e7820bb50e2ced5acaf7000ecb7d94e342a

See more details on using hashes here.

File details

Details for the file hcrprobedesign-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: hcrprobedesign-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.10

File hashes

Hashes for hcrprobedesign-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c598fcf01b9110b81341011754fd1d599a043c2ef058d377ae5a3d4367e2c41e
MD5 bbb645c5842d1bebcbdc7312a96cde2a
BLAKE2b-256 2bdac426f35f3d59cbb483828188cbb18438aeca0ec76fa1962401f4cbb851f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page