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.

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.

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.2.4.tar.gz (36.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.2.4-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hcrprobedesign-0.2.4.tar.gz
Algorithm Hash digest
SHA256 d8ca2debb0639708abbab590cb0537de226e6ce772fa7c5d1fa4b0f92bcb1457
MD5 b39f9a1977ee5fc10128c7e749ad9f25
BLAKE2b-256 da6f41a87e448e5aa47a127af2724b83d82e0ecc54d5e147cb7b54ad43ded200

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hcrprobedesign-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6eb6bdefb51c5ae50c0850bda37c00a582369b32733d3e310196848daaaaafba
MD5 d46191e150d397c67b7162067a3760e0
BLAKE2b-256 ee7653d7492728fe1682cc09160690db008584942eb849575486943478324256

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