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 .

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:

  • --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 ~/.hcrprobedesign/indices/ 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.1.tar.gz (40.2 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.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hcrprobedesign-0.3.1.tar.gz
  • Upload date:
  • Size: 40.2 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.1.tar.gz
Algorithm Hash digest
SHA256 dbf847675afd34b18428f258e2bb196a340108113ec9d3cf02808e705e8bad2a
MD5 21f13bdf679ed727b048b97697f20f9e
BLAKE2b-256 64bbeac6288d602e88a9c70620dca081c57fc86178a79e90a521e906187dde63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hcrprobedesign-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 41.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48a969c9d256880cfb3c906183ed7a12f4f624d5aff5e9cfa23f93d13eb1d911
MD5 0ec8808e9137df9153197612fcbbb180
BLAKE2b-256 209fc92276c04e6f86d42157b8072274fdce4c058489bbdb7ab186800df31134

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