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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hcrprobedesign-0.2.3.tar.gz
  • Upload date:
  • Size: 36.0 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.3.tar.gz
Algorithm Hash digest
SHA256 dd29c9e2657bb954716ac5c97611f070da742dcb8b4b4a28217dbd3dbfa041fb
MD5 f07c03e1f82f63e80c5bbd13420225b7
BLAKE2b-256 eee0577f4459c7a65f9d0bad3f482600419fb16ae0c51cefa795dc344339be3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hcrprobedesign-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 36.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9624912a3439962050061dfcb77f3c04038099625979536f205c37a9fc533e3f
MD5 5c241d9bace9eaf1007d343990f05a62
BLAKE2b-256 a036ca346b5a467daf4a76285fef9ba1b4eff68dc4403293a26fb857e5ec4658

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