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.5.tar.gz (43.0 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.5-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hcrprobedesign-0.3.5.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for hcrprobedesign-0.3.5.tar.gz
Algorithm Hash digest
SHA256 45369d6de66f1e3de48ca19281cf72bd05a89e97bde9697b8c6830b5a2882572
MD5 bcae42008e63be83158c9bf9420cf3d5
BLAKE2b-256 95dee85bc39de0f6d2c3f26fc90e9248b6f070589f20322bf538574897f5f731

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hcrprobedesign-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for hcrprobedesign-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 60ac13d5df2e6741fce56eaad0d974aa75d76d6c26163bb2fcfc0211d25ebcbb
MD5 feed8c0bb938068576fe81834112c8a6
BLAKE2b-256 4252cf2485f4048f23a156d8726bfd90ba4266106961d753edb7ab8856ca7339

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