Scanning Operations

Scanning operations systematically tile a sliding window across a sequence, applying a transformation at each position. Every scan produces one output state per window position (or per explicit position list), making them ideal for saturation-style screens. Multiscan variants place multiple non-overlapping windows simultaneously.

All scans share a common interface:

  • pool — the input sequence (or Pool)

  • positions — optional list of window start positions (default: all valid)

  • region — restrict the scan to a tagged region

  • mode'sequential' (left-to-right) or 'random' (shuffled)

import poolparty as pp
pp.init()

Single-window scans

replacement_scan

Replace a sliding window at each position with sequences drawn from an insertion pool.

deletion_scan

Systematically delete a fixed-length window at each position.

insertion_scan

Insert sequences from a pool at each position along the sequence.

shuffle_scan

Shuffle bases within a sliding window at each position.

mutagenize_scan

Apply random point mutations within a sliding window tiling across the sequence.

subseq_scan

Extract the subsequence at each sliding-window position.

Multi-window scans

replacement_multiscan

Place multiple non-overlapping replacement windows simultaneously.

deletion_multiscan

Apply multiple simultaneous deletion windows.

insertion_multiscan

Insert sequences at multiple positions simultaneously.